neulab/tldr huggingface dataset:
This option affects only the display in verbose mode (anything other than source language and target language will be displayed in your home language).  This option has no effect in brief mode.
This option is optional.  When its setting is omitted, English will be used.
This option overrides the setting of environment variables $LC_ALL, $LANG, and $HOME_LANG.
-s CODES, -sl CODES, -source CODES, -from CODES Specify the source language(s) (the language(s) of original text). When specifying two or more language codes, concatenate them by plus sign "+".
This option is optional.  When its setting is omitted, the language of original text will be identified automatically (with a possibility of misidentification).
This option overrides the setting of environment variable $SOURCE_LANG.
-t CODES, -tl CODES, -target CODES, -to CODES Specify the target language(s) (the language(s) of translated text).  When specifying two or more language codes, concatenate them by plus sign "+".
This option is optional.  When its setting is omitted, everything will be translated into English.
This option overrides the setting of environment variables $LC_ALL, $LANG, and $TARGET_LANG.
[SOURCE]:[TARGETS] A simpler, alternative way to specify the source language and target language(s) is to use a shortcut formatted string:
• SOURCE-CODE:TARGET-CODE
• SOURCE-CODE:TARGET-CODE1+TARGET-CODE2+...
• SOURCE-CODE=TARGET-CODE
• SOURCE-CODE=TARGET-CODE1+TARGET-CODE2+...
Delimiter ":" and "=" can be used interchangeably.
Either SOURCE or TARGETS may be omitted, but the delimiter character must be kept.
Text preprocessing options -j, -join-sentence Treat all arguments as one single sentence.
Other options -no-init Do not load any initialization script.
--     End-of-options.
All arguments after this option are treated as TEXT to be translated.
0      Successful translation.
1      Error.
PAGER  Equivalent to option setting -pager.
BROWSER Equivalent to option setting -browser.
PLAYER Equivalent to option setting -player.
HTTP_PROXY Equivalent to option setting -proxy.
USER_AGENT Equivalent to option setting -user-agent.
HOME_LANG Equivalent to option setting -lang.
SOURCE_LANG Equivalent to option setting -source.
TARGET_LANG Equivalent to option setting -target.
/etc/translate-shell Initialization script.  (system-wide)
$HOME/.translate-shell/init.trans Initialization script.  (user-specific)
$XDG_CONFIG_HOME/translate-shell/init.trans Initialization script.  (user-specific)
./.trans Initialization script.  (current directory)
<https://github.com/soimort/translate-shell/wiki>
<https://github.com/soimort/translate-shell/issues>
Mort Yao <soi@mort.ninja>.
APT(8)                                 APT                                APT(8)
apt - command-line interface
apt [-h] [-o=config_string] [-c=config_file] [-t=target_release] [-a=architecture] {list | search | show | update | install pkg [{=pkg_version_number | /target_release}]...  | remove pkg...  | upgrade | full-upgrade | edit-sources | {-v | --version} | {-h | --help}}
apt provides a high-level commandline interface for the package management system. It is intended as an end user interface and enables some options better suited for interactive usage by default compared to more specialized APT tools like apt-get(8) and apt-cache(8).
Much like apt itself, its manpage is intended as an end user interface and as such only mentions the most used commands and options partly to not duplicate information in multiple places and partly to avoid overwhelming readers with a cornucopia of options and details.
update (apt-get(8)) update is used to download package information from all configured sources. Other commands operate on this data to e.g. perform package upgrades or search in and display details about all packages available for installation.
upgrade (apt-get(8)) upgrade is used to install available upgrades of all packages currently installed on the system from the sources configured via sources.list(5). New packages will be installed if required to satisfy dependencies, but existing packages will never be removed. If an upgrade for a package requires the removal of an installed package the upgrade for this package isn't performed.
full-upgrade (apt-get(8)) full-upgrade performs the function of upgrade but will remove currently installed packages if this is needed to upgrade the system as a whole.
install, reinstall, remove, purge (apt-get(8)) Performs the requested action on one or more packages specified via regex(7), glob(7) or exact match. The requested action can be overridden for specific packages by appending a plus (+) to the package name to install this package or a minus (-) to remove it.
A specific version of a package can be selected for installation by following the package name with an equals (=) and the version of the package to select. Alternatively the version from a specific release can be selected by following the package name with a forward slash (/) and codename (bullseye, bookworm, sid ...) or suite name (stable, testing, unstable). This will also select versions from this release for dependencies of this package if needed to satisfy the request.
Removing a package removes all packaged data, but leaves usually small (modified) user configuration files behind, in case the remove was an accident. Just issuing an installation request for the accidentally removed package will restore its function as before in that case. On the other hand you can get rid of these leftovers by calling purge even on already removed packages. Note that this does not affect any data or configuration stored in your home directory.
autoremove (apt-get(8)) autoremove is used to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed as dependencies changed or the package(s) needing them were removed in the meantime.
You should check that the list does not include applications you have grown to like even though they were once installed just as a dependency of another package. You can mark such a package as manually installed by using apt-mark(8). Packages which you have installed explicitly via install are also never proposed for automatic removal.
satisfy (apt-get(8)) satisfy satisfies dependency strings, as used in Build-Depends. It also handles conflicts, by prefixing an argument with "Conflicts: ".
Example: apt satisfy "foo, bar (>= 1.0)" "Conflicts: baz, fuzz"
search (apt-cache(8)) search can be used to search for the given regex(7) term(s) in the list of available packages and display matches. This can e.g. be useful if you are looking for packages having a specific feature. If you are looking for a package including a specific file try apt- file(1).
show (apt-cache(8)) Show information about the given package(s) including its dependencies, installation and download size, sources the package is available from, the description of the packages content and much more. It can e.g. be helpful to look at this information before allowing apt(8) to remove a package or while searching for new packages to install.
list list is somewhat similar to dpkg-query --list in that it can display a list of packages satisfying certain criteria. It supports glob(7) patterns for matching package names as well as options to list installed (--installed), upgradeable (--upgradeable) or all available (--all-versions) versions.
edit-sources (work-in-progress) edit-sources lets you edit your sources.list(5) files in your preferred text editor while also providing basic sanity checks.
The apt(8) commandline is designed as an end-user tool and it may change behavior between versions. While it tries not to break backward compatibility this is not guaranteed either if a change seems beneficial for interactive use.
All features of apt(8) are available in dedicated APT tools like apt- get(8) and apt-cache(8) as well.  apt(8) just changes the default value of some options (see apt.conf(5) and specifically the Binary scope). So you should prefer using these commands (potentially with some additional options enabled) in your scripts as they keep backward compatibility as much as possible.
apt-get(8), apt-cache(8), sources.list(5), apt.conf(5), apt-config(8), The APT User's guide in /usr/share/doc/apt-doc/, apt_preferences(5), the APT Howto.
apt returns zero on normal operation, decimal 100 on error.
ARCHLINUX(7)                                                        ARCHLINUX(7)
archlinux - basic configuration
Overview of the basic configuration of Arch Linux.
Arch Linux exposes the user to the system without hiding any details. This man page gives a brief overview of the configuration files that should be set up on a fresh install.
System services to be started at boot can be enabled using systemctl enable <name>. To view available services, use systemctl list-unit-files.
The hostname of the machine can be set using hostnamectl set-hostname <hostname>. It will then be written to /etc/hostname.
Various locales may be enabled in /etc/locale.gen and are generated by locale-gen. The system-wide locale to be used can be configured in /etc/locale.conf. These settings can be overridden on a per-user basis by keeping a user-specific locale.conf in $HOME/.config/locale.conf. The user-specific file will take precedence if it exists.
The virtual console is configured in /etc/vconsole.conf. It allows you to set a font and a keyboard layout, among other things. Note that these settings only apply to the console and do not apply if you use X.
The local time zone is configured by calling timedatectl set-timezone <Region/City>. A relative symlink is then created from /etc/localtime to the correct zoneinfo file under /usr/share/zoneinfo/. For example,
/etc/localtime -> ../usr/share/zoneinfo/Europe/Paris
The real-time clock, which keeps track of time when the computer is off, can be configured to either be in UTC or in local time by calling timedatectl set-local-rtc <false|true>. The default is UTC.
File systems are configured in /etc/fstab, and encryption mappings are configured in /etc/crypttab.
The initramfs is generated by mkinitcpio -p <preset>. The default preset is "linux". The initramfs can be configured in /etc/mkinitcpio.conf and must be regenerated after making configuration changes.
The package manager, pacman, is configured in /etc/pacman.conf.
GRUBâ€™s configuration is generated from /etc/default/grub by grub-mkconfig -o /boot/grub/grub.cfg. Syslinux is configured in /boot/syslinux/syslinux.cfg.
Most modules should be loaded on-demand. Modules to be unconditionally loaded at boot can be specified in /etc/modules-load.d/, and modules to be blacklisted from automatically loading can be configured in /etc/modprobe.d/.
systemctl(1), hostnamectl(1), hostname(5), locale.conf(5), vconsole.conf(5), timedatectl(1), timezone(3), hwclock(8), fstab(5), crypttab(5), mkinitcpio(8), pacman(8), pacman.conf(5), grub-mkconfig(8), syslinux(1), modules-load.d(5), modprobe.d(5), systemd(1)
Written by Tom Gundersen.
AGE(1)                                                                    AGE(1)
age - simple, modern, and secure file encryption
age [--encrypt] (-r RECIPIENT | -R PATH)... [--armor] [-o OUTPUT] [INPUT] age [--encrypt] --passphrase [--armor] [-o OUTPUT] [INPUT] age --decrypt [-i PATH]... [-o OUTPUT] [INPUT]
age encrypts or decrypts INPUT to OUTPUT. The INPUT argument is optional and defaults to standard input. Only a single INPUT file may be specified. If -o is not specified, OUTPUT defaults to standard output.
If --passphrase is specified, the file is encrypted with a passphrase requested interactively. Otherwise, it´s encrypted to one or more RECIPIENTS specified with -r/--recipient or -R/--recipients-file. Every recipient can decrypt the file.
In --decrypt mode, passphrase-encrypted files are detected automatically and the passphrase is requested interactively. Otherwise, one or more IDENTITIES specified with -i/--identity are used to decrypt the file.
age encrypted files are binary and not malleable, with around 200 bytes of overhead per recipient, plus 16 bytes every 64KiB of plaintext.
-o, --output=OUTPUT Write encrypted or decrypted file to OUTPUT instead of standard output. If OUTPUT already exists it will be overwritten.
If encrypting without --armor, age will refuse to output binary to a TTY. This can be forced by specifying - as OUTPUT.
--version Print the version and exit.
Encryption options -e, --encrypt Encrypt INPUT to OUTPUT. This is the default.
-r, --recipient=RECIPIENT Encrypt to the explicitly specified RECIPIENT. See the RECIPIENTS AND IDENTITIES section for possible recipient formats.
This option can be repeated and combined with -R/--recipients-file, and the file can be decrypted by all provided recipients independently.
-R, --recipients-file=PATH Encrypt to the RECIPIENTS listed in the file at PATH, one per line. Empty lines and lines starting with # are ignored as comments.
If PATH is -, the recipients are read from standard input. In this case, the INPUT argument must be specified.
This option can be repeated and combined with -r/--recipient, and the file can be decrypted by all provided recipients independently.
-p, --passphrase Encrypt with a passphrase, requested interactively from the terminal. age will offer to auto-generate a secure passphrase.
This options can´t be used with -r/--recipient or -R/--recipients-file.
-a, --armor Encrypt to an ASCII-only "armored" encoding.
age armor is a strict version of PEM with type AGE ENCRYPTED FILE, canonical "strict" Base64, no headers, and no support for leading and trailing extra data.
Decryption transparently detects and decodes ASCII armoring.
Decryption options -d, --decrypt Decrypt INPUT to OUTPUT.
If INPUT is passphrase encrypted, it will be automatically detected and the passphrase will be requested interactively. Otherwise, the IDENTITIES specified with -i/--identity are used.
ASCII armoring is transparently detected and decoded.
-i, --identity=PATH Decrypt using the IDENTITIES at PATH.
PATH may be one of the following:
a. A file listing IDENTITIES one per line. Empty lines and lines starting with "#" are ignored as comments.
b. A passphrase encrypted age file, containing IDENTITIES one per line like above. The passphrase is requested interactively. Note that passphrase-protected identity files are not necessary for most use cases, where access to the encrypted identity file implies access to the whole system.
c. An SSH private key file, in PKCS#1, PKCS#8, or OpenSSH format. If the private key is password-protected, the password is requested interactively only if the SSH identity matches the file. See the SSH keys section for more information, including supported key types.
d. "-", causing one of the options above to be read from standard input. In this case, the INPUT argument must be specified.
This option can be repeated. Identities are tried in the order in which are provided, and the first one matching one of the file´s recipients is used. Unused identities are ignored.
If -e/--encrypt is explicitly specified (to avoid confusion), -i/--identity may also be used to encrypt to the RECIPIENTS corresponding to the IDENTITIES listed at PATH. This allows using an identity file as a symmetric key, if desired.
RECIPIENTS are public values, like a public key, that a file can be encrypted to. IDENTITIES are private values, like a private key, that allow decrypting a file encrypted to the corresponding RECIPIENT.
Native X25519 keys Native age key pairs are generated with age-keygen(1), and provide small encodings and strong encryption based on X25519. They are the recommended recipient type for most applications.
A RECIPIENT encoding begins with age1 and looks like the following:
age1gde3ncmahlqd9gg50tanl99r960llztrhfapnmx853s4tjum03uqfssgdh
An IDENTITY encoding begins with AGE-SECRET-KEY-1 and looks like the following:
AGE-SECRET-KEY-1KTYK6RVLN5TAPE7VF6FQQSKZ9HWWCDSKUGXXNUQDWZ7XXT5YK5LSF3UTKQ
An encrypted file can´t be linked to the native recipient it´s encrypted to without access to the corresponding identity.
SSH keys As a convenience feature, age also supports encrypting to RSA or Ed25519 ssh(1) keys. RSA keys must be at least 2048 bits. This feature employs more complex cryptography, and should only be used when a native key is not available for the recipient. Note that SSH keys might not be protected long-term by the recipient, since they are revokable when used only for authentication.
A RECIPIENT encoding is an SSH public key in authorized_keys format (see the AUTHORIZED_KEYS FILE FORMAT section of sshd(8)), starting with ssh-rsa or ssh-ed25519, like the following:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULTit0KUehbi[...]GU4BtElAbzh8= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH9pO5pz22JZEas[...]l1uZc31FGYMXa
The comment at the end of the line, if present, is ignored.
In recipient files passed to -R/--recipients-file, unsupported but valid SSH public keys are ignored with a warning, to facilitate using authorized_keys or GitHub .keys files. (See EXAMPLES.)
An IDENTITY is an SSH private key file passed individually to -i/--identity. Note that keys held on hardware tokens such as YubiKeys or accessed via ssh-agent(1) are not supported.
An encrypted file can be linked to the SSH public key it was encrypted to. This is so that age can identify the correct SSH private key before requesting its password, if any.
age will exit 0 if and only if encryption or decryption are succesful for the full length of the input.
If an error occurs during decryption, partial output might still be generated, but only if it was possible to securely authenticate it. No unauthenticathed output is ever released.
Files encrypted with a stable version (not alpha, beta, or release candidate) of age, or with any v1.0.0 beta or release candidate, will decrypt with any later version of the tool.
If decrypting older files poses a security risk, doing so might cause an error by default, and a flag will be provided to force the operation.
Generate a new identity, encrypt data, and decrypt:
$ age-keygen -o key.txt Public key: age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p
$ tar cvz ~/data | age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p > data.tar.gz.age
$ age -d -o data.tar.gz -i key.txt data.tar.gz.age
Encrypt example.jpg to multiple recipients and output to example.jpg.age:
$ age -o example.jpg.age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p \ -r age1lggyhqrw2nlhcxprm67z43rta597azn8gknawjehu9d9dl0jq3yqqvfafg example.jpg
Encrypt to a list of recipients:
$ cat > recipients.txt # Alice age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p # Bob age1lggyhqrw2nlhcxprm67z43rta597azn8gknawjehu9d9dl0jq3yqqvfafg
$ age -R recipients.txt example.jpg > example.jpg.age
Encrypt and decrypt a file using a passphrase:
$ age -p secrets.txt > secrets.txt.age Enter passphrase (leave empty to autogenerate a secure one): Using the autogenerated passphrase "release-response-step-brand-wrap-ankle-pair-unusual-sword-train".
$ age -d secrets.txt.age > secrets.txt Enter passphrase:
Encrypt and decrypt with a passphrase-protected identity file:
$ age-keygen | age -p > key.age Public key: age1yhm4gctwfmrpz87tdslm550wrx6m79y9f2hdzt0lndjnehwj0ukqrjpyx5 Enter passphrase (leave empty to autogenerate a secure one): Using the autogenerated passphrase "hip-roast-boring-snake-mention-east-wasp-honey-input-actress".
$ age -r age1yhm4gctwfmrpz87tdslm550wrx6m79y9f2hdzt0lndjnehwj0ukqrjpyx5 secrets.txt > secrets.txt.age
$ age -d -i key.age secrets.txt.age > secrets.txt Enter passphrase for identity file "key.age":
Encrypt and decrypt with an SSH public key:
$ age -R ~/.ssh/id_ed25519.pub example.jpg > example.jpg.age
$ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg
Encrypt to the SSH keys of a GitHub user:
$ curl https://github.com/benjojo.keys | age -R - example.jpg > example.jpg.age
age-keygen(1)
Filippo Valsorda age@filippo.io
CHKCONFIG(8)                 System Manager's Manual                CHKCONFIG(8)
chkconfig - enable or disable system services
chkconfig -t|--terse [names] chkconfig -s|--set [name state] chkconfig -e|--edit [names] chkconfig -c|--check name [state] chkconfig -l|--list [--deps] [names] chkconfig -A|--allservices chkconfig -a|--add [names] chkconfig -d|--del [names]
chkconfig is used to manipulate the runlevel links at boot time (see init.d(7)).  It can be thought of as a frontend to insserv(8).  Chkconfig can run in six different modes: terse list mode, set mode, edit mode, list mode, add mode and delete mode. The last three modes were added for compatiblity reasons.
This mode lists the state of the specified services, or all known services if no service name was provided. Every printed line consists of the name of the service and the runlevels the service is configured for at the moment. If it is configured in no runlevel, off is used instead, if it is configured in the runlevels defined as a default by the start script, on is used. If the service is an enabled inetd or xinetd service, inetd and xinetd are used. Inetd/xinetd services are configured in /etc/inetd.d and /etc/xinetd.d, respectively. You can use the -A or --allservices parameter to get all services (even the boot.*-services) listed.
If chkconfig is called without arguments, all services are listed in terse mode.
Set mode is used to configure at which runlevel a service should be started. The arguments must be specified as pairs of service name and new state. You can use on and off as special states to select the default set of runlevels or to disable a service completely. You can use inetd or xinetd to configure a service managed by the inetd/xinetd daemons.
Insserv can calculate dependencies for only one service at the same time. To work around this limitation imposed by insserv, chkconfig uses the '-f' option of insserv when it reads the list of services from standard input. Note that --force switches off all dependency checks and could lead to depending services no longer working, use with care.
If no services are specified, chkconfig reads lines from standard input. Each line must consist of a service/state pair. As this is exactly the output of the terse list mode, this can be used to reconfigure a service specification saved by a former run.
If the option -f or --force is also given, insserv is called with a '-f' option.
This mode is a combination of the terse list mode and set mode.  It writes the state of all specified services (or all known services, if no service was provided) into a temporary file, starts an editor and re- configures all services to reflect the states of the changed temporary file.
This mode can be used to check the state of a service.  chkconfig exits with a return code of '0' if the service is enabled in all of the specified runlevels, otherwise the exit status is '1'. If chkconfig is called with only a service name the current runlevel of the system is used for checking.
List mode prints for each specified service a line that consists of the service name and for runlevels zero to six on or off depending if the service will be started or not.  on will be printed in bright green if the output is written to a terminal. If the --deps option is given, the names of the services that must be started before this service is appended to each line. The inetd/xinetd services are listed in extra sections.
You can use the -A or --allservices parameter to get all services (even the boot.*-services) listed.
Calls insserv to enable a service and uses list mode to display the new setting afterwards.
Same as add mode, but disable the service.
When no service names are given on the command line, chkconfig defaults to all known services excluding those that are not enabled in runlevels 1 to 6 and start with 'boot.'.  Use the --allservices or -A option if you want to see such services as well.
list the runlevel configuration of all known services
chkconfig apache
list the runlevel configuration of the apache web server
chkconfig -t apache xntpd
list the runlevel configuration of the apache web server and the network time protocol daemon.
chkconfig apache on
configure the apache web server to be started on next boot time.
chkconfig apache 5
configure the apache web server to be started only if the system reaches runlevel 5.
chkconfig apache 35
configure the apache web server for runlevel 3 and 5.
chkconfig apache on xntpd off
configure two services
chkconfig finger xinetd
configure a xinetd service
chkconfig -A >~root/chkconfig.save
backup the current configuration
chkconfig -s <~root/chkconfig.save
chkconfig -e apache xntpd
change the runlevel configuration interactively
chkconfig -e
change the runlevel configuration of all services interactively
/etc/init.d/ path to the boot script base directory as required by the Linux Standard Base Specification (LSB).
/etc/inetd.d/ path to the inetd services. See the inetd manpage to find out how to enable this feature.
/etc/xinetd.d/ path to the xinetd services.
init.d(7), init(7), inetd(8) xinetd(8) insserv(8)
2003 SuSE Linux AG, Nuernberg, Germany.
Michael Schroeder <mls@suse.de>
SURFRAW(1)                   General Commands Manual                  SURFRAW(1)
surfraw - a fast unix command line interface to WWW services
surfraw elviname [options] search words ... sr elviname [options] search words ... sr -elvi sr [options] bookmark [search words]
Surfraw provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power.  It reclaims google, altavista, dejanews, freshmeat, research index, slashdot and many others from the false‐prophet, pox‐infested heathen lands of html‐forms, placing these wonders where they belong, deep in unix heartland, as god loving extensions to the shell.
Surfraw consists of a collection of elvi, each of which knows how to search a specific web site.  To see the list of elvi type:
surfraw -elvi
Note that sr is an alias for surfraw, so that could equally be
sr -elvi
To search using an elvis use:
sr elviname [options] search terms..
For example, to search google for information on Debian ports, using the "I'm feeling lucky" option:
sr google -l debian ports
Adding the elvi to your path If you are a regular user of surfraw, you will probably get sick of typing sr or surfraw each time. You can regain the old behaviour of running the elvi directly by adding the elvi directory (/usr/lib/surfraw) to your path, either manually or using surfraw-update-path(1).
Bookmarks Surfraw supports bookmarks. To add a bookmark, add it to /etc/xdg/surfraw/bookmarks or $HOME/.config/surfraw/bookmarks
The format of the bookmarks file is simple, each bookmark is on a separate line, with the bookmark and URL separated by whitespace, eg:
ntk   http://www.ntk.net/
If the url contains the string %s, you can specify an optional argument to the bookmark. Without an argument, only the domain will be returned. With arguments, %s will be replaced by the arguments. This obviates the need to create elvi for sites with very simple search options.
To invoke a bookmark, use "surfraw bookmark" or "sr bookmark", and if an elvis of that name doesn't exist, it searches for a bookmark of that name instead.
There are some example bookmarks in /etc/xdg/surfraw/bookmarks
Use  sr elviname -local-help for elvi‐specific options.
The following options work with all elvi.
-help  Show summary of options (including elvi‐specific options).
-local-help Show elvi‐specific options.
-browser=EXECUTABLE Set browser (default: sensible-browser).
-elvi  Display a list of other Surfraw mechanisms for conquering evil.
-escape-url-args=yes|no Apply url escaping to arguments (default: yes)
-q|-quote Bracket all arguments with " characters (default: no).  Note that putting quotes round arguments works now, so you can do, for example:
sr google foo "bar baz" bam
and the quoting is passed on to the search engine
$ sr ask why is jeeves gay? $ surfraw google -results=100 RMS, GNU, which is sinner, which is sin? $ sr austlii -method=phrase dog like $ /usr/lib/surfraw/rhyme -method=perfect Julian
Surfraw uses the XDG basedir spec (http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html) to locate config files. The default locations are shown below, but can be modified by setting the environment variables $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS.  See the spec for more details.
Surfraw gets its configuration from three sources, in order:
1.  Environment variables
2.  /etc/xdg/surfraw/conf
3.  $HOME/.config/surfraw/conf
/etc/xdg/surfraw.conf and $HOME/.config/surfraw/conf are both fragments of bourne‐shell style shell script.
/etc/xdg/surfraw.conf should use def and defyn to define variables. These functions set variables unless they are already set by the environment.  defyn is used for boolean configuration variables, def for all others. For instance:
def     SURFRAW_text_browser /usr/bin/lynx defyn   SURFRAW_graphical         no
$HOME/.config/surfraw/conf should use sh‐style entries, eg:
SURFRAW_text_browser=/usr/bin/lynx SURFRAW_graphical=no
This is because you want them to override environment variables unconditionally.
SURFRAW_global_conf Location of global configuration file.
Default:
def SURFRAW_global_conf /etc/xdg/surfraw/conf
SURFRAW_conf Location of per‐user configuration file.
def SURFRAW_conf $HOME/.config/surfraw/conf
SURFRAW_graphical Whether to use a graphical browser.
defyn SURFRAW_graphical no
SURFRAW_text_browser Name/path of text browser executable.  e.g. links, lynx, w3m
def SURFRAW_text_browser sensible-browser
SURFRAW_graphical_browser Name/path of graphical browser executable.  e.g mozilla, netscape etc.
def SURFRAW_graphical_browser sensible-browser
SURFRAW_text_browser_args Text browser arguments, or "none".
def SURFRAW_text_browser_args none
SURFRAW_graphical_browser_args Graphical browser arguments, or "none".
def SURFRAW_graphical_browser_args none
SURFRAW_graphical_remote Whether to use "-remote openURL" for graphical browser.
defyn SURFRAW_graphical_remote yes
SURFRAW_new_window When using SURFRAW_graphical_remote, open a new window?
defyn SURFRAW_new_window no
SURFRAW_screen
Name of screen command to run.
def SURFRAW_screen screen
SURFRAW_new_screen If surfraw is running under screen(1), start a new screen for each text browser invocation?
defyn SURFRAW_new_screen no
SURFRAW_screen_args Arguments to pass to the SURFRAW_screen command
def SURFRAW_screen_args ""
SURFRAW_quote_args Whether to "quote" all the arguments.
defyn SURFRAW_quote_args no
SURFRAW_quote_ifs Whether to re‐quote arguments if they have spaces in, ie so: sr google foo "bar baz" bam works as expected.
defyn SURFRAW_quote_ifs    yes
SURFRAW_results Default number of results to return (not supported by all elvi).
def SURFRAW_results 30
SURFRAW_escape_url_args Whether to escape [% "$%&+,/:;<=>?@[{|}~'] characters in command line arguments subsequently used to construct a url.
defyn SURFRAW_escape_url_args yes
/usr/lib/surfraw Location of the elvi.
${HOME}/.config/surfraw/elvi Per‐user elvi.
/etc/xdg/surfraw/conf Default system wide configuration file.
$HOME/.config/surfraw/conf Default per‐user config file
/etc/xdg/surfraw/bookmarks System wide bookmarks file.
$HOME/.config/surfraw/bookmarks Per‐user bookmarks file.
Please report any bugs found (or any web sites in need of surfrawizing) either via the debian bug tracking system (http://bugs.debian.org/) or to the surfraw-devel list (surfraw-devel@lists.alioth.debian.org).
http://alioth.debian.org/projects/surfraw/
Oh Baybe I need some Deep Linking Let us go Surfin' in the raw!
Read HACKING. Surfrawize the soul of your favourite internet wonder. Join the Shell Users' Revolutionary Front Against the WWW by submitting code.  Reclaim heathen lands.  Bear witness to the truth.  Its love will set you free.
Join us on surfraw-devel@lists.alioth.debian.org
Originally written by Julian Assange.
Now maintained by the surfraw-devel team <‐ surfraw-devel@lists.alioth.debian.org>.
See the file AUTHORS for the full list of contributors.
Man page by Ian Beckwith, based on the original README and an earlier man page by Christian Surchi.
Copyright (c) 2003-2018 The Surfraw-Devel Team <surfraw-devel@lists.alioth.debian.org> Copyright (c) 2000-2001 Julian Assange <proff@iq.org> Copyright (c) 2001 Australian Institute for Collaborative Research Copyright (c) 2000 Melbourne Institute for Advanced Study
The copyright holders listed above assert no rights on this release of the software ``surfraw'' and thereby explicity place this release into the into the public domain. Do what you will.
ALACRITTY(1)                      User Commands                     ALACRITTY(1)
Alacritty - A fast, cross-platform, OpenGL terminal emulator
alacritty [FLAGS] [OPTIONS]
Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance.
--hold Remain open after child process exits
--print-events Print all events to stdout
-q     Reduces the level of verbosity (the min level is -qq)
--ref-test Generates ref test
-v     Increases the level of verbosity (the max level is -vvv)
--class <instance> | <instance>,<general> Defines the window class hint on Linux [default: Alacritty,Alacritty]
On Wayland the instance class sets the `app_id`, while the general class is ignored.
-e, --command <command>... Command and args to execute (must be last argument)
--config-file <config-file> Specify alternative configuration file
Alacritty looks for the configuration file at the following paths: 1. $XDG_CONFIG_HOME/alacritty/alacritty.yml 2. $XDG_CONFIG_HOME/alacritty.yml 3. $HOME/.config/alacritty/alacritty.yml 4. $HOME/.alacritty.yml
On Windows, the configuration file is located at %APPDATA%\alacritty\alacritty.yml.
--embed <parent> Defines the X11 window ID (as a decimal integer) to embed Alacritty within
-o, --option <option>... Override configuration file options [example: cursor.style=Beam]
-t, --title <title> Defines the window title [default: Alacritty]
--working-directory <working-directory> Start the shell in the specified working directory
See the alacritty github repository at https://github.com/alacritty/alacritty for the full documentation.
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
•   Christian Duerr <contact@christianduerr.com>
•   Joe Wilm <joe@jwilm.com>
MESHLABSERVER(1)           BSD General Commands Manual          MESHLABSERVER(1)
meshlabserver — The open source batch mesh processing system
meshlabserver [-d output] meshlabserver [-l logfile] [-p projectfile] [-w outputprojectfile [-x]] [-i meshfile] ... [-o outfile [-l opt_layer] [-m opt_mask]] [-s scriptfile]
meshlabserver allows batch-processing usage of functionality available in the interactive meshlab(1) application.
-d output dump on a text file a list of all the filtering functions
-l logfile log of the filters is output on a file
-p projectfile meshlab project ( .mlp ) to be loaded
-w outputprojectfile [-x] output meshlab project (.mlp) to be saved.  If -x flag is specified, any 3D model file(s) meshfile.ext contained in the input project will be overwritten.  Otherwise, for an input filename of meshfile.ext, the model will be saved in the same directory of input mesh as a new file called meshfile_out.ext.  ALL the mesh attributes will be exported in the saved files.
-i file mesh that has to be loaded
-o outfile [-l opt_layer] [-m opt_mask] the name of the file where to write the current layer of the project.
-l opt_layer Save the specified layer to the chosen filename. Valid values for opt_layer can be
A number in the range [0, last_layer_in_the_project] to indicate the desired layer by its index.
‘c’     indicate the CURRENT layer in the project
‘x’     indicate the LAST layer in the project
-m opt_mask the listed mesh attributes will be saved in the output file.  The parameter opt_mask can be a space-separated list of the following attributes:
‘vc’    vertex colors
‘vf’    vertex flags
‘vq’    vertex quality
‘vn’    vertex normals
‘vt’    vertex texture coords
‘vr’    vertex radius
‘fc’    face colors
‘ff’    face flags
‘fq’    face quality
‘fn’    face normals
‘wc’    wedge colors
‘wn’    wedge normals
‘wt’    wedge texture coords
‘mp’    polygonal mesh info
‘sa’    save in ascii format
-s scriptfile the script to be applied.  Must be in the xml format saved by MeshLab.
There can be multiple meshes loaded and the order they are listed matters because filters that use meshes as parameters choose the mesh based on the order.
The format of the output mesh is guessed by the used extension.
The meshlabserver utility exits 0 on success, and >0 if an error occurs.
Apply the script contained in the file meshclean.mlx to the mesh contained in input.obj.  Save the per-vertex-color, the per-face-quality, and the per-wedge-texture attributes contained in the current layer into output.ply. $ meshlabserver -i input.obj -o output.ply -m vc fq wt -s meshclean.mlx
Apply the script contained in the file meshclean.mlx to the mesh contained in input.obj.  Save the per-vertex-color, the per-face-quality and the per- wedge-texture attributes contained in the layer 2 (if it exists!) into output.ply.  Save the last layer of the project to output_last with the default geometric attributes. $ meshlabserver -i input.obj -o output.ply -l 2 -m vc fq wt -o output_last.ply -l l -s meshclean.mlx
Apply the script contained in the file meshclean.mlx to the mesh composed of input0.obj and input1.ply.  Make input1.ply the current mesh of the project (i.e. the mesh to which the filters operating on a single model will be applied).  Generate a new output project outproj.mlp containing references to input0.obj and input1.ply.  The files input0.obj and input1.ply will be overwritten.  A log will be written to logfile.txt. $ meshlabserver -l logfile.txt -p proj.mlp -i input.obj -w outproj.mlp -s meshclean.mlx
meshlab(1)
Paolo Cignoni - Visual Computing Lab - ISTI - CNR
STTY(1)                           User Commands                          STTY(1)
stty - change and print terminal line settings
stty [-F DEVICE | --file=DEVICE] [SETTING]... stty [-F DEVICE | --file=DEVICE] [-a|--all] stty [-F DEVICE | --file=DEVICE] [-g|--save]
Print or change terminal characteristics.
-a, --all print all current settings in human-readable form
-g, --save print all current settings in a stty-readable form
-F, --file=DEVICE open and use the specified DEVICE instead of stdin
Optional - before SETTING indicates negation.  An * marks non-POSIX settings.  The underlying system defines which settings are available.
Special characters: * discard CHAR CHAR will toggle discarding of output
eof CHAR CHAR will send an end of file (terminate the input)
eol CHAR CHAR will end the line
* eol2 CHAR alternate CHAR for ending the line
erase CHAR CHAR will erase the last character typed
intr CHAR CHAR will send an interrupt signal
kill CHAR CHAR will erase the current line
* lnext CHAR CHAR will enter the next character quoted
quit CHAR CHAR will send a quit signal
* rprnt CHAR CHAR will redraw the current line
start CHAR CHAR will restart the output after stopping it
stop CHAR CHAR will stop the output
susp CHAR CHAR will send a terminal stop signal
* swtch CHAR CHAR will switch to a different shell layer
* werase CHAR CHAR will erase the last word typed
Special settings: N      set the input and output speeds to N bauds
* cols N tell the kernel that the terminal has N columns
* columns N same as cols N
* [-]drain wait for transmission before applying settings (on by default)
ispeed N set the input speed to N
* line N use line discipline N
min N  with -icanon, set N characters minimum for a completed read
ospeed N set the output speed to N
* rows N tell the kernel that the terminal has N rows
* size print the number of rows and columns according to the kernel
speed  print the terminal speed
time N with -icanon, set read timeout of N tenths of a second
Control settings: [-]clocal disable modem control signals
[-]cread allow input to be received
* [-]crtscts enable RTS/CTS handshaking
csN    set character size to N bits, N in [5..8]
[-]cstopb use two stop bits per character (one with '-')
[-]hup send a hangup signal when the last process closes the tty
[-]hupcl same as [-]hup
[-]parenb generate parity bit in output and expect parity bit in input
[-]parodd set odd parity (or even parity with '-')
* [-]cmspar use "stick" (mark/space) parity
Input settings: [-]brkint breaks cause an interrupt signal
[-]icrnl translate carriage return to newline
[-]ignbrk ignore break characters
[-]igncr ignore carriage return
[-]ignpar ignore characters with parity errors
* [-]imaxbel beep and do not flush a full input buffer on a character
[-]inlcr translate newline to carriage return
[-]inpck enable input parity checking
[-]istrip clear high (8th) bit of input characters
* [-]iutf8 assume input characters are UTF-8 encoded
* [-]iuclc translate uppercase characters to lowercase
* [-]ixany let any character restart output, not only start character
[-]ixoff enable sending of start/stop characters
[-]ixon enable XON/XOFF flow control
[-]parmrk mark parity errors (with a 255-0-character sequence)
[-]tandem same as [-]ixoff
Output settings: * bsN  backspace delay style, N in [0..1]
* crN  carriage return delay style, N in [0..3]
* ffN  form feed delay style, N in [0..1]
* nlN  newline delay style, N in [0..1]
* [-]ocrnl translate carriage return to newline
* [-]ofdel use delete characters for fill instead of NUL characters
* [-]ofill use fill (padding) characters instead of timing for delays
* [-]olcuc translate lowercase characters to uppercase
* [-]onlcr translate newline to carriage return-newline
* [-]onlret newline performs a carriage return
* [-]onocr do not print carriage returns in the first column
[-]opost postprocess output
* tabN horizontal tab delay style, N in [0..3]
* tabs same as tab0
* -tabs same as tab3
* vtN  vertical tab delay style, N in [0..1]
Local settings: [-]crterase echo erase characters as backspace-space-backspace
* crtkill kill all line by obeying the echoprt and echoe settings
* -crtkill kill all line by obeying the echoctl and echok settings
* [-]ctlecho echo control characters in hat notation ('^c')
[-]echo echo input characters
* [-]echoctl same as [-]ctlecho
[-]echoe same as [-]crterase
[-]echok echo a newline after a kill character
* [-]echoke same as [-]crtkill
[-]echonl echo newline even if not echoing other characters
* [-]echoprt echo erased characters backward, between '\' and '/'
* [-]extproc enable "LINEMODE"; useful with high latency links
* [-]flusho discard output
[-]icanon enable special characters: erase, kill, werase, rprnt
[-]iexten enable non-POSIX special characters
[-]isig enable interrupt, quit, and suspend special characters
[-]noflsh disable flushing after interrupt and quit special characters
* [-]prterase same as [-]echoprt
* [-]tostop stop background jobs that try to write to the terminal
* [-]xcase with icanon, escape with '\' for uppercase characters
Combination settings: * [-]LCASE same as [-]lcase
cbreak same as -icanon
-cbreak same as icanon
cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values
-cooked same as raw
crt    same as echoe echoctl echoke
dec    same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u
* [-]decctlq same as [-]ixany
ek     erase and kill characters to their default values
evenp  same as parenb -parodd cs7
-evenp same as -parenb cs8
* [-]lcase same as xcase iuclc olcuc
litout same as -parenb -istrip -opost cs8
-litout same as parenb istrip opost cs7
nl     same as -icrnl -onlcr
-nl    same as icrnl -inlcr -igncr onlcr -ocrnl -onlret
oddp   same as parenb parodd cs7
-oddp  same as -parenb cs8
[-]parity same as [-]evenp
pass8  same as -parenb -istrip cs8
-pass8 same as parenb istrip cs7
raw    same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min 1 time 0
-raw   same as cooked
sane   same as cread -ignbrk brkint -inlcr -igncr icrnl icanon iexten echo echoe echok -echonl -noflsh -ixoff -iutf8 -iuclc -ixany imaxbel -xcase -olcuc -ocrnl opost -ofill onlcr -onocr -onlret nl0 cr0 tab0 bs0 vt0 ff0 isig -tostop -ofdel -echoprt echoctl echoke -extproc -flusho, all special characters to their default values
Handle the tty line connected to standard input.  Without arguments, prints baud rate, line discipline, and deviations from stty sane.  In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters.
Full documentation <https://www.gnu.org/software/coreutils/stty> or available locally via: info '(coreutils) stty invocation'
HELLO(1)                          User Commands                         HELLO(1)
hello - friendly greeting program
hello [OPTION]...
Print a friendly, customizable greeting.
-v, --version display version information and exit
-t, --traditional use traditional greeting
-g, --greeting=TEXT use TEXT as the greeting message
See man/hello.x ⟨http://git.savannah.gnu.org/cgit/hello.git/tree/man/hello.x⟩ how to add addtional information to a manual page.
Report bugs to: bug-hello@gnu.org GNU Hello home page: <http://www.gnu.org/software/hello/> General help using GNU software: <http://www.gnu.org/gethelp/>
Copyright © 2014 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
The full documentation for hello is maintained as a Texinfo manual.  If the info and hello programs are properly installed at your site, the command
info hello
HG(1)                           Mercurial Manual                           HG(1)
hg - Mercurial source code management system
hg command [option]... [argument]...
The hg command provides a command line interface to the Mercurial system.
files... indicates one or more filename or relative path filenames; see File Name Patterns for information on pattern matching
path   indicates a path on the local machine
revision indicates a changeset which can be specified as a changeset revision number, a tag, or a unique substring of the changeset hash value
repository path either the pathname of a local repository or the URI of a remote repository.
-R,--repository <REPO> repository root directory or name of overlay bundle file
--cwd <DIR> change working directory
-y, --noninteractive do not prompt, automatically pick the first choice for all prompts
-q, --quiet suppress output
-v, --verbose enable additional output
--color <TYPE> when to colorize (boolean, always, auto, never, or debug)
--config <CONFIG[+]> set/override config option (use 'section.name=value')
--debug enable debugging output
--debugger start debugger
--encoding <ENCODE> set the charset encoding (default: UTF-8)
--encodingmode <MODE> set the charset encoding mode (default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
-h, --help display help and exit
--hidden consider hidden changesets
--pager <TYPE> when to paginate (boolean, always, auto, or never) (default: auto)
[+] marked option can be specified multiple times
Repository creation clone make a copy of an existing repository:
hg clone [OPTION]... SOURCE [DEST]
Create a copy of an existing repository in a new directory.
If no destination directory name is specified, it defaults to the basename of the source.
The location of the source is added to the new repository's .hg/hgrc file, as the default to be used for future pulls.
Only local paths and ssh:// URLs are supported as destinations. For ssh:// destinations, no working directory or .hg/hgrc will be created on the remote side.
If the source repository has a bookmark called '@' set, that revision will be checked out in the new repository by default.
To check out a particular version, use -u/--update, or -U/--noupdate to create a clone with no working directory.
To pull only a subset of changesets, specify one or more revisions identifiers with -r/--rev or branches with -b/--branch. The resulting clone will contain only the specified changesets and their ancestors. These options (or 'clone src#rev dest') imply --pull, even for local source repositories.