neulab/tldr huggingface dataset:
pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
To start using pyenv
1. Append the following to $HOME/.bashrc
source /usr/share/pyenv/pyenv_user_setup.bash
Appending this line enables shims. Please make sure this line is placed toward the end of the shell configuration file since it manipulates PATH during the initialization.
Debian note: Modify only your ~/.bashrc file instead of creating ~/.bash_profile
Zsh note: Modify your ~/.zshrc file instead of  ~/.bashrc
Warning: If you configured your system so  that BASH_ENV variable points to .bashrc. You should almost certainly put the above mentioned line  into .bash_profile, and not into .bashrc. Otherwise you may observe strange behaviour, such as pyenv getting into an infinite loop. See #264 ⟨https://github.com/pyenv/pyenv/issues/264⟩ for details.
2. Restart your shell so the path changes take effect. You can now begin using pyenv.
exec "$SHELL"
3. Install Python versions into $(pyenv root)/versions. For example, to download and install Python 3.6.12, run:
pyenv install 3.6.12
NOTE: If you need to pass configure option to build, please use CONFIGURE_OPTS environment variable. If you are having trouble installing a python version, please visit the wiki page about Common Build Problems ⟨https://github.com/pyenv/pyenv/wiki/Common-build-problems⟩
Proxy note: If you use a proxy, export HTTP_PROXY and HTTPS_PROXY environment variables.
Stop using pyenv The simplicity of pyenv makes it easy to temporarily disable it, or uninstall from the system.  To disable pyenv managing your Python versions, simply remove the pyenv init line from your shell startup configuration. This will remove pyenv shims directory from PATH, and future invocations like python will execute the system Python version, as before pyenv.
pyenv will still be accessible on the command line, but your Python apps won't be affected by version switching.
Like git, the pyenv command delegates to subcommands based on its first argument.
Some useful pyenv commands are: commands List all available pyenv commands
exec Run an executable with the selected Python version
global Set or show the global Python version(s)
help Display help for a command
hooks List hook scripts for a given pyenv command
init Configure the shell environment for pyenv
install Install a Python version using python-build
local Set or show the local application-specific Python version(s)
prefix Display prefix for a Python version
rehash Rehash pyenv shims (run this after installing executables)
root Display the root directory where versions and shims are kept
shell Set or show the shell-specific Python version
shims List existing pyenv shims
uninstall Uninstall a specific Python version
version Show the current Python version(s) and its origin
version-file Detect the file that sets the current pyenv version
version-name Show the current Python version
version-origin Explain how the current Python version is set
versions List all Python versions available to pyenv
whence List all Python versions that contain the given executable
which Display the full path to an executable
See `pyenv help <command>' for information on a specific command.  For full documentation, see COMMAND REFERENCE section
pyenv does...
•   Let you change the global Python version on a per-user basis.
•   Provide support for per-project Python versions.
•   Allow you to override the Python version with an environment variable.
•   Search commands from multiple versions of Python at a time. This may be helpful to test across Python versions with tox
In contrast with pythonbrew and pythonz, pyenv does not...
•   Depend on Python itself. pyenv was made from pure shell scripts. There is no bootstrap problem of Python.
•   Need to be loaded into your shell. Instead, pyenv's shim approach works by adding a directory to your $PATH.
•   Manage virtualenv. Of course, you can create virtualenv  yourself, or pyenv-virtualenv  to automate the process.
How It Works At a high level, pyenv intercepts Python commands using shim executables injected into your PATH, determines which Python version has been specified by your application, and passes your commands along to the correct Python installation.
Understanding PATH When you run a command like python or pip, your operating system searches through a list of directories to find an executable file with that name. This list of directories lives in an environment variable called PATH, with each directory in the list separated by a colon:
/usr/local/bin:/usr/bin:/bin
Directories in PATH are searched from left to right, so a matching executable in a directory at the beginning of the list takes precedence over another one at the end. In this example, the /usr/local/bin directory will be searched first, then /usr/bin, then /bin.
Understanding Shims pyenv works by inserting a directory of shims at the front of your PATH:
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
Through a process called rehashing, pyenv maintains shims in that directory to match every Python command (python,pip,etc...) across every installed version of Python
Shims are lightweight executables that simply pass your command along to pyenv. So with pyenv installed, when you run, say, pip, your operating system will do the following:
•   Search your PATH for an executable file named pip
•   Find the pyenv shim named pip at the beginning of your PATH
•   Run the shim named pip, which in turn passes the command along to pyenv
Choosing the Python Version When you execute a shim, pyenv determines which Python version to use by reading it from the following sources, in this order:
1.  The PYENV_VERSION environment variable (if specified). You can use the pyenv shell command to set this environment variable in your current shell session.
2.  The application-specific .python-version file in the current directory (if present). You can modify the current directory's .python-version file with the pyenv local command.
3.  The first .python-version file found (if any) by searching each parent directory, until reaching the root of your filesystem.
4.  The global $(pyenv root)/version file. You can modify this file using the pyenv global  command. If the global version file is not present, pyenv assumes you want to use the "system" Python. (In other words, whatever version would run if pyenv weren't in your PATH.)
NOTE: You can activate multiple versions at the same time, including multiple versions of Python2 or Python3 simultaneously. This allows for parallel usage of Python2 and Python3, and is required with tools like tox. For example, to set your path to first use your system Python and Python3 (set to 2.7.9 and 3.4.2 in this example), but also have Python 3.3.6, 3.2, and 2.5 available on your PATH, one would first pyenv install the missing versions, then set pyenv global system 3.3.6 3.2 2.5. At this point, one should be able to find the full executable path to each of these using pyenv which, e.g. pyenv which python2.5 (should display $(pyenv root)/versions/2.5/bin/python2.5), or pyenv which python3.4 (should display path to system Python3). You can also specify multiple versions in a .python-version file, separated by newlines or any whitespace.  hy
Locating the Python Installation Once pyenv has determined which version of Python your application has specified, it passes the command along to the corresponding Python installation.
Each Python version is installed into its own directory under $(pyenv root)/versions.
For example, you might have these versions installed:
•   $(pyenv root)/versions/2.7.8/
•   $(pyenv root)/versions/3.4.2/
•   $(pyenv root)/versions/pypy-2.4.0/
As far as pyenv is concerned, version names are simply the directories in $(pyenv root)/versions.
Managing Virtual Environments There is a pyenv plugin named pyenv-virtualenv which comes with various features to help pyenv users to manage virtual environments created by virtualenv or Anaconda. Because the activate script of those virtual environments are relying on mutating $PATH variable of user's interactive shell, it will intercept pyenv's shim style command execution hooks. We'd recommend to install pyenv-virtualenv as well if you have some plan to play with those virtual environments.
Advanced Configuration Skip this section unless you must know what every line in your shell profile is doing.
pyenv init is the only command that crosses the line of loading extra commands into your shell. Coming from rvm, some of you might be opposed to this idea. Here's what pyenv init actually does:
1.  Sets up your shims path. This is the only requirement for pyenv to function properly. You can do this by hand by prepending $(pyenv root)/shims to your $PATH.
2.  Rehashes shims. From time to time you'll need to rebuild your shim files. Doing this on init makes sure everything is up to date. You can always run pyenv rehash manually.
3.  Installs the sh dispatcher. This bit is also optional, but allows pyenv and plugins to change variables in your current shell, making commands like pyenv shell possible. The sh dispatcher doesn't do anything crazy like override cd or hack your shell prompt, but if for some reason you need pyenv to be a real script rather than a shell function, you can safely skip it.
To see exactly what happens under the hood for yourself, run "pyenv init -".
Uninstalling Python Versions As time goes on, you will accumulate Python versions in your $(pyenv root)/versions directory.
To remove old Python versions, pyenv uninstall command to automate the removal process.
Alternatively, simply rm -rf the directory of the version you want to remove. You can find the directory of a particular Python version with the pyenv prefix command,
e.g. pyenv prefix 2.6.8.
Command Reference The most common subcommands are:
pyenv commands Lists all available pyenv commands.
pyenv local Sets a local application-specific Python version by writing the version name to a .python-version file in the current directory. This version overrides the global version, and can be overridden itself by setting the PYENV_VERSION environment variable or with the pyenv shell command.
$ pyenv local 2.7.6
When run without a version number, pyenv local reports the currently configured local version. You can also unset the local version:
$ pyenv local --unset
Previous versions of pyenv stored local version specifications in a file named .pyenv-version. For backwards compatibility, pyenv will read a local version specified in an .pyenv-version file, but a .python-version file in the same directory will take precedence.
You can specify multiple versions as local Python at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv local 2.7.6 3.3.3 $ pyenv versions system * 2.7.6 (set by /Users/yyuu/path/to/project/.python-version) * 3.3.3 (set by /Users/yyuu/path/to/project/.python-version) $ python --version Python 2.7.6 $ python2.7 --version Python 2.7.6 $ python3.3 --version Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv local 3.3.3 2.7.6 $ pyenv versions system * 2.7.6 (set by /Users/yyuu/path/to/project/.python-version) * 3.3.3 (set by /Users/yyuu/path/to/project/.python-version) venv27 $ python --version Python 3.3.3 $ python2.7 --version Python 2.7.6 $ python3.3 --version Python 3.3.3
pyenv global Sets the global version of Python to be used in all shells by writing the version name to the ~/.pyenv/version file. This version can be overridden by an application-specific .python-version file, or by setting the PYENV_VERSION environment variable.
$ pyenv global 2.7.6
The special version name system tells pyenv to use the system Python (detected by searching your $PATH).
When run without a version number, pyenv global reports the currently configured global version.
You can specify multiple versions as global Python at once.
$ pyenv global 2.7.6 3.3.3 $ pyenv versions system * 2.7.6 (set by /Users/yyuu/.pyenv/version) * 3.3.3 (set by /Users/yyuu/.pyenv/version) $ python --version Python 2.7.6 $ python2.7 --version Python 2.7.6 $ python3.3 --version Python 3.3.3
$ pyenv global 3.3.3 2.7.6 $ pyenv versions system * 2.7.6 (set by /Users/yyuu/.pyenv/version) * 3.3.3 (set by /Users/yyuu/.pyenv/version) venv27 $ python --version Python 3.3.3 $ python2.7 --version Python 2.7.6 $ python3.3 --version Python 3.3.3
pyenv shell Sets a shell-specific Python version by setting the PYENV_VERSION environment variable in your shell. This version overrides application-specific versions and the global version.
$ pyenv shell pypy-2.2.1
When run without a version number, pyenv shell reports the current value of PYENV_VERSION. You can also unset the shell version:
$ pyenv shell --unset
Note that you'll need pyenv's shell integration enabled (step 3 of the installation instructions) in order to use this command. If you prefer not to use shell integration, you may simply set the PYENV_VERSION variable yourself:
$ export PYENV_VERSION=pypy-2.2.1
You can specify multiple versions via PYENV_VERSION at once.
$ pyenv shell 2.7.6 3.3.3 $ pyenv versions system * 2.7.6 (set by PYENV_VERSION environment variable) * 3.3.3 (set by PYENV_VERSION environment variable) $ python --version Python 2.7.6 $ python2.7 --version Python 2.7.6 $ python3.3 --version Python 3.3.3
$ pyenv shell 3.3.3 2.7.6 $ pyenv versions system * 2.7.6 (set by PYENV_VERSION environment variable) * 3.3.3 (set by PYENV_VERSION environment variable) venv27 $ python --version Python 3.3.3 $ python2.7 --version Python 2.7.6 $ python3.3 --version Python 3.3.3
pyenv install Install a Python version
Usage: pyenv install [-f] [-kvp] <version> pyenv install [-f] [-kvp] <definition-file> pyenv install -l|--list
-l, --list             List all available versions -f, --force            Install even if the version appears to be installed already -s, --skip-existing    Skip the installation if the version appears to be installed already
python-build options:
-k, --keep        Keep source tree in $PYENV_BUILD_ROOT after installation (defaults to $PYENV_ROOT/sources) -v, --verbose     Verbose mode: print compilation status to stdout -p, --patch       Apply a patch from stdin before building -g, --debug       Build a debug version
To list the all available versions of Python, including Anaconda, Jython, pypy, and stackless, use:
$ pyenv install --list
Then install the desired versions:
$ pyenv install 2.7.6 $ pyenv install 2.6.8 $ pyenv versions system 2.6.8 * 2.7.6 (set by /home/yyuu/.pyenv/version)
pyenv uninstall Uninstall a specific Python version.
Usage: pyenv uninstall [-f|--force] <version>
-f  Attempt to remove the specified version without prompting for confirmation. If the version does not exist, do not display an error message.
pyenv rehash Installs shims for all Python binaries known to pyenv (i.e., ~/.pyenv/versions/*/bin/*). Run this command after you install a new version of Python, or install a package that provides binaries.
$ pyenv rehash
pyenv version Displays the currently active Python version, along with information on how it was set.
$ pyenv version 2.7.6 (set by /home/yyuu/.pyenv/version)
pyenv versions Lists all Python versions known to pyenv, and shows an asterisk next to the currently active version.
$ pyenv versions 2.5.6 2.6.8 * 2.7.6 (set by /home/yyuu/.pyenv/version) 3.3.3 jython-2.5.3 pypy-2.2.1
pyenv which Displays the full path to the executable that pyenv will invoke when you run the given command.
$ pyenv which python3.3 /home/yyuu/.pyenv/versions/3.3.3/bin/python3.3
pyenv whence Lists all Python versions with the given command installed.
$ pyenv whence 2to3 2.6.8 2.7.6 3.3.3
Environment variables You can affect how pyenv operates with the following settings:
name (default)              description
PYENV_VERSION               Specifies the Python version to be used. Also see pyenv shell
PYENV_ROOT (~/.pyenv)       Defines the directory under which Python versions and shims reside. Also see pyenv root
PYENV_DEBUG                 Outputs debug information. Also as: pyenv --debug <subcommand>
PYENV_HOOK_PATH             Colon-separated list of paths searched for pyenv hooks.
PYENV_DIR ($PWD)            Directory to start searching for .python-version files.
HTTP_PROXY,HTTPS_PROXY      Proxy Variables
CONFIGURE_OPTS              Pass configure options to build.
PYTHON_BUILD_ARIA2_OPTS     Used to pass additional parameters to aria2 ⟨https://aria2.github.io/⟩ If the aria2c binary is available on PATH, pyenv uses aria2c instead of curl or wget to download the Python Source code. If you have an unstable internet connection, you can use this variable to instruct aria2 to accelerate the download.  In most cases, you will only need to use -x 10 -k 1M as value to PYTHON_BUILD_ARIA2_OPTS environment variable
License The MIT License
bmon(8)                               bmon                               bmon(8)
bmon - bandwidth monitor and rate estimator
bmon [--show-all] [--use-si] [--input=MODULE] [--output=MODULE] [OPTIONS...]
bmon is a monitoring and debugging tool to capture networking related statistics and prepare them visually in a human friendly way. It features various output methods including an interactive curses user interface and a programmable text output for scripting.
-h, --help Prints a short help text and exits.
-V, --version Prints the versioning identifier and exits.
-i, --input=MODULE[:OPTIONS][,MODULE...] Set list of input modules to load and use. Multiple modules can be used in parallel. bmon automatically loads a useful and working input module by default. See INPUT MODULES for more details.
-o, --outputMODULE[:OPTIONS][,MODULE...] Set list of output modules to load and use. Multiple modules can be used in parallel. By default, bmon will use the curses output mode, if that is not available due to an incompatible console it will fall back to a simple text mode. See OUTPUT MODULES for more details.
-U, --use-si Use SI unit system (1KB = 1'000 bytes) instead of 1KB = 1'024 bytes.
-f, --configfile=FILE Set alternative path to configuration file.
-p, --policy=POLICY Set policy defining which network interfaces to display. See INTERFACE SELECTION for more details.
-a, --show-all= Display all interfaces, even interface that are administratively down.
-r, --read-interval=FLOAT Set interval in seconds in which input modules read statistics from their source. The default is 1.0 seconds.
-R, --rate-interval=FLOAT Set interval in seconds in which the rate per counter is calculated. The default is 1.0 seconds.
-b, --use-bit Show rates in bits per second instead of bytes per second.
-L, --lifetime=FLOAT Set lifetime of an element in seconds before it is no longer displayed without receiving any statistical updates. The default is 30 seconds.
Input modules provide statistical data about elements. Each element consists of attributes which represents a counter, a rate, or a percentage. Elements may carry additional child elements to represent a hierarchy. Each element is assigned to a group defined by the input module. Input modules are polled in the frequence of the configured read interval.
The following input modules are available:
netlink Uses the Netlink protocol to collect interface and traffic control statistics from the kernel. This is the default input module.
proc   Reads interface statistics from the /proc/net/dev file. This is considered a legacy interface and provided for backwards compatibily reasons. This is a fallback module if the Netlink interface is not available.
dummy  Programmable input module for debugging and testing purposes.
null   No data collected.
To receive additional information about a module, run the module with the "help" option set like this:
bmon -i netlink:help
See MODULE CONFIGURATION for more details.
Output modules display or export the statistical data collected by input modules. Multiple output modules can be run at the same time. bmon will not prevent possible conflicts such as multiple output modules writing to the console.
The following output modules exist:
curses Interactive curses based text user interface providing real time rate estimations and a graphical representatio nof each attribute. Press '?'  to display the quick reference guide. This is the default output mode.
ascii  Simple programmable text output intended for human consumption. Capable of printing list of interfaces, detailed counters and graphs to the console. This is the default fallback output mode if curses is not available.
format Fully scriptable output mode inteded for consumption by other programs.  See the module help text for additional information.
null   Disable output.
bmon -o curses:help
The syntax to configure modules is as follows:
ARGUMENT ::= mod1[:OPTS][,mod2[:OPTS]...] OPTS     ::= OPTION[;OPTION...] OPTION   ::= option[=value]
Run the module with option "help" to receive the list of options for each module:
bmon -i module:help
The following syntax is used to define the interface selection policy:
SELECTION ::= NAME[,NAME[,...]] NAME      ::= [!]interface
The interface name may contain the character '*' which will act as a wildcard and represents any number of any character type, e.g. eth*, h*0, ...
lo,eth0,eth1 eth*,!eth0
To run bmon in curses mode monitoring the interfaces eth0 and eth1:
bmon -p eth0,eth1 -o curses
To run bmon in format mode, monitoring any eth* interfaces, with a specified format string:
bmon -p 'eth*' -o format:fmt='$(element:name) $(attr:rxrate:packets)\n'
/etc/bmon.conf $HOME/.bmonrc
ip(8), netstat(8), ifconfig(8), netlink(7),
Thomas Graf <tgraf@suug.ch> among others
TERRAFORM(1)                 General Commands Manual                TERRAFORM(1)
terraform - a height field manipulation program
terraform [ generic-options ] [ -c, --chooser ] [ -f, --factor=factor ] [ -g, --generate ] [ -m, --gamma=gamma_factor ] [ -s, --size=size ] [ -t, --type=type_bitmap ] [ -u, --undo=max_undo ] [ file ... ]
This manual page documents briefly the terraform command.  This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
Terraform allows you to create a fractal terrain (also called a height field) and transform it using a number of algorithms. It is meant to be a tool for those who want to generate digital terrain models for use in raytracing or other simulations.
Below are the terraform-specific options.  For a full summary of options, run terraform --help.
-c, --chooser Run the terrain chooser upon startup.
-f, --factor=factor Set the scaling factor for random generation.
-g, --generate Generate a random terrain upon startup.
-m, --gamma=gamma_factor Set the gamma factor.
-s, --size=size Set the default terrain size.
-t, --type=type_bitmap Set the terrain type for random generation.
-u, --undo=max_undo Set the maximum size of the undo queue.
The original documentation from the program author is available in /usr/share/doc/terraform/.  See http://terraform.sourceforge.net/ for further information.
/etc/terraformrc The systemwide initialization file. ~/.terraform/terraformr The personal initialization file.
Terraform was written by Robert Gasch <r.gasch@chello.nl>, David A. Bartold <foxx@mail.utexas.edu> and others. This manual page was written by Ben Burton <benb@acm.org> for the Debian GNU/Linux system (but may be used by others).
GUETZLI(1)                                                            GUETZLI(1)
guetzli - perceptual JPEG encoder
guetzli [flags] input_filename output_filename
Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality. Guetzli-generated images are typically 20-30% smaller than images of equivalent quality generated by libjpeg. Guetzli generates only sequential (nonprogressive) JPEGs due to faster decompression speeds they offer.
--verbose Print a verbose trace of all attempts to standard output.
--quality Q Visual quality to aim for, expressed as a JPEG quality value.
--memlimit M Memory limit in MB. Guetzli will fail if unable to stay under the limit. Default is 6000 MB
--nomemlimit Do not limit memory usage.
This manual page was written by ChangZhuo Chen <czchen@debian.org> for the Debian GNU/Linux system (but may be used by others).
GO-CLEAN(1)                  General Commands Manual                 GO-CLEAN(1)
go-clean - remove object files and cached files
go clean [-i] [-r] [-n] [-x] [packages]
Clean removes object files from package source directories.  The go command builds most objects in a temporary directory, so go clean is mainly concerned with object files left by other tools or by manual invocations of go build.
If a package argument is given or the -i or -r flag is set, clean removes the following files from each of the source directories corresponding to the import paths:
_obj/  old object directory, left from Makefiles
_test/ old test directory, left from Makefiles
_testmain.go old gotest file, left from Makefiles
test.out old test log, left from Makefiles
build.out old test log, left from Makefiles
*.[568ao] object files, left from Makefiles
DIR(.exe) from go build
DIR.test(.exe) from go test -c
MAINFILE(.exe) from go build MAINFILE.go
*.so   from SWIG
In the list, DIR represents the final path element of the directory, and MAINFILE is the base name of any Go source file in the directory that is not included when building the package.
-i     The -i flag causes clean to remove the corresponding installed archive or binary (what 'go install' would create).
-n     The -n flag causes clean to print the remove commands it would execute, but not run them.
-r     The -r flag causes clean to be applied recursively to all the dependencies of the packages named by the import paths.
-cache The -cache flag causes clean to remove the entire go build cache.
-testcache The -testcache flag causes clean to expire all test results in the go build cache.
-modcache The -modcache flag causes clean to remove the entire module download cache, including unpacked source code of versioned dependencies.
This manual page was written by Michael Stapelberg <stapelberg@debian.org> and is maintained by the Debian Go Compiler Team <team+go-compiler@tracker.debian.org> based on the output of 'go help clean' for the Debian project (and may be used by others).
DICT(1)                                                                  DICT(1)
dict - DICT Protocol Client
dict word dict [options] [word] dict [options] dict://host:port/d:word:database dict [options] dict://host:port/m:word:database:strategy
dict is a client for the Dictionary Server Protocol (DICT), a TCP transaction based query/response protocol that provides access to dictionary definitions from a set of natural language dictionary databases.  Exit status is 0 if operation succeeded, or non-zero otherwise. See EXIT STATUS section.
-h server or --host server Specifies the hostname for the DICT server.  Server/port combinations can be specified in the configuration file.  If no servers are specified in the configuration file or or on the command line, dict will fail.  If IP lookup for a server expands to a list of IP addresses (as dict.org does currently), then each IP will be tried in the order listed.
-p service or --port service Specifies the port (e.g., 2628) or service (e.g., dict) for connections.  The default is 2628, as specified in the DICT Protocol RFC.  Server/port combinations can be specified in the configuration file.
-d dbname or --database dbname Specifies a specific database to search.  The default is to search all databases (a "*" from the DICT protocol).  Note that a "!" in the DICT protocol means to search all of the databases until a match is found, and then stop searching.
-m or --match Instead of printing a definition, perform a match using the specified strategy.
-s strategy or --strategy strategy Specify a matching strategy.  By default, the server default match strategy is used.  This is usually "exact" for definitions, and some form of spelling-correction strategy for matches ("." from the DICT protocol).  The available strategies are dependent on the server implementation.  For a list of available strategies, see the -S or --strats option.
-C or --nocorrect Usually, if a definition is requested and the word cannot be found, spelling correction is requested from the server, and a list of possible words are provided.  This option disables the generation of this list.
-c file or --config file Specify the configuration file.  The default is to try ~/.dictrc and /etc/dict/dict.conf, using the first file that exists.  If a specific configuration file is specified, then the defaults will not be tried.
-D or --dbs Query the server and display a list of available databases.
-S or --strats Query the server and display a list of available search strategies.
-H or --serverhelp Query the server and display the help information that it provides.
-i dbname or --info dbname Request information on the specified database (usually the server will provide origination, descriptive, or other information about the database or its contents).
-I or --serverinfo Query the server and display information about the server.
-M or --mime Send OPTION MIME command to the server. NOTE: Server's capabilities are not checked.
-f or --formatted Enables formatted output, i.e. output convenient for postprocessing by standard UNIX utilities. No, it is not XML ;-) Also error and warning messages like " No matches...", " Invalid strategy..." etc. are sent to stderr, not to stdout. Format: -I, -i, -H and similar: host<TAB>port <SPC><SPC>line1 <SPC><SPC>line2 ... -S: host<TAB>port<TAB>strategy1<TAB>short description1 host<TAB>port<TAB>strategy2<TAB>short description2 ... -D: host<TAB>port<TAB>database1<TAB>database description1 host<TAB>port<TAB>database2<TAB>database description2 ... -m: host<TAB>port<TAB>database1<TAB>match1 host<TAB>port<TAB>database2<TAB>match2 ...
-a or --noauth Disable authentication (i.e., don't send an AUTH command).
-u user or --user user Specifies the username for authentication.
-k key or --key key Specifies the shared secret for authentication.
-V or --version Display version information.
-L or --license Display copyright and license information.
-4     Forces dict to use IPv4 addresses only.
-6     Forces dict to use IPv6 addresses only.
--help Display help information.
-v or --verbose Be verbose.
-r or --raw Be very verbose: show the raw client/server interaction.
--pipesize Specify the buffer size for pipelineing commands.  The default is 256, which should be sufficient for general tasks and be below the MTU for most transport media.  Larger values may provide faster or slower throughput, depending on MTU.  If the buffer is too small, requests will be serialized.  Values less than 0 and greater than one million are silently changed to something more reasonable.
--client text Specifies additional text to be sent using the CLIENT command.
--debug flag Set a debugging flag.  Valid flags are:
verbose The same as -v or --verbose.
raw    The same as -r or --raw.
scan   Debug the scanner for the configuration file.
parse  Debug the parser for the configuration file.
pipe   Debug TCP pipelining support (see the DICT RFC and RFC1854).
serial Disable pipelining support.
time   Perform transaction timing.
The configuration file currently has a very simple format.  Lines are used to specify servers, for example: server dict.org or, with options: server dict.org { port 8080 } server dict.org { user username secret } server dict.org { port dict user username secret } the port and user options may be specified in any order.  The port option is used to specify an optional port (e.g., 2628) or service (e.g., dict) for the TCP/IP connection.  The user option is used to specify a username and shared secret to be used for authentication to this particular server.
Servers are tried in the order listed until a connection is made.
0  Successful completion
20 No matches found 21 Approximate matches found 22 No databases available 23 No strategies available
30 Unexpected response code from server 31 Server is temporarily unavailable 32 Server is shutting down 33 Syntax error, command not recognized 34 Syntax error, illegal parameters 35 Command not implemented 36 Command parameter not implemented 37 Access denied 38 Authentication failed 39 Invalid database 40 Invalid strategy 41 Connection to server failed
dict was written by Rik Faith (faith@cs.unc.edu) and is distributed under the terms of the GNU General Public License.  If you need to distribute under other terms, write to the author.
The main libraries used by this programs (zlib, regex, libmaa) are distributed under different terms, so you may be able to use the libraries for applications which are incompatible with the GPL -- please see the copyright notices and license information that come with the libraries for more information, and consult with your attorney to resolve these issues.
If a dict: URL is given on the command line, only the first one is used. The rest are ignored.
If a dict: URL contains a specifier for the nth definition or match of a word, it will be ignored and all the definitions or matches will be provided.  This violates the RFC, and will be corrected in a future release.
If a dict: URL contains a shared secret, it will not be parsed correctly.
When OPTION MIME command is sent to the server (-M option) , server's capabilities are not checked.
~/.dictrc User's dict configuration file
/etc/dict/dict.conf System dict configuration file
dictd(8), dictzip(1), http://www.dict.org, RFC 2229
LZOP(1)                                                                  LZOP(1)
lzop - compress or expand files
lzop is a file compressor very similar to gzip.  lzop favors speed over compression ratio.
lzop [ command ] [ options ] [ filename ...  ]
lzop [-dxlthIVL19] [-qvcfFnNPkU] [-o file] [-p[path]] [-S suffix] [filename ...]
lzop reduces the size of the named files. Whenever possible, each file is compressed into one with the extension .lzo, while keeping the same ownership modes, access and modification times. If no files are specified, or if a file name is "-", lzop tries to compress the standard input to the standard output. lzop will only attempt to compress regular files or symbolic links to regular files.  In particular, it will ignore directories.
If the compressed file name is too long for its file system, lzop truncates it.
Compressed files can be restored to their original form using lzop -d. lzop -d takes a list of files on its command line and decompresses each file whose name ends with .lzo and which begins with the correct magic number to an uncompressed file without the original extension. lzop -d also recognizes the special extension .tzo as shorthand for .tar.lzo. When compressing, lzop uses the .tzo extension if necessary instead of truncating a file with a .tar extension.
lzop stores the original file name, mode and time stamp in the compressed file. These can be used when decompressing the file with the -d option. This is useful when the compressed file name was truncated or when the time stamp was not preserved after a file transfer.
lzop preserves the ownership, mode and time stamp of files when compressing. When decompressing lzop restores the mode and time stamp if present in the compressed files.  See the options -n, -N, --no-mode and --no-time for more information.
lzop always keeps original files unchanged unless you use the option -U.
lzop uses the LZO data compression library for compression services. The amount of compression obtained depends on the size of the input and the distribution of common substrings.  Typically, text such as source code or English is compressed into 40-50% of the original size, and large files usually compress much better than small ones. Compression and decompression speed is generally much faster than that achieved by gzip, but compression ratio is worse.
COMPRESSION LEVELS lzop offers the following compression levels of the LZO1X algorithm:
-3  the default level offers pretty fast compression.  -2, -3, -4, -5 and -6 are currently all equivalent - this may change in a future release.
-1, --fast can be even a little bit faster in some cases - but most times you won't notice the difference
-7, -8, -9, --best these compression levels are mainly intended for generating pre- compressed data - especially -9 can be somewhat slow
Decompression is very fast for all compression levels, and decompression speed is not affected by the compression level.
If no other command is given then lzop defaults to compression (using compression level -3).
-#, --fast, --best Regulate the speed of compression using the specified digit #, where -1 or --fast indicates the fastest compression method (less compression) and -9 or --best indicates the slowest compression method (best compression). The default compression level is -3.
-d, --decompress, --uncompress Decompress. Each file will be placed into same the directory as the compressed file.
-x, --extract Extract compressed files to the current working directory. This is the same as '-dPp'.
-t, --test Test. Check the compressed file integrity.
-l, --list For each compressed file, list the following fields:
method: compression method compressed: size of the compressed file uncompr.: size of the uncompressed file ratio: compression ratio uncompressed_name: name of the uncompressed file
date & time: time stamp for the uncompressed file
With --name, the uncompressed name, date and time are those stored within the compress file if present.
With --verbose, the size totals and compression ratio for all files is also displayed. With --quiet, the title and totals lines are not displayed.
Note that lzop defines compression ratio as compressed_size / uncompressed_size.
--ls, --ls=FLAGS List each compressed file in a format similar to ls -ln.
The following flags are currently honoured: F  Append a '*' for executable files. G  Inhibit display of group information. Q  Enclose file names in double quotes.
--info For each compressed file, list the internal header fields.
-I, --sysinfo Display information about the system and quit.
-L, --license Display the lzop license and quit.
-h, -H, --help Display a help screen and quit.
-V  Version. Display the version number and compilation options and quit.
--version Version. Display the version number and quit.
-c, --stdout, --to-stdout Write output on standard output. If there are several input files, the output consists of a sequence of independently (de)compressed members. To obtain better compression, concatenate all input files before compressing them.
-o FILE, --output=FILE Write output to the file FILE. If there are several input files, the output consists of a sequence of independently (de)compressed members.
-p, -pDIR, --path=DIR Write output files into the directory DIR instead of the directory determined by the input file. If DIR is omitted, then write to the current working directory.
-f, --force Force lzop to
- overwrite existing files - (de-)compress from stdin even if it seems a terminal - (de-)compress to stdout even if it seems a terminal - allow option -c in combination with -U
Using -f two or more times forces things like
- compress files that already have a .lzo suffix - try to decompress files that do not have a valid suffix - try to handle compressed files with unknown header flags
Use with care.
-F, --no-checksum Do not store or verify a checksum of the uncompressed file when compressing or decompressing.  This speeds up the operation of lzop a little bit (especially when decompressing), but as unnoticed data corruption can happen in case of damaged compressed files the usage of this option is not generally recommended.  Also, a checksum is always stored when compressing with one of the slow compression levels (-7, -8 or -9), regardless of this option.
-n, --no-name When decompressing, do not restore the original file name if present (remove only the lzop suffix from the compressed file name). This option is the default under UNIX.
-N, --name When decompressing, restore the original file name if present. This option is useful on systems which have a limit on file name length. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.  This option is the default under DOS, Windows and OS/2.
-P  When decompressing, restore the original path and file name if present.  When compressing, store the relative (and cleaned) path name.  This option is mainly useful when using archive mode - see usage examples below.
--no-mode When decompressing, do not restore the original mode (permissions) saved in the compressed file.
--no-time When decompressing, do not restore the original time stamp saved in the compressed file.
-S .suf, --suffix=.suf Use suffix .suf instead of .lzo. The suffix must not contain multiple dots and special characters like '+' or '*', and suffixes other than .lzo should be avoided to avoid confusion when files are transferred to other systems.
-k, --keep Do not delete input files. This is the default.
-U, --unlink, --delete Delete input files after successful compression or decompression. Use this option to make lzop behave like gzip and bzip2.  Note that explicitly giving -k overrides -U.
--crc32 Use a crc32 checksum instead of an adler32 checksum.
--no-warn Suppress all warnings.
--ignore-warn Suppress all warnings, and never exit with exit status 2.
-q, --quiet, --silent Suppress all warnings and decrease the verbosity of some commands like --list or --test.
-v, --verbose Verbose. Display the name for each file compressed or decompressed. Multiple -v can be used to increase the verbosity of some commands like --list or --test.
--  Specifies that this is the end of the options. Any file name after -- will not be interpreted as an option even if it starts with a hyphen.
--no-stdin Do not try to read standard input (but a file name "-" will still override this option).  In old versions of lzop, this option was necessary when used in cron jobs (which do not have a controlling terminal).
--filter=NUMBER Rarely useful.  Preprocess data with a special "multimedia" filter before compressing in order to improve compression ratio.  NUMBER must be a decimal number from 1 to 16, inclusive.  Using a filter slows down both compression and decompression quite a bit, and the compression ratio usually doesn't improve much either...  More effective filters may be added in the future, though.
You can try --filter=1 with data like 8-bit sound samples, --filter=2 with 16-bit samples or depth-16 images, etc.
Un-filtering during decompression is handled automatically.
-C, --checksum Deprecated. Only for compatibility with very old versions as lzop now uses a checksum by default. This option will get removed in a future release.
--no-color Do not use any color escape sequences.
--mono Assume a mono ANSI terminal. This is the default under UNIX (if console support is compiled in).
--color Assume a color ANSI terminal or try full-screen access. This is the default under DOS and in a Linux virtual console (if console support is compiled in).
lzop allows you to deal with your files in many flexible ways. Here are some usage examples:
backup mode tar --use-compress-program=lzop -cf archive.tar.lzo files..
This is the recommended mode for creating backups. Requires GNU tar or a compatible version which accepts the '--use-compress-program=XXX' option.
single file mode: individually (de)compress each file create lzop a.c             -> create a.c.lzo lzop a.c b.c         -> create a.c.lzo & b.c.lzo lzop -U a.c b.c      -> create a.c.lzo & b.c.lzo and delete a.c & b.c lzop *.c
extract lzop -d a.c.lzo      -> restore a.c lzop -df a.c.lzo     -> restore a.c, overwrite if already exists lzop -d *.lzo
list lzop -l a.c.lzo lzop -l *.lzo lzop -lv *.lzo       -> be verbose
test lzop -t a.c.lzo lzop -tq *.lzo       -> be quiet
pipe mode: (de)compress from stdin to stdout create lzop < a.c > y.lzo cat a.c | lzop > y.lzo tar -cf - *.c | lzop > y.tar.lzo     -> create a compressed tar file
extract lzop -d < y.lzo > a.c lzop -d < y.tar.lzo | tar -xvf -     -> extract a tar file
list lzop -l < y.lzo cat y.lzo | lzop -l lzop -d < y.tar.lzo | tar -tvf -     -> list a tar file
test lzop -t < y.lzo cat y.lzo | lzop -t
stdout mode: (de)compress to stdout create lzop -c a.c > y.lzo
extract lzop -dc y.lzo > a.c lzop -dc y.tar.lzo | tar -xvf -      -> extract a tar file
list lzop -dc y.tar.lzo | tar -tvf -      -> list a tar file
archive mode: compress/extract multiple files into a single archive file create lzop a.c b.c -o sources.lzo          -> create an archive lzop -P src/*.c -o sources.lzo       -> create an archive, store path name lzop -c *.c > sources.lzo            -> another way to create an archive lzop -c *.h >> sources.lzo           -> add files to archive
extract lzop -dN sources.lzo lzop -x ../src/sources.lzo           -> extract to current directory lzop -x -p/tmp < ../src/sources.lzo  -> extract to /tmp directory
list lzop -lNv sources.lzo
test lzop -t sources.lzo lzop -tvv sources.lzo                -> be very verbose
If you wish to create a single archive file with multiple members so that members can later be extracted independently, you should prefer a full- featured archiver such as tar. The latest version of GNU tar supports the --use-compress-program=lzop option to invoke lzop transparently.  lzop is designed as a complement to tar, not as a replacement.
The environment variable LZOP can hold a set of default options for lzop. These options are interpreted first and can be overwritten by explicit command line parameters.  For example:
for sh/ksh/zsh:    LZOP="-1v --name"; export LZOP for csh/tcsh:      setenv LZOP "-1v --name" for DOS/Windows:   set LZOP=-1v --name
On Vax/VMS, the name of the environment variable is LZOP_OPT, to avoid a conflict with the symbol set for invocation of the program.
Not all of the options are valid in the environment variable - lzop will tell you.
bzip2(1), gzip(1), tar(1), xz(1)
Precompiled binaries for some platforms are available from the lzop home page.
see http://www.oberhumer.com/opensource/lzop/
lzop uses the LZO data compression library for compression services.
see http://www.oberhumer.com/opensource/lzo/
Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2 (unless option --ignore-warn is in effect).
lzop's diagnostics are intended to be self-explanatory.
No bugs are known. Please report all problems immediately to the author.
Markus Franz Xaver Johannes Oberhumer <markus@oberhumer.com> http://www.oberhumer.com/opensource/lzop/
lzop and the LZO library are Copyright (C) 1996-2017 Markus Franz Xaver Oberhumer <markus@oberhumer.com>.  All Rights Reserved.
lzop and the LZO library are distributed under the terms of the GNU General Public License (GPL).
Legal info: If want to integrate lzop into your commercial (backup-)system please carefully read the GNU GPL FAQ at http://www.gnu.org/licenses/gpl-faq.html about possible implications.
asciiart(1)                  General Commands Manual                 asciiart(1)
asciiart - command line tool to turn images into ASCII art
asciiart [options] <path_or_url>
asciiart is a command line tool to turn images into ASCII art. It can also be used as a library in Ruby programs.
-w, --width WIDTH Width of the finished Ascii Art (Default: 100)
-f, --format [text/html] output format (Default: text)
-c, --color Switch to use colored terminal output (Default: false)
-i, --invert-chars Invert the character map. Depending on your terminal and image this can make the image clearer (or a lot worse)
-v, --version print asciiart version.
-h, --help show this message.
HTPDATE(8)                   System Manager's Manual                  HTPDATE(8)
htpdate - Time synchronization (daemon)
htpdate [-046abdhlqstxDF] [-i pid file] [-m minpoll] [-M maxpoll] [-p precision] [-P <proxyserver>[:port]] [-u user[:group]] <host[:port]> ...
The HTTP Time Protocol (HTP) is used to synchronize a computer's time with web servers as reference time source. Htp will synchronize your computer's time to Greenwich Mean Time (GMT) via HTTP headers from web servers.  The htpdate package includes a program for retrieving the date and time from remote machines via a network. Htpdate works through proxy servers. Accuracy of htpdate will be usually within 0.5 seconds (better with multiple servers). If this is not good enough for you, try the ntpd package.
-0     HTTP/1.0 request (default is HTTP/1.1).
-4     Force IPv4 name resolution only. Default behaviour is to try IPv6 first and fall back to IPv4.
-6     Force IPv6 name resolution only.
-a     Adjust time smoothly (default in daemon mode).
-b     Burst mode uses multiple polls for each web server to enhance accuracy.