neulab/tldr huggingface dataset:
--range-start=PATTERN, --range-end=PATTERN Specifies patterns that mark the start and end of a range.  See "MATCHING IN A RANGE OF LINES" for details.
-s  Suppress error messages about nonexistent or unreadable files.  This is taken from fgrep.
-S, --[no]smart-case, --no-smart-case Ignore case in the search strings if PATTERN contains no uppercase characters. This is similar to "smartcase" in the vim text editor. The options overrides -i and -I.
-S is a synonym for --smart-case.
-i always overrides this option.
--sort-files Sorts the found files lexicographically.  Use this if you want your file listings to be deterministic between runs of ack.
--show-types Outputs the filetypes that ack associates with each file.
Works with -f and -g options.
-t TYPE, --type=TYPE, --TYPE Specify the types of files to include in the search.  TYPE is a filetype, like perl or xml.  --type=perl can also be specified as --perl, although this is deprecated.
Type inclusions can be repeated and are ORed together.
See ack --help-types for a list of valid types.
-T TYPE, --type=noTYPE, --noTYPE Specifies the type of files to exclude from the search. --type=noperl can be done as --noperl, although this is deprecated.
If a file is of both type "foo" and "bar", specifying both --type=foo and --type=nobar will exclude the file, because an exclusion takes precedence over an inclusion.
--type-add TYPE:FILTER:ARGS Files with the given ARGS applied to the given FILTER are recognized as being of (the existing) type TYPE.  See also "Defining your own types".
--type-set TYPE:FILTER:ARGS Files with the given ARGS applied to the given FILTER are recognized as being of type TYPE. This replaces an existing definition for type TYPE.  See also "Defining your own types".
--type-del TYPE The filters associated with TYPE are removed from Ack, and are no longer considered for searches.
--[no]underline Turns on underlining of matches, where "underlining" is printing a line of carets under the match.
$ ack -u foo peanuts.txt 17: Come kick the football you fool ^^^          ^^^ 623: Price per square foot ^^^
This is useful if you're dumping the results of an ack run into a text file or printer that doesn't support ANSI color codes.
The setting of underline does not affect highlighting of matches.
-v, --invert-match Invert match: select non-matching lines.
--version Display version and copyright information.
-w, --word-regexp Force PATTERN to match only whole words.
-x  An abbreviation for --files-from=-. The list of files to search are read from standard input, with one line per file.
Note that the list of files is not filtered in any way.  If you add "--type=html" in addition to "-x", the "--type" will be ignored.
-1  Stops after reporting first match of any kind.  This is different from --max-count=1 or -m1, where only one match per file is shown. Also, -1 works with -f and -g, where -m does not.
--thpppt Display the all-important Bill The Cat logo.  Note that the exact spelling of --thpppppt is not important.  It's checked against a regular expression.
--bar Check with the admiral for traps.
--cathy Chocolate, Chocolate, Chocolate!
THE .ackrc FILE The .ackrc file contains command-line options that are prepended to the command line before processing.  Multiple options may live on multiple lines.  Lines beginning with a # are ignored.  A .ackrc might look like this:
# Always sort the files --sort-files
# Always color, even if piping to another program --color
# Use "less -r" as my pager --pager=less -r
Note that arguments with spaces in them do not need to be quoted, as they are not interpreted by the shell. Basically, each line in the .ackrc file is interpreted as one element of @ARGV.
ack looks in several locations for .ackrc files; the searching process is detailed in "ACKRC LOCATION SEMANTICS".  These files are not considered if --noenv is specified on the command line.
Defining your own types ack allows you to define your own types in addition to the predefined types. This is done with command line options that are best put into an .ackrc file - then you do not have to define your types over and over again. In the following examples the options will always be shown on one command line so that they can be easily copy & pasted.
File types can be specified both with the the --type=xxx option, or the file type as an option itself.  For example, if you create a filetype of "cobol", you can specify --type=cobol or simply --cobol.  File types must be at least two characters long.  This is why the C language is --cc and the R language is --rr.
ack --perl foo searches for foo in all perl files. ack --help-types tells you, that perl files are files ending in .pl, .pm, .pod or .t. So what if you would like to include .xs files as well when searching for --perl files? ack --type-add perl:ext:xs --perl foo does this for you. --type-add appends additional extensions to an existing type.
If you want to define a new type, or completely redefine an existing type, then use --type-set. ack --type-set eiffel:ext:e,eiffel defines the type eiffel to include files with the extensions .e or .eiffel. So to search for all eiffel files containing the word Bertrand use ack --type-set eiffel:ext:e,eiffel --eiffel Bertrand.  As usual, you can also write --type=eiffel instead of --eiffel. Negation also works, so --noeiffel excludes all eiffel files from a search. Redefining also works: ack --type-set cc:ext:c,h and .xs files no longer belong to the type cc.
When defining your own types in the .ackrc file you have to use the following:
--type-set=eiffel:ext:e,eiffel
or writing on separate lines
--type-set eiffel:ext:e,eiffel
The following does NOT work in the .ackrc file:
In order to see all currently defined types, use --help-types, e.g.  ack --type-set backup:ext:bak --type-add perl:ext:perl --help-types
In addition to filtering based on extension, ack offers additional filter types.  The generic syntax is --type-set TYPE:FILTER:ARGS; ARGS depends on the value of FILTER.
is:FILENAME is filters match the target filename exactly.  It takes exactly one argument, which is the name of the file to match.
--type-set make:is:Makefile
ext:EXTENSION[,EXTENSION2[,...]] ext filters match the extension of the target file against a list of extensions.  No leading dot is needed for the extensions.
--type-set perl:ext:pl,pm,t
match:PATTERN match filters match the target filename against a regular expression. The regular expression is made case-insensitive for the search.
--type-set make:match:/(gnu)?makefile/
firstlinematch:PATTERN firstlinematch matches the first line of the target file against a regular expression.  Like match, the regular expression is made case insensitive.
--type-add perl:firstlinematch:/perl/
ack allows customization of the colors it uses when presenting matches onscreen.  It uses the colors available in Perl's Term::ANSIColor module, which provides the following listed values. Note that case does not matter when using these values.
There are four different colors ack uses:
Aspect      Option              Env. variable       Default --------    -----------------   ------------------  --------------- filename    --color-filename    ACK_COLOR_FILENAME  black on_yellow match       --color-match       ACK_COLOR_MATCH     bold green line no.    --color-lineno      ACK COLOR_LINENO    bold yellow column no.  --color-colno       ACK COLOR_COLNO     bold yellow
The column number column is only used if the column number is shown because of the --column option.
Colors may be specified by command-line option, such as "ack --color-filename='red on_white'", or by setting an environment variable, such as "ACK_COLOR_FILENAME='red on_white'".  Options for colors can be set in your ACKRC file (See "THE .ackrc FILE").
ack can understand the following colors for the foreground:
black red green yellow blue magenta cyan white
The optional background color is specified by prepending "on_" to one of the foreground colors:
on_black on_red on_green on_yellow on_blue on_magenta on_cyan on_white
Each of the foreground colors can be modified with the following attributes, which may or may not be supported by your terminal:
bold faint italic underline blink reverse concealed
Any combinations of modifiers can be added to the foreground color. If your terminal supports it, and you enjoy visual punishment, you can specify:
ack --color-filename="blink italic underline bold red on_yellow"
For charts of the colors and what they look like, run "ack --help-colors" and "ack --help-rgb-colors".
If the eight standard colors, in their bold, faint and unmodified states, aren't enough for you to choose from, you can also specify colors by their RGB values.  They are specified as "rgbXYZ" where X, Y, and Z are values between 0 and 5 giving the intensity of red, green and blue, respectively.  Therefore, "rgb500" is pure red, "rgb505" is purple, and so on.
Background colors can be specified with the "on_" prefix prepended on an RGB color, so that "on_rgb505" would be a purple background.
The modifier attributes of blink, italic, underscore and so on may or may not work on the RGB colors.
For a chart of the 216 possible RGB colors, run "ack --help-rgb-colors".
For commonly-used ack options, environment variables can make life much easier.  These variables are ignored if --noenv is specified on the command line.
ACKRC Specifies the location of the user's .ackrc file.  If this file doesn't exist, ack looks in the default location.
ACK_COLOR_COLNO Color specification for the column number in ack's output.  By default, the column number is not shown.  You have to enable it with the --column option.  See the section "ack Colors" above.
ACK_COLOR_FILENAME Color specification for the filename in ack's output.  See the section "ack Colors" above.
ACK_COLOR_LINENO Color specification for the line number in ack's output.  See the section "ack Colors" above.
ACK_COLOR_MATCH Color specification for the matched text in ack's output.  See the section "ack Colors" above.
ACK_PAGER Specifies a pager program, such as "more", "less" or "most", to which ack will send its output.
Using "ACK_PAGER" does not suppress grouping and coloring like piping output on the command-line does, except that on Windows ack will assume that "ACK_PAGER" does not support color.
"ACK_PAGER_COLOR" overrides "ACK_PAGER" if both are specified.
ACK_PAGER_COLOR Specifies a pager program that understands ANSI color sequences. Using "ACK_PAGER_COLOR" does not suppress grouping and coloring like piping output on the command-line does.
If you are not on Windows, you never need to use "ACK_PAGER_COLOR".
ACK & OTHER TOOLS Simple vim integration ack integrates easily with the Vim text editor. Set this in your .vimrc to use ack instead of grep:
set grepprg=ack\ -k
That example uses "-k" to search through only files of the types ack knows about, but you may use other default flags. Now you can search with ack and easily step through the results in Vim:
:grep Dumper perllib
Editor integration Many users have integrated ack into their preferred text editors.  For details and links, see <https://beyondgrep.com/more-tools/>.
Shell and Return Code For greater compatibility with grep, ack in normal use returns shell return or exit code of 0 only if something is found and 1 if no match is found.
(Shell exit code 1 is "$?=256" in perl with "system" or backticks.)
The grep code 2 for errors is not used.
If "-f" or "-g" are specified, then 0 is returned if at least one file is found.  If no files are found, then 1 is returned.
If ack gives you output you're not expecting, start with a few simple steps.
Try it with --noenv Your environment variables and .ackrc may be doing things you're not expecting, or forgotten you specified.  Use --noenv to ignore your environment and .ackrc.
Use -f to see what files have been selected for searching Ack's -f was originally added as a debugging tool.  If ack is not finding matches you think it should find, run ack -f to see what files have been selected.  You can also add the "--show-types" options to show the type of each file selected.
Use --dump This lists the ackrc files that are loaded and the options loaded from them.  You may be loading an .ackrc file that you didn't know you were loading.
Ack can load its configuration from many sources.  The following list specifies the sources Ack looks for configuration files; each one that is found is loaded in the order specified here, and each one overrides options set in any of the sources preceding it.  (For example, if I set --sort-files in my user ackrc, and --nosort-files on the command line, the command line takes precedence)
•   Defaults are loaded from App::Ack::ConfigDefaults.  This can be omitted using "--ignore-ack-defaults".
•   Global ackrc
Options are then loaded from the global ackrc.  This is located at "/etc/ackrc" on Unix-like systems.
Under Windows XP and earlier, the global ackrc is at "C:\Documents and Settings\All Users\Application Data\ackrc"
Under Windows Vista/7, the global ackrc is at "C:\ProgramData\ackrc"
The "--noenv" option prevents all ackrc files from being loaded.
•   User ackrc
Options are then loaded from the user's ackrc.  This is located at "$HOME/.ackrc" on Unix-like systems.
Under Windows XP and earlier, the user's ackrc is at "C:\Documents and Settings\$USER\Application Data\ackrc".
Under Windows Vista/7, the user's ackrc is at "C:\Users\$USER\AppData\Roaming\ackrc".
If you want to load a different user-level ackrc, it may be specified with the $ACKRC environment variable.
•   Project ackrc
Options are then loaded from the project ackrc.  The project ackrc is the first ackrc file with the name ".ackrc" or "_ackrc", first searching in the current directory, then the parent directory, then the grandparent directory, etc.  This can be omitted using "--noenv".
•   --ackrc
The "--ackrc" option may be included on the command line to specify an ackrc file that can override all others.  It is consulted even if "--noenv" is present.
•   Command line
Options are then loaded from the command line.
BUGS & ENHANCEMENTS ack is based at GitHub at <https://github.com/beyondgrep/ack3>
Please report any bugs or feature requests to the issues list at Github: <https://github.com/beyondgrep/ack3/issues>.
Please include the operating system that you're using; the output of the command "ack --version"; and any customizations in your .ackrc you may have.
To suggest enhancements, please submit an issue at <https://github.com/beyondgrep/ack3/issues>.  Also read the DEVELOPERS.md file in the ack code repository.
Also, feel free to discuss your issues on the ack mailing list at <https://groups.google.com/group/ack-users>.
Support for and information about ack can be found at:
•   The ack homepage
<https://beyondgrep.com/>
•   Source repository
<https://github.com/beyondgrep/ack3>
•   The ack issues list at Github
<https://github.com/beyondgrep/ack3/issues>
•   The ack announcements mailing list
<https://groups.google.com/group/ack-announcement>
•   The ack users' mailing list
<https://groups.google.com/group/ack-users>
•   The ack development mailing list
There are ack mailing lists and a Slack channel for ack.  See <https://beyondgrep.com/community/> for details.
This is the Frequently Asked Questions list for ack.
Can I stop using grep now? Many people find ack to be better than grep as an everyday tool 99% of the time, but don't throw grep away, because there are times you'll still need it.  For example, you might be looking through huge log files and not using regular expressions.  In that case, grep will probably perform better.
Why isn't ack finding a match in (some file)? First, take a look and see if ack is even looking at the file.  ack is intelligent in what files it will search and which ones it won't, but sometimes that can be surprising.
Use the "-f" switch, with no regex, to see a list of files that ack will search for you.  If your file doesn't show up in the list of files that "ack -f" shows, then ack never looks in it.
Wouldn't it be great if ack did search & replace? No, ack will always be read-only.  Perl has a perfectly good way to do search & replace in files, using the "-i", "-p" and "-n" switches.
You can certainly use ack to select your files to update.  For example, to change all "foo" to "bar" in all PHP files, you can do this from the Unix shell:
$ perl -i -p -e's/foo/bar/g' $(ack -f --php)
Can I make ack recognize .xyz files? Yes!  Please see "Defining your own types" in the ack manual.
Will you make ack recognize .xyz files by default? We might, depending on how widely-used the file format is.
Submit an issue at in the GitHub issue queue at <https://github.com/beyondgrep/ack3/issues>.  Explain what the file format is, where we can find out more about it, and what you have been using in your .ackrc to support it.
Please do not bother creating a pull request.  The code for filetypes is trivial compared to the rest of the process we go through.
Why is it called ack if it's called ack-grep? The name of the program is "ack".  Some packagers have called it "ack- grep" when creating packages because there's already a package out there called "ack" that has nothing to do with this ack.
I suggest you make a symlink named ack that points to ack-grep because one of the crucial benefits of ack is having a name that's so short and simple to type.
To do that, run this with sudo or as root:
ln -s /usr/bin/ack-grep /usr/bin/ack
Alternatively, you could use a shell alias:
# bash/zsh alias ack=ack-grep
# csh alias ack ack-grep
What does ack mean? Nothing.  I wanted a name that was easy to type and that you could pronounce as a single syllable.
Can I do multi-line regexes? No, ack does not support regexes that match multiple lines.  Doing so would require reading in the entire file at a time.
If you want to see lines near your match, use the "--A", "--B" and "--C" switches for displaying context.
Why is ack telling me I have an invalid option when searching for "+foo"? ack treats command line options beginning with "+" or "-" as options; if you would like to search for these, you may prefix your search term with "--" or use the "--match" option.  (However, don't forget that "+" is a regular expression metacharacter!)
Why does "ack '.{40000,}'" fail?  Isn't that a valid regex? The Perl language limits the repetition quantifier to 32K.  You can search for ".{32767}" but not ".{32768}".
Ack does "X" and shouldn't, should it? We try to remain as close to grep's behavior as possible, so when in doubt, see what grep does!  If there's a mismatch in functionality there, please submit an issue to GitHub, and/or bring it up on the ack-users mailing list.
How appropriate to have acknowledgements!
Thanks to everyone who has contributed to ack in any way, including Dan Book, Tomasz Konojacki, Salomon Smeke, M. Scott Ford, Anders Eriksson, H.Merijn Brand, Duke Leto, Gerhard Poul, Ethan Mallove, Marek Kubica, Ray Donnelly, Nikolaj Schumacher, Ed Avis, Nick Morrott, Austin Chamberlin, Varadinsky, Sébastien Feugère, Jakub Wilk, Pete Houston, Stephen Thirlwall, Jonah Bishop, Chris Rebert, Denis Howe, Raúl Gundín, James McCoy, Daniel Perrett, Steven Lee, Jonathan Perret, Fraser Tweedale, Raál Gundán, Steffen Jaeckel, Stephan Hohe, Michael Beijen, Alexandr Ciornii, Christian Walde, Charles Lee, Joe McMahon, John Warwick, David Steinbrunner, Kara Martens, Volodymyr Medvid, Ron Savage, Konrad Borowski, Dale Sedivic, Michael McClimon, Andrew Black, Ralph Bodenner, Shaun Patterson, Ryan Olson, Shlomi Fish, Karen Etheridge, Olivier Mengue, Matthew Wild, Scott Kyle, Nick Hooey, Bo Borgerson, Mark Szymanski, Marq Schneider, Packy Anderson, JR Boyens, Dan Sully, Ryan Niebur, Kent Fredric, Mike Morearty, Ingmar Vanhassel, Eric Van Dewoestine, Sitaram Chamarty, Adam James, Richard Carlsson, Pedro Melo, AJ Schuster, Phil Jackson, Michael Schwern, Jan Dubois, Christopher J. Madsen, Matthew Wickline, David Dyck, Jason Porritt, Jjgod Jiang, Thomas Klausner, Uri Guttman, Peter Lewis, Kevin Riggle, Ori Avtalion, Torsten Blix, Nigel Metheringham, Gábor Szabó, Tod Hagan, Michael Hendricks, Ævar Arnfjörð Bjarmason, Piers Cawley, Stephen Steneker, Elias Lutfallah, Mark Leighton Fisher, Matt Diephouse, Christian Jaeger, Bill Sully, Bill Ricker, David Golden, Nilson Santos F. Jr, Elliot Shank, Merijn Broeren, Uwe Voelker, Rick Scott, Ask Bjørn Hansen, Jerry Gay, Will Coleda, Mike O'Regan, Slaven Rezić, Mark Stosberg, David Alan Pisoni, Adriano Ferreira, James Keenan, Leland Johnson, Ricardo Signes, Pete Krawczyk and Rob Hoelz.
Andy Lester, "<andy at petdance.com>"
COPYRIGHT & LICENSE Copyright 2005-2021 Andy Lester.
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License v2.0.
See https://www.perlfoundation.org/artistic-license-20.html or the LICENSE.md file that comes with the ack distribution.
Konsole(1)                                                            Konsole(1)
Konsole - X terminal emulator for KDE.
Konsole [Qt-options] [KDE-options] [options] [args]
Konsole is an X terminal emulation which provides a command-line interface (CLI) while using the graphical K Desktop Environment. Konsole helps to better organize user's desktop by containing multiple sessions in a single window (a less cluttered desktop).
Konsole advanced features include simple configuration and the ability to use multiple terminal shells in a single window, making for a less cluttered desktop.
Using Konsole, a user can open:
Linux console sessions
Shell sessions
Screen sessions
Midnight Commander file manager sessions
Root console sessions
Root Midnight Commander sessions
User created sessions
These sessions can be renamed to help you keep track of all your shells, or signaled (STOP, CONT, HUP, INT, TERM, KILL).
For more control over konsole, a user can: hide/show the menubar and/or frame; select the size of a konsole window, fonts, color schemes, and key mapping; change location of the scrollbar or hide the scrollbar; change location of the tabbar or hide the tabbar.
All chosen settings can be made the default for forthcoming sessions by saving them.
Konsole specific options: --name <name> Set window class
--ls   Start login shell -T <title> Set the window title
--tn <terminal> Specify terminal type as set in the TERM [xterm] environment variable
--noclose Do not close Konsole when command exits
--nohist Do not save lines in history
--nomenubar Do not display menubar
--notabbar, --notoolbar Do not display tab bar
--noframe Do not display frame
--noscrollbar Do not display scrollbar
--noxft Do not use Xft (anti-aliasing)
--vt_sz CCxLL Terminal size in columns x lines
--noresize Terminal size is fixed
--type <type> Start with given session type
--types List available session types
--keytab <name> Set keytab to 'name'
--keytabs List available keytabs
--profile <name> Start with given session profile
--profiles List available session profiles
--schema <name> | <file>  Set schema to 'name' or use 'file'
--schemas, --schemata List available schemata
--script Enable extended DCOP Qt functions
--workdir <dir> Change working directory to 'dir'
-e <command> [ arguments ] Execute 'command' instead of shell. It also sets the window title and icon name to be the basename of the program being executed if neither -T nor -n are given on the command line.  This must be the last option on the command line.
Arguments: args   Arguments for 'command'
Full user documentation is available through the KDE Help Center.  You can also enter the URL help:/konsole/ directly into konqueror or you can run `khelpcenter help:/konsole/' from the command-line.
Konsole homepage: http://konsole.kde.org/
Kurt V. Hindenburg <kurt.hindenburg@kdemail.net>
Lars Doelle <lars.doelle@on-line.de>
This manual page was written by Ana Beatriz Guerrero Lopez <ana@ekaia.org> for the Debian system (but may be used by others).
MINISIGN(1)                                                          MINISIGN(1)
minisign - A dead simple tool to sign files and verify signatures.
minisign -G [-p pubkey] [-s seckey]
minisign -S [-H] [-x sigfile] [-s seckey] [-c untrusted_comment] [-t trusted_comment] -m file [file ...]
minisign -V [-x sigfile] [-p pubkeyfile | -P pubkey] [-o] [-q] -m file
minisign -R -s seckey -p pubkeyfile
Minisign is a dead simple tool to sign files and verify signatures.
It is portable, lightweight, and uses the highly secure Ed25519 http://ed25519.cr.yp.to/ public-key signature system.
These options control the actions of minisign.
-G     Generate a new key pair
-S     Sign files
-V     Verify that a signature is valid for a given file
-m <file> File to sign/verify
-o     Combined with -V, output the file content after verification
-H     Combined with -S, pre-hash in order to sign large files
-p <pubkeyfile> Public key file (default: ./minisign.pub)
-P <pubkey> Public key, as a base64 string
-s <seckey> Secret key file (default: ~/.minisign/minisign.key)
-x <sigfile> Signature file (default: <file>.minisig)
-c <comment> Add a one-line untrusted comment
-t <comment> Add a one-line trusted comment
-q     Quiet mode, suppress output
-Q     Pretty quiet mode, only print the trusted comment
-R     Recreate a public key file from a secret key file
-f     Force. Combined with -G, overwrite a previous key pair
-v     Display version number
Creating a key pair
minisign -G
The public key is printed and put into the minisign.pub file. The secret key is encrypted and saved as a file named ~/.minisign/minisign.key.
Signing files
$ minisign -Sm myfile.txt $ minisign -Sm myfile.txt myfile2.txt *.c
Or to include a comment in the signature, that will be verified and displayed when verifying the file:
$ minisign -Sm myfile.txt -t ´This comment will be signed as well´
The secret key is loaded from ${MINISIGN_CONFIG_DIR}/minisign.key, ~/.minisign/minisign.key, or its path can be explicitly set with the -s <path> command-line switch.
Verifying a file
$ minisign -Vm myfile.txt -P <pubkey>
$ minisign -Vm myfile.txt -p signature.pub
This requires the signature myfile.txt.minisig to be present in the same directory.
The public key can either reside in a file (./minisign.pub by default) or be directly specified on the command line.
Notes Trusted comments
Signature files include an untrusted comment line that can be freely modified, even after signature creation.
They also include a second comment line, that cannot be modified without the secret key.
Trusted comments can be used to add instructions or application-specific metadata (intended file name, timestamps, resource identifiers, version numbers to prevent downgrade attacks).
Compatibility with OpenBSD signify
Signatures written by minisign can be verified using OpenBSD´s signify tool: public key files and signature files are compatible.
However, minisign uses a slightly different format to store secret keys.
Minisign signatures include trusted comments in addition to untrusted comments. Trusted comments are signed, thus verified, before being displayed.
This adds two lines to the signature files, that signify silently ignores.
Pre-hashing
By default, signing and verification require as much memory as the size of the file.
Since Minisign 0.6, huge files can be signed and verified with very low memory requirements, by pre-hashing the content.
The -H command-line switch, in combination with -S, generates a pre-hashed signature (HashEdDSA):
$ minisign -SHm myfile.txt
Verification of such a signature doesn´t require any specific switch: the appropriate algorithm will automatically be detected.
Signatures generated that way are not compatible with OpenBSD´s signify tool and are not compatible with Minisign versions prior to 0.6.
Frank Denis (github [at] pureftpd [dot] org)
IPFS(8)                      System Manager's Manual                     IPFS(8)
ipfs - saves and restores information for NAT and state tables.
ipfs [-nv] -l
ipfs [-nv] -u
ipfs [-nv] [ -d <dirname> ] -R
ipfs [-nv] [ -d <dirname> ] -W
ipfs [-nNSv] [ -f <filename> ] -r
ipfs [-nNSv] [ -f <filename> ] -w
ipfs [-nNSv] -f <filename> -i <if1>,<if2>
ipfs allows state information created for NAT entries and rules using keep state to be locked (modification prevented) and then saved to disk, allowing for the system to experience a reboot, followed by the restoration of that information, resulting in connections not being interrupted.
-d     Change the default directory used with -R and -W options for saving state information.
-n     Don't actually take any action that would affect information stored in the kernel or on disk.
-v     Provides a verbose description of what's being done.
-i <ifname1>,<ifname2> Change all instances of interface name ifname1 in the state save file to ifname2.  Useful if you're restoring state information after a hardware reconfiguration or change.
-N     Operate on NAT information.
-S     Operate on filtering state information.
-u     Unlock state tables in the kernel.
-l     Lock state tables in the kernel.
-r     Read information in from the specified file and load it into the kernel.  This requires the state tables to have already been locked and does not change the lock once complete.
-w     Write information out to the specified file and from the kernel. This requires the state tables to have already been locked and does not change the lock once complete.
-R     Restores all saved state information, if any, from two files, ipstate.ipf and ipnat.ipf, stored in the /var/db/ipf directory unless otherwise specified by the -d option.  The state tables are locked at the beginning of this operation and unlocked once complete.
-W     Saves in-kernel state information, if any, out to two files, ipstate.ipf and ipnat.ipf, stored in the /var/db/ipf directory unless otherwise specified by the -d option.  The state tables are locked at the beginning of this operation and unlocked once complete.
/var/db/ipf/ipstate.ipf /var/db/ipf/ipnat.ipf /dev/ipl /dev/ipstate /dev/ipnat
ipf(8), ipl(4), ipmon(8), ipnat(8)
Perhaps the -W and -R operations should set the locking but rather than undo it, restore it to what it was previously.  Fragment table information is currently not saved.
If you find any, please send email to me at darrenr@pobox.com
gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro] [-foption...] [-mmachine-option...] [-o outfile] [@file] infile...
In Apple's version of GCC, both cc and gcc are actually symbolic links to a compiler named like gcc-version.  Similarly, c++ and g++ are links to a compiler named like g++-version.
Note that Apple's GCC includes a number of extensions to standard GCC (flagged below with "APPLE ONLY"), and that not all generic GCC options are available or supported on Darwin / Mac OS X.  In particular, Apple does not currently support the compilation of Fortran, Ada, or Java, although there are third parties who have made these work.
Other options are passed on to one stage of processing.  Some options control the preprocessor and others the compiler itself.  Yet other options control the assembler and linker; most of these are not documented here, since you rarely need to use any of them.
Most of the command line options that you can use with GCC are useful for C programs; when an option is only useful with another language (usually C++), the explanation says so explicitly.  If the description for a particular option does not mention a source language, you can use that option with all supported languages.
The gcc program accepts options and file names as operands.  Many options have multi-letter names; therefore multiple single-letter options may not be grouped: -dr is very different from -d -r.
You can mix options and other arguments.  For the most part, the order you use doesn't matter.  Order does matter when you use several options of the same kind; for example, if you specify -L more than once, the directories are searched in the order specified.
Many options have long names starting with -f or with -W---for example, -fmove-loop-invariants, -Wformat and so on.  Most of these have both positive and negative forms; the negative form of -ffoo would be -fno-foo.  This manual documents only one of these two forms, whichever one is not the default.
Overall Options -c  -S  -E  -o file  -combine  -no-canonical-prefixes -pipe -pass-exit-codes -ObjC (APPLE ONLY) -ObjC++ (APPLE ONLY) -arch arch (APPLE ONLY) -Xarch_arch option (APPLE ONLY) -fsave-repository=file -x language  -v  -###  --help  --target-help  --version @file
C Language Options -ansi  -std=standard  -fgnu89-inline -aux-info filename -faltivec (APPLE ONLY) -fasm-blocks (APPLE ONLY) -fno-asm -fno-blocks -fno-builtin  -fno-builtin-function -fhosted  -ffreestanding -fopenmp -fms-extensions -trigraphs  -no-integrated-cpp  -traditional -traditional-cpp -fallow-single-precision  -fcond-mismatch -flax-vector-conversions -fconstant-cfstrings (APPLE ONLY) -fnon-lvalue-assign (APPLE ONLY) -fno-nested-functions -fpch-preprocess (APPLE ONLY) -fsigned-bitfields  -fsigned-char -Wno-#warnings (APPLE ONLY) -Wextra-tokens (APPLE ONLY) -Wnewline-eof (APPLE ONLY) -Wno-altivec-long-deprecated (APPLE ONLY) -fglobal-alloc-prefer-bytes (APPLE ONLY) -fno-global-alloc-prefer-bytes (APPLE ONLY) -funsigned-bitfields -funsigned-char  -fwritable-strings
C++ Language Options -fabi-version=n  -fno-access-control  -fcheck-new -fconserve-space -ffriend-injection -fno-elide-constructors -fno-enforce-eh-specs -ffor-scope  -fno-for-scope  -fno-gnu-keywords -fno-implicit-templates -fno-implicit-inline-templates -fno-implement-inlines  -fms-extensions -fno-nonansi-builtins -fno-operator-names -fno-optional-diags  -fpermissive -frepo -fno-rtti  -fstats  -ftemplate-depth-n -fno-threadsafe-statics -fuse-cxa-atexit  -fno-weak  -nostdinc++ -fno-default-inline -fvisibility-inlines-hidden -fvisibility-ms-compat -Wabi -Wctor-dtor-privacy -Wnon-virtual-dtor  -Wreorder -Weffc++ -Wno-deprecated  -Wstrict-null-sentinel -Wno-non-template-friend -Wold-style-cast -Woverloaded-virtual  -Wno-pmf-conversions -Wsign-promo
Objective-C and Objective-C++ Language Options -fconstant-string-class=class-name -fgnu-runtime  -fnext-runtime -fno-nil-receivers -fobjc-call-cxx-cdtors -fobjc-direct-dispatch -fobjc-sjlj-exceptions -fobjc-gc -freplace-objc-classes -fzero-link -gen-decls -Wassign-intercept -Wno-protocol  -Wselector -Wno-property-assign-default -Wstrict-selector-match -Wundeclared-selector
Language Independent Options -fmessage-length=n -fdiagnostics-show-location=[once|every-line] -fdiagnostics-show-option
Warning Options -fsyntax-only  -pedantic  -pedantic-errors -w  -Wextra  -Wall -Waddress  -Waggregate-return -Wno-attributes -Wc++-compat -Wcast-align  -Wcast-qual  -Wchar-subscripts  -Wcomment -Wconversion -Wno-deprecated-declarations -Wdisabled-optimization -Wno-div-by-zero  -Wno-endif-labels -Werror  -Werror=* -Werror-implicit-function-declaration -Wfatal-errors  -Wfloat-equal -Wno-format  -Wformat=2 -Wno-format-extra-args -Wformat-nonliteral -Wno-format-security  -Wformat-y2k -Wglobal-constructors -Wimplicit -Wimplicit-function-declaration  -Wimplicit-int -Wimport  -Wno-import -Winit-self  -Winline -Wno-int-to-pointer-cast -Wno-invalid-offsetof -Winvalid-pch -Wlarger-than-len  -Wunsafe-loop-optimizations -Wlong-long -Wmain  -Wmissing-braces  -Wmissing-field-initializers -Wmissing-format-attribute  -Wmissing-include-dirs -Wmissing-noreturn -Wmissing-prototypes -Wmost (APPLE ONLY) -Wno-multichar  -Wnonnull -Wno-overflow -Woverlength-strings  -Wpacked  -Wpadded -Wparentheses -Wpointer-arith  -Wno-pointer-to-int-cast -Wredundant-decls -Wreturn-type  -Wsequence-point  -Wshadow -Wsign-compare -Wstack-protector -Wstrict-aliasing -Wstrict-aliasing=2 -Wstrict-overflow -Wstrict-overflow=n -Wswitch  -Wswitch-default -Wswitch-enum -Wsystem-headers  -Wtrigraphs  -Wundef  -Wuninitialized -Wunknown-pragmas  -Wno-pragmas -Wunreachable-code -Wunused -Wunused-function  -Wunused-label  -Wunused-parameter -Wunused-value -Wunused-variable  -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings
C-only Warning Options -Wbad-function-cast  -Wmissing-declarations -Wnested-externs -Wold-style-definition -Wstrict-prototypes  -Wtraditional -Wdeclaration-after-statement -Wno-discard-qual -Wno-pointer-sign
Debugging Options -dletters  -dumpspecs  -dumpmachine  -dumpversion -fdump-noaddr -fdump-unnumbered  -fdump-translation-unit[-n] -fdump-class-hierarchy[-n] -fdump-ipa-all -fdump-ipa-cgraph -fdump-tree-all -fdump-tree-original[-n] -fdump-tree-optimized[-n] -fdump-tree-inlined[-n] -fdump-tree-cfg -fdump-tree-vcg -fdump-tree-alias -fdump-tree-ch -fdump-tree-ssa[-n] -fdump-tree-pre[-n] -fdump-tree-ccp[-n] -fdump-tree-dce[-n] -fdump-tree-gimple[-raw] -fdump-tree-mudflap[-n] -fdump-tree-dom[-n] -fdump-tree-dse[-n] -fdump-tree-phiopt[-n] -fdump-tree-forwprop[-n] -fdump-tree-copyrename[-n] -fdump-tree-nrv -fdump-tree-vect -fdump-tree-sink -fdump-tree-sra[-n] -fdump-tree-salias -fdump-tree-fre[-n] -fdump-tree-vrp[-n] -ftree-vectorizer-verbose=n -fdump-tree-storeccp[-n] -flimit-debug-info -feliminate-dwarf2-dups -feliminate-unused-debug-types -feliminate-unused-debug-symbols -femit-class-debug-always -fmem-report -fopt-diary -fprofile-arcs -frandom-seed=string -fsched-verbose=n -ftest-coverage  -ftime-report -fvar-tracking -g  -glevel  -gcoff -gdwarf-2 -ggdb  -gstabs  -gstabs+ -gvms  -gxcoff  -gxcoff+ -p  -pg  -print-file-name=library -print-libgcc-file-name -print-multi-directory  -print-multi-lib -print-prog-name=program  -print-search-dirs  -Q -mllvm string -save-temps  -time
Optimization Options -falign-functions=n  -falign-jumps=n -falign-labels=n -falign-loops=n -falign-loops-max-skip=n -falign-jumps-max-skip=n -fbounds-check -fmudflap -fmudflapth -fmudflapir -fbranch-probabilities -fprofile-values -fvpt -fbranch-target-load-optimize -fbranch-target-load-optimize2 -fbtr-bb-exclusive -fcaller-saves  -fcprop-registers -fcreate-profile -fcse-follow-jumps -fcse-skip-blocks -fcx-limited-range  -fdata-sections -fdelayed-branch -fdelete-null-pointer-checks -fearly-inlining -fexpensive-optimizations  -ffast-math  -ffloat-store -fforce-addr -ffunction-sections -fgcse  -fgcse-lm  -fgcse-sm  -fgcse-las -fgcse-after-reload -fcrossjumping  -fif-conversion  -fif-conversion2 -finline-functions  -finline-functions-called-once -finline-limit=n -fkeep-inline-functions -fkeep-static-consts -flocal-alloc (APPLE ONLY) -fmerge-constants  -fmerge-all-constants -fmodulo-sched -fno-branch-count-reg -fno-default-inline  -fno-defer-pop -fmove-loop-invariants -fno-function-cse -fno-guess-branch-probability -fno-inline  -fno-math-errno -fno-peephole  -fno-peephole2 -funsafe-math-optimizations -funsafe-loop-optimizations  -ffinite-math-only -fno-toplevel-reorder -fno-trapping-math  -fno-zero-initialized-in-bss -mstackrealign -fomit-frame-pointer  -foptimize-register-move -foptimize-sibling-calls  -fprefetch-loop-arrays -fprofile-generate -fprofile-use -fregmove  -frename-registers -freorder-blocks -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -frounding-math -frtl-abstract-sequences -fschedule-insns  -fschedule-insns2 -fno-sched-interblock -fno-sched-spec  -fsched-spec-load -fsched-spec-load-dangerous -fsched-stalled-insns=n -fsched-stalled-insns-dep=n -fsched2-use-superblocks -fsched2-use-traces -fsee -freschedule-modulo-scheduled-loops -fsection-anchors -fsignaling-nans  -fsingle-precision-constant -fstack-protector -fstack-protector-all -fstrict-aliasing  -fstrict-overflow  -ftracer -fthread-jumps -funroll-all-loops  -funroll-loops  -fpeel-loops -fsplit-ivs-in-unroller -funswitch-loops -fvariable-expansion-in-unroller -ftree-pre  -ftree-ccp  -ftree-dce -ftree-loop-optimize -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts -ftree-dominator-opts -ftree-dse -ftree-copyrename -ftree-sink -ftree-ch -ftree-sra -ftree-ter -ftree-lrs -ftree-fre -ftree-vectorize -ftree-vect-loop-version -ftree-salias -fuse-profile -fipa-pta -fweb -ftree-copy-prop -ftree-store-ccp -ftree-store-copy-prop -fwhole-program --param name=value -flto (APPLE ONLY) -O  -O0  -O1  -O2  -O3 -O4 (APPLE ONLY) -Os -Oz (APPLE ONLY) -fast (APPLE ONLY)
Preprocessor Options -Aquestion=answer -A-question[=answer] -C  -dD  -dI  -dM  -dN -Dmacro[=defn]  -E  -H -idirafter dir -include file  -imacros file -iprefix file  -iwithprefix dir -iwithprefixbefore dir  -isystem dir -imultilib dir -isysroot dir -iwithsysroot (APPLE ONLY) dir -M  -MM -MF  -MG  -MP  -MQ  -MT  -nostdinc -P  -fworking-directory  -remap -trigraphs  -undef  -Umacro  -Wp,option -Xpreprocessor option
Assembler Option -Wa,option  -Xassembler option
Linker Options object-file-name  -llibrary -nostartfiles  -nodefaultlibs  -nostdlib -pie -rdynamic -s  -static  -static-libgcc  -shared  -shared-libgcc -symbolic -Wl,option  -Xlinker option -u symbol
Directory Options -Bprefix  -Idir  -iquotedir  -Ldir -specs=file  -I- --sysroot=dir
Target Options -V version  -b machine
Machine Dependent Options ARM Options -mapcs-frame  -mno-apcs-frame -mabi=name -mapcs-stack-check  -mno-apcs-stack-check -mapcs-float -mno-apcs-float -mapcs-reentrant  -mno-apcs-reentrant -msched-prolog -mno-sched-prolog -mlittle-endian  -mbig-endian -mwords-little-endian -mfloat-abi=name  -msoft-float  -mhard-float -mfpe -mthumb-interwork  -mno-thumb-interwork -mcpu=name  -march=name -mfpu=name -mstructure-size-boundary=n -mabort-on-noreturn -mlong-calls  -mno-long-calls -msingle-pic-base  -mno-single-pic-base -mpic-register=reg -mnop-fun-dllimport -mcirrus-fix-invalid-insns -mno-cirrus-fix-invalid-insns -mpoke-function-name -mthumb  -marm -mtpcs-frame  -mtpcs-leaf-frame -mcaller-super-interworking -mcallee-super-interworking -mtp=name -mms-bitfields -mno-ms-bitfields
CRX Options -mmac -mpush-args
Darwin Options -all_load  -allowable_client  -arch -arch_errors_fatal -arch_only  -bind_at_load  -bundle  -bundle_loader -client_name  -compatibility_version  -current_version -dead_strip -dependency-file  -dylib_file  -dylinker_install_name -dynamic -dynamiclib  -exported_symbols_list -filelist  -flat_namespace -force_cpusubtype_ALL -force_flat_namespace  -force_load -headerpad_max_install_names -iframework -image_base  -init -install_name  -keep_private_externs -multi_module  -multiply_defined -multiply_defined_unused -noall_load   -no_dead_strip_inits_and_terms -nofixprebinding -nomultidefs  -noprebind  -noseglinkedit -pagezero_size  -prebind  -prebind_all_twolevel_modules -private_bundle  -read_only_relocs  -sectalign -sectobjectsymbols -whyload  -seg1addr -sectcreate  -sectobjectsymbols  -sectorder -segaddr -segs_read_only_addr -segs_read_write_addr -seg_addr_table -seg_addr_table_filename  -seglinkedit -segprot  -segs_read_only_addr -segs_read_write_addr -single_module  -static  -sub_library -sub_umbrella -twolevel_namespace  -umbrella  -undefined -unexported_symbols_list  -weak_reference_mismatches -whatsloaded -F -gused -gfull -mmacosx-version-min=version -miphoneos-version-min=version -mpascal-strings (APPLE ONLY) -mkernel -mone-byte-bool -Xarch_arch
i386 and x86-64 Options -mtune=cpu-type  -march=cpu-type -mfpmath=unit -masm=dialect  -mno-fancy-math-387 -mno-fp-ret-in-387 -msoft-float  -msvr3-shlib -mno-wide-multiply  -mrtd  -malign-double -mpreferred-stack-boundary=num -mmmx  -msse  -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -msse4a -mthreads  -mno-align-stringops -minline-all-stringops -mpush-args  -maccumulate-outgoing-args -m128bit-long-double -m96bit-long-double  -mregparm=num  -msseregparm -mstackrealign -momit-leaf-frame-pointer  -mno-red-zone -mno-tls-direct-seg-refs -mcmodel=code-model -m32  -m64 -mlarge-data-threshold=num -mms-bitfields -mno-ms-bitfields
RS/6000 and PowerPC Options -mcpu=cpu-type -mtune=cpu-type -mpower -mno-power  -mpower2  -mno-power2 -mpowerpc  -mpowerpc64 -mno-powerpc -maltivec  -mno-altivec -mpim-altivec -mno-pim-altivec -mpowerpc-gpopt  -mno-powerpc-gpopt -mpowerpc-gfxopt -mno-powerpc-gfxopt -mmfcrf  -mno-mfcrf  -mpopcntb  -mno-popcntb -mfprnd  -mno-fprnd -mnew-mnemonics  -mold-mnemonics -mfull-toc -mminimal-toc  -mno-fp-in-toc  -mno-sum-in-toc -m64  -m32 -mxl-compat  -mno-xl-compat  -mpe -malign-power  -malign-natural -msoft-float  -mhard-float  -mmultiple  -mno-multiple -mstring -mno-string  -mupdate  -mno-update -mfused-madd  -mno-fused-madd -mbit-align  -mno-bit-align -mstrict-align  -mno-strict-align -mrelocatable -mno-relocatable  -mrelocatable-lib -mno-relocatable-lib -mtoc  -mno-toc  -mlittle  -mlittle-endian -mbig  -mbig-endian -mdynamic-no-pic  -maltivec  -mswdiv -mprioritize-restricted-insns=priority -msched-costly-dep=dependence_type -minsert-sched-nops=scheme -mcall-sysv  -mcall-netbsd -maix-struct-return  -msvr4-struct-return -mabi=abi-type -msecure-plt -mbss-plt -misel -mno-isel -misel=yes -misel=no -mspe -mno-spe -mspe=yes  -mspe=no -mvrsave -mno-vrsave -mmulhw -mno-mulhw -mdlmzb -mno-dlmzb -mfloat-gprs=yes -mfloat-gprs=no -mfloat-gprs=single -mfloat-gprs=double -mprototype -mno-prototype -msim  -mmvme  -mads  -myellowknife  -memb  -msdata -msdata=opt  -mvxworks  -mwindiss  -G num  -pthread -mms-bitfields -mno-ms-bitfields
Code Generation Options -fcall-saved-reg  -fcall-used-reg -ffixed-reg  -fexceptions -fnon-call-exceptions  -funwind-tables -fasynchronous-unwind-tables -finhibit-size-directive  -finstrument-functions -fno-common -fno-ident -fpcc-struct-return  -fpic  -fPIC -fpie -fPIE -fno-jump-tables -freg-struct-return  -fshort-enums -fshort-double -fshort-wchar -fverbose-asm  -fpack-struct[=n]  -fstack-check -fstack-limit-register=reg  -fstack-limit-symbol=sym -fargument-alias -fargument-noalias -fargument-noalias-global -fargument-noalias-anything -fleading-underscore  -ftls-model=model -fwrapv  -fbounds-check -fvisibility
file.c C source code which must be preprocessed.
file.i C source code which should not be preprocessed.
file.ii C++ source code which should not be preprocessed.
file.mi Objective-C source code which should not be preprocessed.
file.mii Objective-C++ source code which should not be preprocessed.
file.h C, C++, Objective-C or Objective-C++ header file to be turned into a precompiled header.
file.cc file.cp file.cxx file.cpp file.CPP file.c++ file.C C++ source code which must be preprocessed.  Note that in .cxx, the last two letters must both be literally x.  Likewise, .C refers to a literal capital C.
file.hh file.H C++ header file to be turned into a precompiled header.
file.f file.for file.FOR Fixed form Fortran source code which should not be preprocessed.
file.F file.fpp file.FPP Fixed form Fortran source code which must be preprocessed (with the traditional preprocessor).
file.f90 file.f95 Free form Fortran source code which should not be preprocessed.
file.F90 file.F95 Free form Fortran source code which must be preprocessed (with the traditional preprocessor).
file.ads Ada source code file which contains a library unit declaration (a declaration of a package, subprogram, or generic, or a generic instantiation), or a library unit renaming declaration (a package, generic, or subprogram renaming declaration).  Such files are also called specs.
file.s Assembler code.  Apple's version of GCC runs the preprocessor on these files as well as those ending in .S.
file.S Assembler code which must be preprocessed.
c  c-header  c-cpp-output c++  c++-header  c++-cpp-output objective-c  objective-c-header  objective-c-cpp-output objective-c++ objective-c++-header objective-c++-cpp-output assembler  assembler-with-cpp ada f95  f95-cpp-input java treelang
-ObjC -ObjC++ These are similar in effect to -x objective-c and -x objective-c++, but affect only the choice of compiler for files already identified as source files.  (APPLE ONLY)
-arch arch Compile for the specified target architecture arch.  The allowable values are i386, x86_64, ppc and ppc64.  Multiple options work, and direct the compiler to produce "universal" binaries including object code for each architecture specified with -arch.  This option only works if assembler and libraries are available for each architecture specified.  (APPLE ONLY)
-Xarch_arch option Apply option to the command line for architecture arch.  This is useful for specifying an option that should only apply to one architecture when building a "universal" binary.  (APPLE ONLY)
-fsave-repository=file Save debug info in separate object file.  This is available only while building PCH in -gfull mode.
-pass-exit-codes Normally the gcc program will exit with the code of 1 if any phase of the compiler returns a non-success return code.  If you specify -pass-exit-codes, the gcc program will instead return with numerically highest error produced by any phase that returned an error indication.  The C, C++, and Fortran frontends return 4, if an internal compiler error is encountered.
Input files which don't require preprocessing are ignored.