neulab/tldr huggingface dataset:
-mmemcpy-strategy=strategy Override the internal decision heuristic to decide if "__builtin_memcpy" should be inlined and what inline algorithm to use when the expected size of the copy operation is known. strategy is a comma-separated list of alg:max_size:dest_align triplets.  alg is specified in -mstringop-strategy, max_size specifies the max byte size with which inline algorithm alg is allowed.  For the last triplet, the max_size must be "-1". The max_size of the triplets in the list must be specified in increasing order.  The minimal byte size for alg is 0 for the first triplet and "max_size + 1" of the preceding range.
-mmemset-strategy=strategy The option is similar to -mmemcpy-strategy= except that it is to control "__builtin_memset" expansion.
-momit-leaf-frame-pointer Don't keep the frame pointer in a register for leaf functions.  This avoids the instructions to save, set up, and restore frame pointers and makes an extra register available in leaf functions.  The option -fomit-leaf-frame-pointer removes the frame pointer for leaf functions, which might make debugging harder.
-mtls-direct-seg-refs -mno-tls-direct-seg-refs Controls whether TLS variables may be accessed with offsets from the TLS segment register (%gs for 32-bit, %fs for 64-bit), or whether the thread base pointer must be added.  Whether or not this is valid depends on the operating system, and whether it maps the segment to cover the entire TLS area.
For systems that use the GNU C Library, the default is on.
-msse2avx -mno-sse2avx Specify that the assembler should encode SSE instructions with VEX prefix.  The option -mavx turns this on by default.
-mfentry -mno-fentry If profiling is active (-pg), put the profiling counter call before the prologue.  Note: On x86 architectures the attribute "ms_hook_prologue" isn't possible at the moment for -mfentry and -pg.
-mrecord-mcount -mno-record-mcount If profiling is active (-pg), generate a __mcount_loc section that contains pointers to each profiling call. This is useful for automatically patching and out calls.
-mnop-mcount -mno-nop-mcount If profiling is active (-pg), generate the calls to the profiling functions as NOPs. This is useful when they should be patched in later dynamically. This is likely only useful together with -mrecord-mcount.
-minstrument-return=type Instrument function exit in -pg -mfentry instrumented functions with call to specified function. This only instruments true returns ending with ret, but not sibling calls ending with jump. Valid types are none to not instrument, call to generate a call to __return__, or nop5 to generate a 5 byte nop.
-mrecord-return -mno-record-return Generate a __return_loc section pointing to all return instrumentation code.
-mfentry-name=name Set name of __fentry__ symbol called at function entry for -pg -mfentry functions.
-mfentry-section=name Set name of section to record -mrecord-mcount calls (default __mcount_loc).
-mskip-rax-setup -mno-skip-rax-setup When generating code for the x86-64 architecture with SSE extensions disabled, -mskip-rax-setup can be used to skip setting up RAX register when there are no variable arguments passed in vector registers.
Warning: Since RAX register is used to avoid unnecessarily saving vector registers on stack when passing variable arguments, the impacts of this option are callees may waste some stack space, misbehave or jump to a random location.  GCC 4.4 or newer don't have those issues, regardless the RAX register value.
-m8bit-idiv -mno-8bit-idiv On some processors, like Intel Atom, 8-bit unsigned integer divide is much faster than 32-bit/64-bit integer divide.  This option generates a run-time check.  If both dividend and divisor are within range of 0 to 255, 8-bit unsigned integer divide is used instead of 32-bit/64-bit integer divide.
-mavx256-split-unaligned-load -mavx256-split-unaligned-store Split 32-byte AVX unaligned load and store.
-mstack-protector-guard=guard -mstack-protector-guard-reg=reg -mstack-protector-guard-offset=offset Generate stack protection code using canary at guard.  Supported locations are global for global canary or tls for per-thread canary in the TLS block (the default).  This option has effect only when -fstack-protector or -fstack-protector-all is specified.
With the latter choice the options -mstack-protector-guard-reg=reg and -mstack-protector-guard-offset=offset furthermore specify which segment register (%fs or %gs) to use as base register for reading the canary, and from what offset from that base register.  The default for those is as specified in the relevant ABI.
-mgeneral-regs-only Generate code that uses only the general-purpose registers.  This prevents the compiler from using floating-point, vector, mask and bound registers.
-mindirect-branch=choice Convert indirect call and jump with choice.  The default is keep, which keeps indirect call and jump unmodified.  thunk converts indirect call and jump to call and return thunk.  thunk-inline converts indirect call and jump to inlined call and return thunk. thunk-extern converts indirect call and jump to external call and return thunk provided in a separate object file.  You can control this behavior for a specific function by using the function attribute "indirect_branch".
Note that -mcmodel=large is incompatible with -mindirect-branch=thunk and -mindirect-branch=thunk-extern since the thunk function may not be reachable in the large code model.
Note that -mindirect-branch=thunk-extern is compatible with -fcf-protection=branch since the external thunk can be made to enable control-flow check.
-mfunction-return=choice Convert function return with choice.  The default is keep, which keeps function return unmodified.  thunk converts function return to call and return thunk.  thunk-inline converts function return to inlined call and return thunk.  thunk-extern converts function return to external call and return thunk provided in a separate object file. You can control this behavior for a specific function by using the function attribute "function_return".
Note that -mindirect-return=thunk-extern is compatible with -fcf-protection=branch since the external thunk can be made to enable control-flow check.
Note that -mcmodel=large is incompatible with -mfunction-return=thunk and -mfunction-return=thunk-extern since the thunk function may not be reachable in the large code model.
-mindirect-branch-register Force indirect call and jump via register.
These -m switches are supported in addition to the above on x86-64 processors in 64-bit environments.
-m32 -m64 -mx32 -m16 -miamcu Generate code for a 16-bit, 32-bit or 64-bit environment.  The -m32 option sets "int", "long", and pointer types to 32 bits, and generates code that runs on any i386 system.
The -m64 option sets "int" to 32 bits and "long" and pointer types to 64 bits, and generates code for the x86-64 architecture.  For Darwin only the -m64 option also turns off the -fno-pic and -mdynamic-no-pic options.
The -mx32 option sets "int", "long", and pointer types to 32 bits, and generates code for the x86-64 architecture.
The -m16 option is the same as -m32, except for that it outputs the ".code16gcc" assembly directive at the beginning of the assembly output so that the binary can run in 16-bit mode.
The -miamcu option generates code which conforms to Intel MCU psABI. It requires the -m32 option to be turned on.
-mno-red-zone Do not use a so-called "red zone" for x86-64 code.  The red zone is mandated by the x86-64 ABI; it is a 128-byte area beyond the location of the stack pointer that is not modified by signal or interrupt handlers and therefore can be used for temporary data without adjusting the stack pointer.  The flag -mno-red-zone disables this red zone.
-mcmodel=small Generate code for the small code model: the program and its symbols must be linked in the lower 2 GB of the address space.  Pointers are 64 bits.  Programs can be statically or dynamically linked.  This is the default code model.
-mcmodel=kernel Generate code for the kernel code model.  The kernel runs in the negative 2 GB of the address space.  This model has to be used for Linux kernel code.
-mcmodel=medium Generate code for the medium model: the program is linked in the lower 2 GB of the address space.  Small symbols are also placed there.  Symbols with sizes larger than -mlarge-data-threshold are put into large data or BSS sections and can be located above 2GB. Programs can be statically or dynamically linked.
-mcmodel=large Generate code for the large model.  This model makes no assumptions about addresses and sizes of sections.
-maddress-mode=long Generate code for long address mode.  This is only supported for 64-bit and x32 environments.  It is the default address mode for 64-bit environments.
-maddress-mode=short Generate code for short address mode.  This is only supported for 32-bit and x32 environments.  It is the default address mode for 32-bit and x32 environments.
-mneeded -mno-needed Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property for Linux target to indicate the micro-architecture ISA level required to execute the binary.
x86 Windows Options
These additional options are available for Microsoft Windows targets:
-mconsole This option specifies that a console application is to be generated, by instructing the linker to set the PE header subsystem type required for console applications.  This option is available for Cygwin and MinGW targets and is enabled by default on those targets.
-mdll This option is available for Cygwin and MinGW targets.  It specifies that a DLL---a dynamic link library---is to be generated, enabling the selection of the required runtime startup object and entry point.
-mnop-fun-dllimport This option is available for Cygwin and MinGW targets.  It specifies that the "dllimport" attribute should be ignored.
-mthread This option is available for MinGW targets. It specifies that MinGW- specific thread support is to be used.
-municode This option is available for MinGW-w64 targets.  It causes the "UNICODE" preprocessor macro to be predefined, and chooses Unicode- capable runtime startup code.
-mwin32 This option is available for Cygwin and MinGW targets.  It specifies that the typical Microsoft Windows predefined macros are to be set in the pre-processor, but does not influence the choice of runtime library/startup code.
-mwindows This option is available for Cygwin and MinGW targets.  It specifies that a GUI application is to be generated by instructing the linker to set the PE header subsystem type appropriately.
-fno-set-stack-executable This option is available for MinGW targets. It specifies that the executable flag for the stack used by nested functions isn't set. This is necessary for binaries running in kernel mode of Microsoft Windows, as there the User32 API, which is used to set executable privileges, isn't available.
-fwritable-relocated-rdata This option is available for MinGW and Cygwin targets.  It specifies that relocated-data in read-only section is put into the ".data" section.  This is a necessary for older runtimes not supporting modification of ".rdata" sections for pseudo-relocation.
-mpe-aligned-commons This option is available for Cygwin and MinGW targets.  It specifies that the GNU extension to the PE file format that permits the correct alignment of COMMON variables should be used when generating code. It is enabled by default if GCC detects that the target assembler found during configuration supports the feature.
See also under x86 Options for standard options.
Xstormy16 Options
These options are defined for Xstormy16:
Xtensa Options
These options are supported for Xtensa targets:
-mconst16 -mno-const16 Enable or disable use of "CONST16" instructions for loading constant values.  The "CONST16" instruction is currently not a standard option from Tensilica.  When enabled, "CONST16" instructions are always used in place of the standard "L32R" instructions.  The use of "CONST16" is enabled by default only if the "L32R" instruction is not available.
-mfused-madd -mno-fused-madd Enable or disable use of fused multiply/add and multiply/subtract instructions in the floating-point option.  This has no effect if the floating-point option is not also enabled.  Disabling fused multiply/add and multiply/subtract instructions forces the compiler to use separate instructions for the multiply and add/subtract operations.  This may be desirable in some cases where strict IEEE 754-compliant results are required: the fused multiply add/subtract instructions do not round the intermediate result, thereby producing results with more bits of precision than specified by the IEEE standard.  Disabling fused multiply add/subtract instructions also ensures that the program output is not sensitive to the compiler's ability to combine multiply and add/subtract operations.
-mserialize-volatile -mno-serialize-volatile When this option is enabled, GCC inserts "MEMW" instructions before "volatile" memory references to guarantee sequential consistency. The default is -mserialize-volatile.  Use -mno-serialize-volatile to omit the "MEMW" instructions.
-mforce-no-pic For targets, like GNU/Linux, where all user-mode Xtensa code must be position-independent code (PIC), this option disables PIC for compiling kernel code.
-mtext-section-literals -mno-text-section-literals These options control the treatment of literal pools.  The default is -mno-text-section-literals, which places literals in a separate section in the output file.  This allows the literal pool to be placed in a data RAM/ROM, and it also allows the linker to combine literal pools from separate object files to remove redundant literals and improve code size.  With -mtext-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.  Literals for each function are placed right before that function.
-mauto-litpools -mno-auto-litpools These options control the treatment of literal pools.  The default is -mno-auto-litpools, which places literals in a separate section in the output file unless -mtext-section-literals is used.  With -mauto-litpools the literals are interspersed in the text section by the assembler.  Compiler does not produce explicit ".literal" directives and loads literals into registers with "MOVI" instructions instead of "L32R" to let the assembler do relaxation and place literals as necessary.  This option allows assembler to create several literal pools per function and assemble very big functions, which may not be possible with -mtext-section-literals.
-mtarget-align -mno-target-align When this option is enabled, GCC instructs the assembler to automatically align instructions to reduce branch penalties at the expense of some code density.  The assembler attempts to widen density instructions to align branch targets and the instructions following call instructions.  If there are not enough preceding safe density instructions to align a target, no widening is performed. The default is -mtarget-align.  These options do not affect the treatment of auto-aligned instructions like "LOOP", which the assembler always aligns, either by widening density instructions or by inserting NOP instructions.
-mlongcalls -mno-longcalls When this option is enabled, GCC instructs the assembler to translate direct calls to indirect calls unless it can determine that the target of a direct call is in the range allowed by the call instruction.  This translation typically occurs for calls to functions in other source files.  Specifically, the assembler translates a direct "CALL" instruction into an "L32R" followed by a "CALLX" instruction.  The default is -mno-longcalls.  This option should be used in programs where the call target can potentially be out of range.  This option is implemented in the assembler, not the compiler, so the assembly code generated by GCC still shows direct call instructions---look at the disassembled object code to see the actual instructions.  Note that the assembler uses an indirect call for every cross-file call, not just those that really are out of range.
-mabi=name Generate code for the specified ABI.  Permissible values are: call0, windowed.  Default ABI is chosen by the Xtensa core configuration.
-mabi=call0 When this option is enabled function parameters are passed in registers "a2" through "a7", registers "a12" through "a15" are caller-saved, and register "a15" may be used as a frame pointer. When this version of the ABI is enabled the C preprocessor symbol "__XTENSA_CALL0_ABI__" is defined.
-mabi=windowed When this option is enabled function parameters are passed in registers "a10" through "a15", and called function rotates register window by 8 registers on entry so that its arguments are found in registers "a2" through "a7".  Register "a7" may be used as a frame pointer.  Register window is rotated 8 registers back upon return. When this version of the ABI is enabled the C preprocessor symbol "__XTENSA_WINDOWED_ABI__" is defined.
zSeries Options
This section describes several environment variables that affect how GCC operates.  Some of them work by specifying directories or prefixes to use when searching for various kinds of files.  Some are used to specify other aspects of the compilation environment.
Note that you can also specify places to search using options such as -B, -I and -L.  These take precedence over places specified using environment variables, which in turn take precedence over those specified by the configuration of GCC.
LANG LC_CTYPE LC_MESSAGES LC_ALL These environment variables control the way that GCC uses localization information which allows GCC to work with different national conventions.  GCC inspects the locale categories LC_CTYPE and LC_MESSAGES if it has been configured to do so.  These locale categories can be set to any value supported by your installation.  A typical value is en_GB.UTF-8 for English in the United Kingdom encoded in UTF-8.
The LC_CTYPE environment variable specifies character classification. GCC uses it to determine the character boundaries in a string; this is needed for some multibyte encodings that contain quote and escape characters that are otherwise interpreted as a string end or escape.
The LC_MESSAGES environment variable specifies the language to use in diagnostic messages.
If the LC_ALL environment variable is set, it overrides the value of LC_CTYPE and LC_MESSAGES; otherwise, LC_CTYPE and LC_MESSAGES default to the value of the LANG environment variable.  If none of these variables are set, GCC defaults to traditional C English behavior.
TMPDIR If TMPDIR is set, it specifies the directory to use for temporary files.  GCC uses temporary files to hold the output of one stage of compilation which is to be used as input to the next stage: for example, the output of the preprocessor, which is the input to the compiler proper.
GCC_COMPARE_DEBUG Setting GCC_COMPARE_DEBUG is nearly equivalent to passing -fcompare-debug to the compiler driver.  See the documentation of this option for more details.
GCC_EXEC_PREFIX If GCC_EXEC_PREFIX is set, it specifies a prefix to use in the names of the subprograms executed by the compiler.  No slash is added when this prefix is combined with the name of a subprogram, but you can specify a prefix that ends with a slash if you wish.
If GCC_EXEC_PREFIX is not set, GCC attempts to figure out an appropriate prefix to use based on the pathname it is invoked with.
If GCC cannot find the subprogram using the specified prefix, it tries looking in the usual places for the subprogram.
The default value of GCC_EXEC_PREFIX is prefix/lib/gcc/ where prefix is the prefix to the installed compiler. In many cases prefix is the value of "prefix" when you ran the configure script.
Other prefixes specified with -B take precedence over this prefix.
This prefix is also used for finding files such as crt0.o that are used for linking.
In addition, the prefix is used in an unusual way in finding the directories to search for header files.  For each of the standard directories whose name normally begins with /usr/local/lib/gcc (more precisely, with the value of GCC_INCLUDE_DIR), GCC tries replacing that beginning with the specified prefix to produce an alternate directory name.  Thus, with -Bfoo/, GCC searches foo/bar just before it searches the standard directory /usr/local/lib/bar.  If a standard directory begins with the configured prefix then the value of prefix is replaced by GCC_EXEC_PREFIX when looking for header files.
COMPILER_PATH The value of COMPILER_PATH is a colon-separated list of directories, much like PATH.  GCC tries the directories thus specified when searching for subprograms, if it cannot find the subprograms using GCC_EXEC_PREFIX.
LIBRARY_PATH The value of LIBRARY_PATH is a colon-separated list of directories, much like PATH.  When configured as a native compiler, GCC tries the directories thus specified when searching for special linker files, if it cannot find them using GCC_EXEC_PREFIX.  Linking using GCC also uses these directories when searching for ordinary libraries for the -l option (but directories specified with -L come first).
LANG This variable is used to pass locale information to the compiler. One way in which this information is used is to determine the character set to be used when character literals, string literals and comments are parsed in C and C++.  When the compiler is configured to allow multibyte characters, the following values for LANG are recognized:
C-JIS Recognize JIS characters.
C-SJIS Recognize SJIS characters.
C-EUCJP Recognize EUCJP characters.
If LANG is not defined, or if it has some other value, then the compiler uses "mblen" and "mbtowc" as defined by the default locale to recognize and translate multibyte characters.
GCC_EXTRA_DIAGNOSTIC_OUTPUT If GCC_EXTRA_DIAGNOSTIC_OUTPUT is set to one of the following values, then additional text will be emitted to stderr when fix-it hints are emitted.  -fdiagnostics-parseable-fixits and -fno-diagnostics-parseable-fixits take precedence over this environment variable.
fixits-v1 Emit parseable fix-it hints, equivalent to -fdiagnostics-parseable-fixits.  In particular, columns are expressed as a count of bytes, starting at byte 1 for the initial column.
fixits-v2 As "fixits-v1", but columns are expressed as display columns, as per -fdiagnostics-column-unit=display.
Some additional environment variables affect the behavior of the preprocessor.
CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH Each variable's value is a list of directories separated by a special character, much like PATH, in which to look for header files.  The special character, "PATH_SEPARATOR", is target-dependent and determined at GCC build time.  For Microsoft Windows-based targets it is a semicolon, and for almost all other targets it is a colon.
CPATH specifies a list of directories to be searched as if specified with -I, but after any paths given with -I options on the command line.  This environment variable is used regardless of which language is being preprocessed.
The remaining environment variables apply only when preprocessing the particular language indicated.  Each specifies a list of directories to be searched as if specified with -isystem, but after any paths given with -isystem options on the command line.
In all these variables, an empty element instructs the compiler to search its current working directory.  Empty elements can appear at the beginning or end of a path.  For instance, if the value of CPATH is ":/special/include", that has the same effect as -I. -I/special/include.
DEPENDENCIES_OUTPUT If this variable is set, its value specifies how to output dependencies for Make based on the non-system header files processed by the compiler.  System header files are ignored in the dependency output.
The value of DEPENDENCIES_OUTPUT can be just a file name, in which case the Make rules are written to that file, guessing the target name from the source file name.  Or the value can have the form file target, in which case the rules are written to file file using target as the target name.
In other words, this environment variable is equivalent to combining the options -MM and -MF, with an optional -MT switch too.
SUNPRO_DEPENDENCIES This variable is the same as DEPENDENCIES_OUTPUT (see above), except that system header files are not ignored, so it implies -M rather than -MM.  However, the dependence on the main input file is omitted.
SOURCE_DATE_EPOCH If this variable is set, its value specifies a UNIX timestamp to be used in replacement of the current date and time in the "__DATE__" and "__TIME__" macros, so that the embedded timestamps become reproducible.
The value of SOURCE_DATE_EPOCH must be a UNIX timestamp, defined as the number of seconds (excluding leap seconds) since 01 Jan 1970 00:00:00 represented in ASCII; identical to the output of "date +%s" on GNU/Linux and other systems that support the %s extension in the "date" command.
The value should be a known timestamp such as the last modification time of the source or package and it should be set by the build process.
For instructions on reporting bugs, see <https://bugs.archlinux.org/>.
1.  On some systems, gcc -shared needs to build supplementary stub code for constructors to work.  On multi-libbed systems, gcc -shared must select the correct support libraries to link against.  Failing to supply the correct flags may lead to subtle defects.  Supplying them in cases where they are not necessary is innocuous.
gpl(7), gfdl(7), fsf-funding(7), cpp(1), gcov(1), as(1), ld(1), gdb(1), dbx(1) and the Info entries for gcc, cpp, as, ld, binutils and gdb.
See the Info entry for gcc, or <http://gcc.gnu.org/onlinedocs/gcc/Contributors.html>, for contributors to GCC.
Copyright (c) 1988-2021 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 the Invariant Sections being "GNU General Public License" and "Funding Free Software", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below).  A copy of the license is included in the gfdl(7) man page.
(a) The FSF's Front-Cover Text is:
A GNU Manual
(b) The FSF's Back-Cover Text is:
You have freedom to copy and modify this GNU Manual, like GNU software.  Copies published by the Free Software Foundation raise funds for GNU development.
ant(1)                       General Commands Manual                      ant(1)
ant - a Java based make tool.
ant [OPTIONS] [TARGET [TARGET2 [TARGET3] ...]]
Like make ant is a tool by which projects can be build. But unlike it, ant is based on Java which means it will run on every platform for which a Java Virtual Machine is available. This makes it a great tool for building Java software.
By default it takes information from build.xml which describes the targets.
-help, -h print help on the command line options
-projecthelp, -p print project help information
-version print the version information
-diagnostics print information that might be helpful to diagnose or report problems
-quiet, -q be extra quiet
-silent, -S print nothing but task outputs and build failures
-verbose, -v be extra verbose
-debug, -d print debugging information
-emacs, -e produce logging information without adornments
-lib <path> specifies a path to search for jars and classes
-logfile <file> use the given file to output log to
-logger <classname> use the given class to perform logging
-listener <classname> add an instance of the given class as a project listener
-noinput do not allow interactive input
-buildfile, -file, -f <file> use the given buildfile instead of the default build.xml file. This is the ant equivalent of Makefile
-D<property>=<value> use value for the given property
-keep-going, -k execute all targets that do not depend on failed target(s)
-propertyfile <name> load all properties from file with -D properties taking precedence
-inputhandler <class> the class which will handle input requests
-find, -s <file> search for buildfile towards the root of the filesystem and use it
-nice <number> A niceness value for the main thread: 1 (lowest) to 10 (highest); 5 is the default
-nouserlib Run ant without using the jar files from ${user.home}/.ant/lib
-noclasspath Run ant without using CLASSPATH
-autoproxy Java 5 or later : use the OS proxy settings
-main <class> Override Ant's normal entry point
make(1) mvn(1)
This manpage is written by Egon Willighagen <egonw@sci.kun.nl>
APT-FILE(1)            User Contributed Perl Documentation           APT-FILE(1)
apt-file -- APT package searching utility -- command-line interface
apt-file [options] search pattern
apt-file [options] show package
apt-file is a command line tool for searching files in packages for the APT package management system.
Some actions are required to run the search:
find Alias for search.
list List the contents of a package. This action is very close to the dpkg -L command except the package does not need to be installed or fetched.
By default, the list action interprets its pattern as if --fixed-string was specified.
list-indices List the known Content indices and their status in a human readable format.  These indices can be searched via the -I option (when enabled and after fetching the indices).  The output is subject to change without notice and is therefore unsuited for script usage / automation.
For a machine-readable formats (e.g. automation), please use apt- config dump (search for options starting with Acquire::IndexTargets) and apt-get indextargets for checking the cache (Look for entries with an Identifier field starting with Contents-).
Note that individual sources.list entries can override the global default.  Please consult sources.list(5) for more information on advanced configuration of the sources.list files.
search Search in which package a file is included. A list of all packages containing the pattern pattern is returned.
Since Contents files does not contain directories, the pattern must match (part of a) file name.
By default, the search action interprets its pattern as if --substring-match was specified.
show Alias for list.
update This action that just calls apt update or apt-get update (depending on whether a tty is available).
The only advantage using this over a regular apt update or apt-get update directly is for the case where you have configured an apt-file specific configuration (via the Dir::Etc::apt-file-main configuration option).  In that case, said configuration will be included automatically.
The following options are available:
-a, --architecture architecture[,...] This option is useful if you search a package for a different architecture from the one installed on your system.
It can be a comma-separated list for searching on multiple architectures.
-c, --config-file APT config-file Configuration File; Specify a configuration file to use. The program will read the default configuration file and then this configuration file. If configuration settings need to be set before the default configuration files are parsed specify a file with the APT_CONFIG environment variable. See apt.conf(5) for syntax information.
The configuration file will be read relative to when it appears on the command line and can overwrite options that appear before it.
Note that the config file will also be passed to all APT tools called by apt-file.
-D, --from-deb Use contents of the given .deb archives(s) as patterns.  Useful for searching for file conflicts with other packages.  Implies -F.
-f, --from-file Read patterns from the given file(s), one per line.  Use - as filename for stdin.  If no files are given, then the list will be read from stdin.  This is much faster than invoking apt-file many times.
--filter-origins origin[,...] Only search indices from the listed origins (e.g. "Debian").
This filter matches against the name listed in the Origin field from the Release file.
If set to '*', this filter will be disabled (mostly useful for overriding the setting in a configuration file)
Alias of the APT config option: apt-file::Search-Filter::Origin
--filter-suites suite[,...] Only search indices from the listed suites or codenames (e.g. "unstable").
This filter matches against the name listed in the Codename and Suite fields from the Release file.  This means that either "unstable" or "sid" will match Debian's unstable suite.
Alias of the APT config option: apt-file::Search-Filter::Suite
-F, --fixed-string Do not expand search pattern with generic characters at pattern's start and end.
This is default for show and list actions.
--index-names type[,...], -I type[,...] Only search indexes of the given name(s). If set to the special value ALL (case-sensitive), then all apt-file indices are searched.
The name(s) must match one or more of the identifiers used in the APT configuration (minus leading "Contents-").  Example if the configuration has the following snippets:
Acquire::IndexTargets::deb::Contents-deb { ... }; Acquire::IndexTargets::deb-src::Contents-dsc { ... }; Acquire::IndexTargets::deb::Contents-udeb { ... }; Acquire::IndexTargets::deb::Contents-deb-legacy { # Explicitly named to "Contents-deb" Identifier "Contents-deb"; ...; };
Then, apt-file will recognise "deb", "dsc" and "udeb" as index names.
This option defaults to the value of the "apt-file::Index-Names" apt config option (or "deb" if omitted).
-i, --ignore-case Ignore case when searching for pattern.
-l, --package-only Only display package name; do not display file names.
-o, --option APT::Option=Value Set a Configuration Option; This will set an arbitrary configuration option. The syntax is -o APT::Option=Value.  -o and --option can be used multiple times to set different options.
This option can be used to overwrite other command line options (e.g. "-o apt-file::Search-Filter::Origin=Debian" is effectively the same as "--filter-origins Debian").
Note that the config options passed via this option will also be passed to all APT tools called by apt-file.
--substring-match Match if the given search pattern is a substring of a path or package.
This is default for search and find actions.
-v, --verbose Run apt-file in verbose/debug mode.
-x, --regexp Treat pattern as a (perl) regular expression. See perlreref(1) for details. Without this option, pattern is treated as a literal string to search for.
Be advised that this option can be rather slow.  If performance is an issue, consider giving apt-file non-regex pattern matching too much and pipe the output to perl -ne '/<pattern-here>/'.  This enables apt-file to use more optimizations and leaves less work to the "slower" regex.
-h, --help Display a short help screen.
The apt-file command relies on the APT configuration.  Notably, the default configuration makes apt fetch Contents files by default during a call to apt update.
For information on how to configure APT to fetch more or fewer Contents files, please refer to /usr/share/doc/apt-file/README.md.gz.
The following files are notably interesting:
/etc/apt/apt-file.conf Note this path is actually configurable by changing the value of the APT configuration called "Dir::Etc::apt-file-main".  The listed value is merely the default value of that option.
If this file is present, apt-file will read this file after all default APT configuration files.  Any config file -c or option (-o) will be evaluated before this file (and can override options set in it).
The file will also be passed on to all APT tools called by apt-file.
/etc/apt/apt.conf.d/50apt-file.conf Chooses which Contents files to download.  Note that apt-file recognises only "Acquire" targets that starts with "Contents-".
Special configurations similar to apt-file 2 Here are some apt-file 2 related work flows and how to (almost) emulate them with apt-file 3.  They are documented as a starting point for people, who are attached to these.
The emulation may not be perfect for you out of the box.  Patches are welcome to keep the examples updated as long as the examples remain "trivial".
•   Only make apt-file update fetch Contents files
If you are accustomed to apt update not fetching Contents files, then you can run /usr/share/doc/apt-file/examples/apt-file-2-update.sh. This script will configure apt and apt-file accordingly after best effort.
Please read the resulting /etc/apt/apt-file.conf.
•   Creating/using "user" caches
Previous versions of apt-file had a "--cache" option, which could be used to denote a directory to store the Contents files.  This can be emulated by doing:
# Setup $ mkdir -p ~/.cache/apt-file ~/.config $ touch ~/.cache/apt-file/dpkg-status $ sed '/^Dir::State/ d; /^Dir::Cache/ d;' \ /usr/share/doc/apt-file/examples/apt-file.conf \ > ~/.config/apt-file.conf $ cat <<EOF >> ~/.config/apt-file.conf Dir::State "$HOME/.cache/apt-file"; Dir::Cache "$HOME/.cache/apt-file"; Dir::State::status "$HOME/.cache/apt-file/dpkg-status"; EOF
# Update the cache $ apt-file -c ~/.config/apt-file.conf update
# Search using the cache $ apt-file -c ~/.config/apt-file.conf show apt-file
# Removal of the cache + config $ rm -fr ~/.cache/apt-file ~/.config/apt-file.conf
(You will probably want to add an alias apt-file in your ~/.bashrc)
Please read the resulting ./apt-file-user-cache.conf.
BUGS, QUIRKS There are some known issues or "quirks" that are good to keep in mind.
•   The Contents files do not include a leading slash on paths.  This means that /bin/ls is listed as bin/ls in the Contents file.  If you are looking for something in a top-level directory, it is often better to omit the leading slash.
The search algorithm will attempt to work around the leading slash, but it will not work in all cases.  As a workaround, try to pull the leading slash to the beginning of regular expressions.  For example, use "/(?:usr/bin/vim|sbin/lvm)" instead of  "/usr/bin/vim|/sbin/lvm".
•   When a new line has been added to the sources.list and apt update has not been run, apt-file does not print a warning message.
•   By default, apt-file assumes that Contents files do not include a descriptive header (explaining what the file is and how to interpret it).  However, some tools have generated them with such a header (e.g. for old versions of Contents files for the Debian archive or Contents files generated by reprepro prior to version 5.2.0).
If you search such files, you will want to set apt-file::Parser::Check-For-Description-Header to true (e.g. in /etc/apt/apt.conf.d/50apt-file.conf) to have apt-file properly filter out the headers to avoid false matches.
The reason this is not the default is that it costs a factor 2 in overhead while most common Contents files no longer have the header. (see #881405 for more details).
•   Not all APT repositories have Contents files.  Notably common install media (CDs etc.) may omit them to conserve space.
The default configuration by apt-file marks Contents files as optional and will just silently fail to search in Contents files in such repositories.
apt-file has the following defined exit codes, which can be used for scripting purposes.
0   apt-file returned successfully.  If the command was a search, there was at least one result.
1   apt-file completed a search successfully, but it had no results.
2   An error occurred (including invalid/conflicting user options).
3   apt-file could not complete the command because the cache was empty. Please ensure there are indices enabled in the APT config and run apt update to fetch them.
4   apt-file could not complete the command because the cache does not have any files matching the restrictions.  Either change the restrictions (e.g. --index-names) or configure apt to fetch the relevant files and run apt update.
255 There was an internal errors / uncaught exception in apt-file. Please file a bug against apt-file.
Any other exit code is reserved for future use.
apt(1), apt-cache(8), apt.conf(5)
The APT users guide in /usr/share/doc/apt/
The example config in /usr/share/doc/apt-file/examples
The README at /usr/share/doc/apt-file/README.md.gz
BROTLI(1)                         User commands                        BROTLI(1)
brotli - brotli, unbrotli - compress or decompress files
brotli [OPTION|FILE]...
unbrotli is equivalent to brotli --decompress
brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2-nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.
brotli command line syntax similar to gzip (1) and zstd (1).  Unlike gzip (1), source files are preserved by default. It is possible to remove them after processing by using the --rm option.
Arguments that look like "--name" or "--name=value" are options. Every option has a short form "-x" or "-x value". Multiple short form options could be coalesced:
• "--decompress --stdout --suffix=.b" works the same as
• "-d -s -S .b" and
• "-dsS .b"
brotli has 3 operation modes:
• default mode is compression;
• --decompress option activates decompression mode;
• --test option switches to integrity test mode; this option is equivalent to "--decompress --stdout" except that the decompressed data is discarded instead of being written to standard output.
Every non-option argument is a file entry. If no files are given or file is "-", brotli reads from standard input. All arguments after "--" are file entries.
Unless --stdout or --output is specified, files are written to a new file whose name is derived from the source file name:
• when compressing, a suffix is appended to the source filename to get the target filename
• when decompressing, a suffix is removed from the source filename to get the target filename
Default suffix is .br, but it could be specified with --suffix option.
Conflicting or duplicate options are not allowed.
• -#: compression level (0-9); bigger values cause denser, but slower compression
• -c, --stdout: write on standard output
• -d, --decompress: decompress mode
• -f, --force: force output file overwrite
• -h, --help: display this help and exit
• -j, --rm: remove source file(s); gzip (1)-like behaviour
• -k, --keep: keep source file(s); zstd (1)-like behaviour
• -n, --no-copy-stat: do not copy source file(s) attributes
• -o FILE, --output=FILE output file; valid only if there is a single input entry
• -q NUM, --quality=NUM: compression level (0-11); bigger values cause denser, but slower compression
• -t, --test: test file integrity mode
• -v, --verbose: increase output verbosity
• -w NUM, --lgwin=NUM: set LZ77 window size (0, 10-24) (default: 22); window size is (2**NUM - 16); 0 lets compressor decide over the optimal value; bigger windows size improve density; decoder might require up to window size memory to operate
• -S SUF, --suffix=SUF: output file suffix (default: .br)
• -V, --version: display version and exit
• -Z, --best: use best compression level (default); same as "-q 11"
brotli file format is defined in RFC 7932 https://www.ietf.org/rfc/rfc7932.txt.
brotli is open-sourced under the MIT License https://opensource.org/licenses/MIT.
Mailing list: https://groups.google.com/forum/#!forum/brotli
Report bugs at: https://github.com/google/brotli/issues
asdf(1)                      General Commands Manual                     asdf(1)
asdf, aoeu - Changes keyboard mapping between QWERTY and Dvorak modes
asdf aoeu
asdf changes the keyboard mapping to dvorak, the exact keyboard mappings used being found in the configuration file for asdf and aoeu.  aoeu does the same, except that it is intended to set the keyboard mapping to the QWERTY layout.  Both scripts will operate in a virtual console with kbd and in X with xkb.
/etc/kmap.conf Config file containing the keymaps to be used by asdf and aoeu.
Performs absolutely no error checking whatsoever.
loadkeys(1), setxkbmap(1)
Joseph Carter <knghtbrd@debian.org>
JPEGTRAN(1)                  General Commands Manual                 JPEGTRAN(1)
jpegtran - lossless transformation of JPEG files
jpegtran [ options ] [ filename ]
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.
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.