neulab/tldr huggingface dataset:
ldmHashRateLog=lhrlog, lhrlog=lhrlog Specify the frequency of inserting entries into the long distance matching hash table.
Larger values will improve compression speed. Deviating far from the default value will likely result in a decrease in compression ratio.
The default value is wlog - lhlog.
Example The following parameters sets advanced compression options to something similar to predefined level 19 for files bigger than 256 KB:
--zstd=wlog=23,clog=23,hlog=22,slog=6,mml=3,tlen=48,strat=6
Report bugs at: https://github.com/facebook/zstd/issues
PKGINFO(1)                        User Commands                       PKGINFO(1)
pkginfo - print metadata for one or more Python package distributions
pkginfo [options] path ...
Print the metadata for one or more Python package distributions.
Each 'path' entry can be one of the following:
- a source distribution:  in this case, 'path' should point to an existing archive file (.tar.gz, .tar.bz2, or .zip) as generated by 'setup.py sdist'.
- a binary distribution:  in this case, 'path' should point to an existing archive file (.egg)
- a "develop" checkout:  in this case,  'path' should point to a directory initialized via 'setup.py develop' (under setuptools).
- an installed package:  in this case, 'path' should be the importable name of the package.
-m METADATA_VERSION, --metadata-version=METADATA_VERSION Override metadata version
-f FIELDS, --field=FIELDS Specify an output field (repeatable)
-d DOWNLOAD_URL_PREFIX, --download-url-prefix=DOWNLOAD_URL_PREFIX Download URL prefix
--simple Output as simple key-value pairs
-s, --skip Skip missing values in simple output
-S, --no-skip Don't skip missing values in simple output
--single Output delimited values
--item-delim=ITEM_DELIM Delimiter for fields in single-line output
--sequence-delim=SEQUENCE_DELIM Delimiter for multi-valued fields
--csv  Output as CSV
--ini  Output as INI
The full documentation for pkginfo is available in /usr/share/doc/python- pkginfo-doc/html if the python-pkginfo-doc package is installed
F3(1)                    test real flash memory capacity                   F3(1)
f3write, f3read - test real flash memory capacity
f3write [--start-at=NUM] [--end-at=NUM] <PATH> f3read  [--start-at=NUM] [--end-at=NUM] <PATH>
F3 (Fight Flash Fraud or Fight Fake Flash) tests the full capacity of a flash card (flash drive, flash disk, pendrive). It writes to the card and then checks if can read it. It will assure you haven't been sold a card with a smaller capacity than stated.
When writing to flash drive, f3write fills the filesystem with 1GB files named N.h2w, where N is a number (i.e. /[0-9]+/).
WARNING: all data on the tested disk might be lost!
--start-at=NUM Initial number of file names. Default value is 1.
--end-at=NUM Final number of file names. Default value is "infinity".
To write over a flash drive mounted at /media/TEST:
$ f3write /media/TEST
To read this flash drive:
$ f3read /media/TEST
For detailed information about the F3 tools, see:
http://oss.digirati.com.br/f3/
F3 was written by Michel Machado <michel@digirati.com.br>.  This manual page was first written by Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>.
HTPASSWD(1)                         htpasswd                         HTPASSWD(1)
htpasswd - Manage user files for basic authentication
htpasswd [ -c ] [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile username
htpasswd -b [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile username password
htpasswd -n [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] username
htpasswd -nb [ -m | -B | -d | -s | -p ] [ -C cost ] username password
htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users. If htpasswd cannot access a file, such as not being able to write to the output file or not being able to read the file in order to update it, it returns an error status and makes no changes.
Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by htpasswd. This program can only manage usernames and passwords stored in a flat-file. It can encrypt and display password information for use in other types of data stores, though. To use a DBM database see dbmmanage or htdbm.
htpasswd encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system's crypt() routine. Files managed by htpasswd may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-encrypted passwords while others in the same file may have passwords encrypted with crypt().
This manual page only lists the command line arguments. For details of the directives necessary to configure user authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd.apache.org/.
-b     Use batch mode; i.e., get the password from the command line rather than prompting for it. This option should be used with extreme care, since the password is clearly visible on the command line. For script use see the -i option. Available in 2.4.4 and later.
-i     Read the password from stdin without verification (for script usage).
-c     Create the passwdfile. If passwdfile already exists, it is rewritten and truncated. This option cannot be combined with the -n option.
-n     Display the results on standard output rather than updating a file. This is useful for generating password records acceptable to Apache for inclusion in non-text data stores. This option changes the syntax of the command line, since the passwdfile argument (usually the first one) is omitted. It cannot be combined with the -c option.
-m     Use MD5 encryption for passwords. This is the default (since version 2.2.18).
-B     Use bcrypt encryption for passwords. This is currently considered to be very secure.
-C     This flag is only allowed in combination with -B (bcrypt encryption). It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 17).
-d     Use crypt() encryption for passwords. This is not supported by the httpd server on Windows and Netware. This algorithm limits the password length to 8 characters. This algorithm is insecure by today's standards. It used to be the default algorithm until version 2.2.17.
-s     Use SHA encryption for passwords. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif). This algorithm is insecure by today's standards.
-p     Use plaintext passwords. Though htpasswd will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware.
-D     Delete user. If the username exists in the specified htpasswd file, it will be deleted.
-v     Verify password. Verify that the given password matches the password of the user stored in the specified htpasswd file. Available in 2.4.5 and later.
passwdfile Name of the file to contain the user name and password. If -c is given, this file is created if it does not already exist, or rewritten and truncated if it does exist.
username The username to create or update in passwdfile. If username does not exist in this file, an entry is added. If it does exist, the password is changed.
password The plaintext password to be encrypted and stored in the file. Only used with the -b flag.
htpasswd returns a zero status ("true") if the username and password have been successfully added or updated in the passwdfile. htpasswd returns 1 if it encounters some problem accessing files, 2 if there was a syntax problem with the command line, 3 if the password was entered interactively and the verification entry didn't match, 4 if its operation was interrupted, 5 if a value is too long (username, filename, password, or final computed record), 6 if the username contains illegal characters (see the Restrictions section), and 7 if the file is not a valid password file.
htpasswd /usr/local/etc/apache/.htpasswd-users jsmith
Adds or modifies the password for user jsmith. The user is prompted for the password. The password will be encrypted using the modified Apache MD5 algorithm. If the file does not exist, htpasswd will do nothing except return an error.
htpasswd -c /home/doe/public_html/.htpasswd jane
Creates a new file and stores a record in it for user jane. The user is prompted for the password. If the file exists and cannot be read, or cannot be written, it is not altered and htpasswd will display a message and return an error status.
htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve
Encrypts the password from the command line (Pwd4Steve) using the crypt() algorithm, and stores it in the specified file.
Web password files such as those managed by htpasswd should not be within the Web server's URI space -- that is, they should not be fetchable with a browser.
This program is not safe as a setuid executable. Do not make it setuid.
The use of the -b option is discouraged, since when it is used the unencrypted password appears on the command line.
When using the crypt() algorithm, note that only the first 8 characters of the password are used to form the password. If the supplied password is longer, the extra characters will be silently discarded.
The SHA encryption format does not use salting: for a given password, there is only one encrypted representation. The crypt() and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult.
The SHA and crypt() formats are insecure by today's standards.
On the Windows platform, passwords encrypted with htpasswd are limited to no more than 255 characters in length. Longer passwords will be truncated to 255 characters.
The MD5 algorithm used by htpasswd is specific to the Apache software; passwords encrypted using it will not be usable with other Web servers.
Usernames are limited to 255 bytes and may not include the character :.
The cost of computing a bcrypt password hash value increases with the number of rounds specified by the -C option. The apr-util library enforces a maximum number of rounds of 17 in version 1.6.0 and later.
unar(1)                           User Commands                          unar(1)
unar - extract archive file contents
unar [OPTION]... ARCHIVE [FILE]...
Extract FILEs or the contents of ARCHIVE.
-o, -output-directory DIRECTORY The directory to write the contents of the archive to.  Defaults to the current directory.
-f, -force-overwrite Always overwrite files when a file to be unpacked already exists on disk.  By default, the program asks the user if possible, otherwise skips the file.
-r, -force-rename Always rename files when a file to be unpacked already exists on disk.
-s, -force-skip Always skip files when a file to be unpacked already exists on disk.
-d, -force-directory Always create a containing directory for the contents of the unpacked archive.  By default, a directory is created if there is more than one top-level file or folder.
-D, -no-directory Never create a containing directory for the contents of the unpacked archive.
-p, -password PASSWORD The password to use for decrypting protected archives.
-e, -encoding ENCODING The encoding to use for filenames in the archive, when it is not known.  If not specified, the program attempts to auto-detect the encoding used.  Use "help" or "list" as the argument to give a listing of all supported encodings.
-E, -password-encoding ENCODING The encoding to use for the password for the archive, when it is not known.  If not specified, then either the encoding given by the -encoding option or the auto-detected encoding is used.
-i, -indexes Instead of specifying the files to list as filenames or wildcard patterns, specify them as indexes, as output by lsar.
-nr, -no-recursion Do not attempt to extract archives contained in other archives. For instance, when unpacking a .tar.gz file, only unpack the .tar file and not its contents.
-t, -copy-time Copy the file modification time from the archive file to the containing directory, if one is created.
-k, -forks visible|hidden|skip How to handle Mac OS resource forks.  visible creates AppleDouble files with the extension ".rsrc", hidden creates AppleDouble files with the prefix "._", and skip discards all resource forks. Defaults to visible.
-q, -quiet Run in quiet mode.
-v, -version Print version and exit.
-h, -help Display help information.
lsar(1)
DU(1)                             User Commands                            DU(1)
du - estimate file space usage
du [OPTION]... [FILE]... du [OPTION]... --files0-from=F
Summarize device usage of the set of FILEs, recursively for directories.
-0, --null end each output line with NUL, not newline
-a, --all write counts for all files, not just directories
--apparent-size print apparent sizes rather than device usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g., '-BM' prints sizes in units of 1,048,576 bytes; see SIZE format below
-b, --bytes equivalent to '--apparent-size --block-size=1'
-c, --total produce a grand total
-D, --dereference-args dereference only symlinks that are listed on the command line
-d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize
--files0-from=F summarize device usage of the NUL-terminated file names specified in file F; if F is -, then read names from standard input
-H     equivalent to --dereference-args (-D)
-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
--inodes list inode usage information instead of block usage
-k     like --block-size=1K
-L, --dereference dereference all symbolic links
-l, --count-links count sizes many times if hard linked
-m     like --block-size=1M
-P, --no-dereference don't follow any symbolic links (this is the default)
-S, --separate-dirs for directories do not include size of subdirectories
--si   like -h, but use powers of 1000 not 1024
-s, --summarize display only a total for each argument
-t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative
--time show time of the last modification of any file in the directory, or any of its subdirectories
--time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status
--time-style=STYLE show times using STYLE, which can be: full-iso, long-iso, iso, or +FORMAT; FORMAT is interpreted like in 'date'
-X, --exclude-from=FILE exclude files that match any pattern in FILE
--exclude=PATTERN exclude files that match PATTERN
-x, --one-file-system skip directories on different file systems
Display values are in units of the first available SIZE from --block-size, and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.  Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).
PATTERN is a shell pattern (not a regular expression).  The pattern ? matches any one character, whereas * matches any string (composed of zero, one or multiple characters).  For example, *.o will match any files whose names end in .o.  Therefore, the command
du --exclude='*.o'
will skip all files and subdirectories ending in .o (including the file .o itself).
Written by Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering.
Full documentation <https://www.gnu.org/software/coreutils/du> or available locally via: info '(coreutils) du invocation'
PROGRESS(1)                  General Commands Manual                 PROGRESS(1)
progress - Coreutils Progress Viewer
progress [ -qdwmM ] [ -W secs ] [ -c command ] [ -a command ] [ -p pid ] progress -v | --version progress -h | --help
This manual page briefly documents the progress command.
This tool can be described as a Tiny, Dirty, C command that looks for coreutils basic commands (cp, mv, dd, tar, gzip/gunzip, cat, etc.) currently running on your system and displays the percentage of copied data.
It can now also estimate throughput (using flag -w).
-q (--quiet) hides all messages
-d (--debug) shows all warning/error messages
-w (--wait) estimate I/O throughput and estimated remaining time (slower display)
-W (--wait-delay secs) wait 'secs' seconds for I/O estimation (implies -w)
-m (--monitor) loop while monitored processes are still running
-M (--monitor-continuously) like monitor but never stop (similar to watch progress)
-c (--command cmd) monitor only this command name (ex: firefox). This option can be used multiple times on the command line.
-a (--additional-command cmd) add this command to the default list. This option can be used multiple times on the command line.
-p (--pid id) monitor only this numeric process ID (ex: `pidof firefox`). This option can be used multiple times on the command line.
-i (--ignore-file file) do not report a process for 'file'. If the file does not exist yet, you must give a full and clean absolute path. This option can be used multiple times on the command line.
-o (--open-mode {r|w}) report only files opened for read or write by the process. This option is useful when you want to monitor only output files (or input ones) of a process.
-v (--version) show program version and exit
-h (--help) display help message and exit
It's possible to give permanent options using PROGRESS_ARGS environment variable.  See example below. Command line arguments take precedence over environment.
Continuously monitor all current and upcoming instances of coreutils commands
watch progress -q
See how your download is progressing
watch progress -wc firefox
Look at your Web server activity
progress -c httpd
Launch and monitor any heavy command using $!
cp bigfile newfile & progress -mp $!
Use environment variable to set permanent (multiple) arguments
export PROGRESS_ARGS='-M --ignore-file ~/.xsession-errors'
Please report bugs at: http://github.com/Xfennec/progress/issues
http://github.com/Xfennec/progress
This manual page was written by Thomas Zimmermann <bugs@vdm-design.de>, for the openSUSE project (and may be used by others).
XONSH(1)                          User Commands                         XONSH(1)
xonsh - Pythonish, BASHwards looking shell
Xonsh is a Python-ish shell language and command prompt. Unlike other shells, xonsh is based on Python, with additional syntax added that makes calling subprocess commands, manipulating the environment, and dealing with the file system easy. Xonsh supports all normal Python constructs and a subset of those available in bash.
usage: xonsh [-h] [-V] [-c COMMAND] [-i] [-l] [--config-path CONFIG_PATH]
[--rc RC [RC ...]] [--no-rc] [--no-script-cache] [--cache-everything] [-D ITEM] [--shell-type {b,best,d,dumb,ptk,ptk1,ptk2,prompt-toolkit,prompt_toolkit,prompt-toolkit1,prompt-toolkit2,rand,random,rl,readline}] [--timings] [script-file] ...
positional arguments: script-file If present, execute the script in script-file and exit
args   Additional arguments to the script specified by script-file
optional arguments: -h, --help show help and exit
-V, --version show version information and exit
-c COMMAND Run a single command and exit
-i, --interactive force running in interactive mode
-l, --login run as a login shell
--config-path CONFIG_PATH DEPRECATED: static configuration files may now be used in the XONSHRC file list, see the --rc option.
--rc RC [RC ...] The xonshrc files to load, these may be either xonsh files or JSON-based static configuration files.
--no-rc Do not load the .xonshrc files
--no-script-cache Do not cache scripts as they are run
--cache-everything Use a cache, even for interactive commands
-D ITEM define an environment variable, in the form of -DNAME=VAL. May be used many times.
--shell-type {b,best,d,dumb,ptk,ptk1,ptk2,prompt-toolkit,prompt_toolkit,prompt-toolkit1,prompt-toolkit2,rand,random,rl,readline} What kind of shell should be used. Possible options: readline, prompt_toolkit, random. Warning! If set this overrides $SHELL_TYPE variable.
--timings Prints timing information before the prompt is shown.  This is useful while tracking down performance issues and investigating startup times.
The run control file is written in xonsh script and executed once at start-up.
/etc/xonshrc System-wide run control file
~/.xonshrc Per-user run control file
In addition to the run control file, a JSON formatted static file can be used to set runtime parameters and environment variables before the xonshrc files are executed.
$XDG_CONFIG_HOME/xonsh/config.json Per-user static config file
WATCH(1)                          User Commands                         WATCH(1)
watch - execute a program periodically, showing output fullscreen
watch [options] command
watch runs command repeatedly, displaying its output and errors (the first screenfull).  This allows you to watch the program output change over time.  By default, command is run every 2 seconds and watch will run until interrupted.
-d, --differences[=permanent] Highlight the differences between successive updates. If the optional permanent argument is specified then watch will show all changes since the first iteration.
-n, --interval seconds Specify update interval.  The command will not allow quicker than 0.1 second interval, in which the smaller values are converted. Both '.' and ',' work for any locales. The WATCH_INTERVAL environment can be used to persistently set a non-default interval (following the same rules and formatting).
-p, --precise Make watch attempt to run command every --interval seconds.  Try it with ntptime (if present) and notice how the fractional seconds stays (nearly) the same, as opposed to normal mode where they continuously increase.
-t, --no-title Turn off the header showing the interval, command, and current time at the top of the display, as well as the following blank line.
-b, --beep Beep if command has a non-zero exit.
-e, --errexit Freeze updates on command error, and exit after a key press.
-g, --chgexit Exit when the output of command changes.
-c, --color Interpret ANSI color and style sequences.
-x, --exec Pass command to exec(2) instead of sh -c which reduces the need to use extra quoting to get the desired effect.
-w, --no-linewrap Turn off line wrapping. Long lines will be truncated instead of wrapped to the next line.
The behaviour of watch is affected by the following environment variables.
Upon terminal resize, the screen will not be correctly repainted until the next scheduled update.  All --differences highlighting is lost on that update as well.
Non-printing characters are stripped from program output.  Use cat -v as part of the command pipeline if you want to see them.
Combining Characters that are supposed to display on the character at the last column on the screen may display one column early, or they may not display at all.
Combining Characters never count as different in --differences mode. Only the base character counts.
Blank lines directly after a line which ends in the last column do not display.
To watch for mail, you might do watch -n 60 from To watch the contents of a directory change, you could use watch -d ls -l If you're only interested in files owned by user joe, you might use watch -d 'ls -l | fgrep joe' To see the effects of quoting, try these out watch echo $$ watch echo '$$' watch echo "'"'$$'"'" To see the effect of precision time keeping, try adding -p to watch -n 10 sleep 1 You can watch for your administrator to install the latest kernel with watch uname -r (Note that -p isn't guaranteed to work across reboots, especially in the face of ntpdate (if present) or other bootup time-changing mechanisms)
DELUGE(1)                    General Commands Manual                   DELUGE(1)
deluge - A BitTorrent client
deluge [options] [torrent-file]
Deluge utilizes a client/server model, with deluged being the daemon process and deluge being used to launch a user-interface.
By default, Deluge will run in Standalone mode where the daemon functionality will be hidden.  You can switch to Thinclient mode in the Preferences dialog.
Config Options -c path, --config=path Set the config directory location.
UI Options See deluge -h for available user interfaces.
user_interface [ui-args] Alternative UI to launch, with optional ui args
-s default_ui, --set-default-ui=default_ui Sets the default UI to be run when no UI is specified
Logging Options -l file, --logfile=file Output to specified logfile instead of stdout
-L loglevel, --loglevel=loglevel Set the log level (default is error): none, info, warning, error, debug
-q, --quiet Sets the log level to none, same as -L none
--logrotate[=max-size] Enable logfile rotation, with optional maximum logfile size, default: 2M (Logfile rotation count is 5)
--profile[=file] Profile with cProfile. Outputs to stdout unless a filename is specified
Help Options -V, --version Show program's version number and exit.
deluged(1), deluge-web(1) deluge-console(1),
Deluge Team: http://www.deluge-torrent.org
BADBLOCKS(8)                 System Manager's Manual                BADBLOCKS(8)
badblocks - search a device for bad blocks
badblocks [ -svwnfBX ] [ -b block_size ] [ -c blocks_at_once ] [ -d read_delay_factor ] [ -e max_bad_blocks ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ] device [ last_block ] [ first_block ]
badblocks is used to search for bad blocks on a device (usually a disk partition).  device is the special file corresponding to the device (e.g /dev/hdc1).  last_block is the last block to be checked; if it is not specified, the last block on the device is used as a default. first_block is an optional parameter specifying the starting block number for the test, which allows the testing to start in the middle of the disk.  If it is not specified the first block on the disk is used as a default.
Important note: If the output of badblocks is going to be fed to the e2fsck or mke2fs programs, it is important that the block size is properly specified, since the block numbers which are generated are very dependent on the block size in use by the file system.  For this reason, it is strongly recommended that users not run badblocks directly, but rather use the -c option of the e2fsck and mke2fs programs.
-b block_size Specify the size of blocks in bytes.  The default is 1024.
-c number of blocks is the number of blocks which are tested at a time.  The default is 64.
-d read delay factor This parameter, if passed and non-zero, will cause bad blocks to sleep between reads if there were no errors encountered in the read operation; the delay will be calculated as a percentage of the time it took for the read operation to be performed. In other words, a value of 100 will cause each read to be delayed by the amount the previous read took, and a value of 200 by twice the amount.
-e max bad block count Specify a maximum number of bad blocks before aborting the test. The default is 0, meaning the test will continue until the end of the test range is reached.
-f     Normally, badblocks will refuse to do a read/write or a non- destructive test on a device which is mounted, since either can cause the system to potentially crash and/or damage the file system even if it is mounted read-only.  This can be overridden using the -f flag, but should almost never be used --- if you think you're smarter than the badblocks program, you almost certainly aren't.  The only time when this option might be safe to use is if the /etc/mtab file is incorrect, and the device really isn't mounted.
-i input_file Read a list of already existing known bad blocks.  Badblocks will skip testing these blocks since they are known to be bad.  If input_file is specified as "-", the list will be read from the standard input.  Blocks listed in this list will be omitted from the list of new bad blocks produced on the standard output or in the output file.  The -b option of dumpe2fs(8) can be used to retrieve the list of blocks currently marked bad on an existing file system, in a format suitable for use with this option.
-n     Use non-destructive read-write mode.  By default only a non- destructive read-only test is done.  This option must not be combined with the -w option, as they are mutually exclusive.
-o output_file Write the list of bad blocks to the specified file.  Without this option, badblocks displays the list on its standard output.  The format of this file is suitable for use by the -l option in e2fsck(8) or mke2fs(8).
-p num_passes Repeat scanning the disk until there are no new blocks discovered in num_passes consecutive scans of the disk.  Default is 0, meaning badblocks will exit after the first pass.
-s     Show the progress of the scan by writing out rough percentage completion of the current badblocks pass over the disk.  Note that badblocks may do multiple test passes over the disk, in particular if the -p or -w option is requested by the user.
-t test_pattern Specify a test pattern to be read (and written) to disk blocks. The test_pattern may either be a numeric value between 0 and ULONG_MAX-1 inclusive, or the word "random", which specifies that the block should be filled with a random bit pattern.  For read/write (-w) and non-destructive (-n) modes, one or more test patterns may be specified by specifying the -t option for each test pattern desired.  For read-only mode only a single pattern may be specified and it may not be "random".  Read-only testing with a pattern assumes that the specified pattern has previously been written to the disk - if not, large numbers of blocks will fail verification.  If multiple patterns are specified then all blocks will be tested with one pattern before proceeding to the next pattern.
-v     Verbose mode.  Will write the number of read errors, write errors and data- corruptions to stderr.
-w     Use write-mode test. With this option, badblocks scans for bad blocks by writing some patterns (0xaa, 0x55, 0xff, 0x00) on every block of the device, reading every block and comparing the contents.  This option may not be combined with the -n option, as they are mutually exclusive.
-B     Use buffered I/O and do not use Direct I/O, even if it is available.
-X     Internal flag only to be used by e2fsck(8) and mke2fs(8).  It bypasses the exclusive mode in-use device safety check.
Never use the -w option on a device containing an existing file system. This option erases data!  If you want to do write-mode testing on an existing file system, use the -n option instead.  It is slower, but it will preserve your data.
The -e option will cause badblocks to output a possibly incomplete list of bad blocks. Therefore it is recommended to use it only when one wants to know if there are any bad blocks at all on the device, and not when the list of bad blocks is wanted.
badblocks was written by Remy Card <Remy.Card@linux.org>.  Current maintainer is Theodore Ts'o <tytso@alum.mit.edu>.  Non-destructive read/write test implemented by David Beattie <dbeattie@softhome.net>.
badblocks is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net.
e2fsck(8), mke2fs(8)
GIT-CHECK-ATTR(1)                  Git Manual                  GIT-CHECK-ATTR(1)
git-check-attr - Display gitattributes information
git check-attr [-a | --all | <attr>...] [--] <pathname>... git check-attr --stdin [-z] [-a | --all | <attr>...]
For every pathname, this command will list if each attribute is unspecified, set, or unset as a gitattribute on that pathname.
-a, --all List all attributes that are associated with the specified paths. If this option is used, then unspecified attributes will not be included in the output.
--cached Consider .gitattributes in the index only, ignoring the working tree.
-z The output format is modified to be machine-parsable. If --stdin is also given, input paths are separated with a NUL character instead of a linefeed character.
-- Interpret all preceding arguments as attributes and all following arguments as path names.
If none of --stdin, --all, or -- is used, the first argument will be treated as an attribute and the rest of the arguments as pathnames.
The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF
unless -z is in effect, in which case NUL is used as delimiter: <path> NUL <attribute> NUL <info> NUL
<path> is the path of a file being queried, <attribute> is an attribute being queried and <info> can be either:
unspecified when the attribute is not defined for the path.
unset when the attribute is defined as false.
set when the attribute is defined as true.
<value> when a value has been assigned to the attribute.
In the examples, the following .gitattributes file is used:
*.java diff=java -crlf myAttr NoMyAttr.java !myAttr README caveat=unspecified
•   Listing a single attribute:
$ git check-attr diff org/example/MyClass.java org/example/MyClass.java: diff: java
•   Listing multiple attributes for a file:
$ git check-attr crlf diff myAttr -- org/example/MyClass.java org/example/MyClass.java: crlf: unset org/example/MyClass.java: diff: java org/example/MyClass.java: myAttr: set
•   Listing all attributes for a file:
$ git check-attr --all -- org/example/MyClass.java org/example/MyClass.java: diff: java org/example/MyClass.java: myAttr: set
•   Listing an attribute for multiple files:
$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java org/example/MyClass.java: myAttr: set org/example/NoMyAttr.java: myAttr: unspecified
•   Not all values are equally unambiguous:
$ git check-attr caveat README README: caveat: unspecified
gitattributes(5).
rclone(1)                                                              rclone(1)
Rclone syncs your files to cloud storage • About rclone
• What can rclone do for you?
• What features does rclone have?
• What providers does rclone support?
• Download (https://rclone.org/downloads/)
• Install (https://rclone.org/install/)
• Donate. (https://rclone.org/donate/)
About rclone Rclone is a command line program to manage files on cloud storage.  It is a feature rich alternative to cloud vendors' web storage interfaces. Over 40 cloud storage products support rclone including S3 object stores, business & consumer file storage services, as well as standard transfer protocols.
Rclone has powerful cloud equivalents to the unix commands rsync, cp, mv, mount, ls, ncdu, tree, rm, and cat.  Rclone's familiar syntax includes shell pipeline support, and --dry-run protection.  It is used at the command line, in scripts or via its API (/rc).
Users call rclone "The Swiss army knife of cloud storage", and "Technology indistinguishable from magic".
Rclone really looks after your data.  It preserves timestamps and verifies checksums at all times.  Transfers over limited bandwidth; intermittent connections, or subject to quota can be restarted, from the last good file transferred.  You can check (https://rclone.org/commands/rclone_check/) the integrity of your files. Where possible, rclone employs server-side transfers to minimise local bandwidth use and transfers from one provider to another without using local disk.
Virtual backends wrap local and cloud file systems to apply encryption (https://rclone.org/crypt/), compression (https://rclone.org/compress/), chunking (https://rclone.org/chunker/), hashing (https://rclone.org/hasher/) and joining (https://rclone.org/union/).
Rclone mounts (https://rclone.org/commands/rclone_mount/) any local, cloud or virtual filesystem as a disk on Windows, macOS, linux and FreeBSD, and also serves these over SFTP (https://rclone.org/commands/rclone_serve_sftp/), HTTP (https://rclone.org/commands/rclone_serve_http/), WebDAV (https://rclone.org/commands/rclone_serve_webdav/), FTP (https://rclone.org/commands/rclone_serve_ftp/) and DLNA (https://rclone.org/commands/rclone_serve_dlna/).
Rclone is mature, open source software originally inspired by rsync and written in Go (https://golang.org).  The friendly support community are familiar with varied use cases.  Official Ubuntu, Debian, Fedora, Brew and Chocolatey repos.  include rclone.  For the latest version downloading from rclone.org (https://rclone.org/downloads/) is recommended.
Rclone is widely used on Linux, Windows and Mac.  Third party developers create innovative backup, restore, GUI and business process solutions using the rclone command line or API.
Rclone does the heavy lifting of communicating with cloud storage.
What can rclone do for you? Rclone helps you:
• Backup (and encrypt) files to cloud storage
• Restore (and decrypt) files from cloud storage
• Mirror cloud data to other cloud services or locally
• Migrate data to cloud, or between cloud storage vendors
• Mount multiple, encrypted, cached or diverse cloud storage as a disk
• Analyse and account for data held on cloud storage using lsf (https://rclone.org/commands/rclone_lsf/), ljson (https://rclone.org/commands/rclone_lsjson/), size (https://rclone.org/commands/rclone_size/), ncdu (https://rclone.org/commands/rclone_ncdu/)
• Union (https://rclone.org/union/) file systems together to present multiple local and/or cloud file systems as one
Features • Transfers
• MD5, SHA1 hashes are checked at all times for file integrity
• Timestamps are preserved on files
• Operations can be restarted at any time
• Can be to and from network, e.g.  two different cloud providers
• Can use multi-threaded downloads to local disk
• Copy (https://rclone.org/commands/rclone_copy/) new or changed files to cloud storage
• Sync (https://rclone.org/commands/rclone_sync/) (one way) to make a directory identical
• Move (https://rclone.org/commands/rclone_move/) files to cloud storage deleting the local after verification
• Check (https://rclone.org/commands/rclone_check/) hashes and for missing/extra files
• Mount (https://rclone.org/commands/rclone_mount/) your cloud storage as a network disk
• Serve (https://rclone.org/commands/rclone_serve/) local or remote files over HTTP (https://rclone.org/commands/rclone_serve_http/)/WebDav (https://rclone.org/commands/rclone_serve_webdav/)/FTP (https://rclone.org/commands/rclone_serve_ftp/)/SFTP (https://rclone.org/commands/rclone_serve_sftp/)/dlna (https://rclone.org/commands/rclone_serve_dlna/)
• Experimental Web based GUI (https://rclone.org/gui/)
Supported providers (There are many others, built on standard protocols such as WebDAV or S3, that work out of the box.)
• 1Fichier
• Alibaba Cloud (Aliyun) Object Storage System (OSS)
• Amazon Drive
• Amazon S3
• Backblaze B2
• Box
• Ceph
• Citrix ShareFile
• C14
• DigitalOcean Spaces
• Dreamhost
• Dropbox
• Enterprise File Fabric
• FTP
• Google Cloud Storage
• Google Drive
• Google Photos
• HDFS
• HTTP
• Hubic
• Jottacloud
• IBM COS S3
• Koofr
• Mail.ru Cloud
• Memset Memstore
• Mega
• Memory
• Microsoft Azure Blob Storage
• Microsoft OneDrive
• Minio
• Nextcloud
• OVH
• OpenDrive
• OpenStack Swift
• Oracle Cloud Storage
• ownCloud
• pCloud
• premiumize.me
• put.io
• QingStor
• Rackspace Cloud Files
• rsync.net
• Scaleway
• Seafile
• SeaweedFS
• SFTP
• Sia
• StackPath
• SugarSync
• Tardigrade
• Tencent Cloud Object Storage (COS)
• Uptobox
• Wasabi
• WebDAV
• Yandex Disk
• Zoho WorkDrive
• The local filesystem
• Home page (https://rclone.org/)
• GitHub project page for source and bug tracker (https://github.com/rclone/rclone)
• Rclone Forum (https://forum.rclone.org)
• Downloads (https://rclone.org/downloads/)
Install Rclone is a Go program and comes as a single binary file.
Quickstart • Download (https://rclone.org/downloads/) the relevant binary.
• Extract the rclone executable, rclone.exe on Windows, from the archive.
• Run rclone config to setup.  See rclone config docs (https://rclone.org/docs/) for more details.
• Optionally configure automatic execution.
See below for some expanded Linux / macOS instructions.
See the usage (https://rclone.org/docs/) docs for how to use rclone, or run rclone -h.
Already installed rclone can be easily updated to the latest version using the rclone selfupdate (https://rclone.org/commands/rclone_selfupdate/) command.
Script installation To install rclone on Linux/macOS/BSD systems, run:
curl https://rclone.org/install.sh | sudo bash
For beta installation, run:
curl https://rclone.org/install.sh | sudo bash -s beta
Note that this script checks the version of rclone installed first and won't re-download if not needed.
Linux installation from precompiled binary Fetch and unpack
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64
Copy binary file
sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone
Install manpage
sudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb
Run rclone config to setup.  See rclone config docs (https://rclone.org/docs/) for more details.
rclone config
macOS installation with brew brew install rclone
NOTE: This version of rclone will not support mount any more (see #5373 (https://github.com/rclone/rclone/issues/5373)).  If mounting is wanted on macOS, either install a precompiled binary or enable the relevant option when installing from source.
macOS installation from precompiled binary, using curl To avoid problems with macOS gatekeeper enforcing the binary to be signed and notarized it is enough to download with curl.
Download the latest version of rclone.
cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
Unzip the download and cd to the extracted folder.
unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
Move rclone to your $PATH.  You will be prompted for your password.
sudo mkdir -p /usr/local/bin sudo mv rclone /usr/local/bin/
(the mkdir command is safe to run, even if the directory already exists).
Remove the leftover files.
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
macOS installation from precompiled binary, using a web browser When downloading a binary with a web browser, the browser will set the macOS gatekeeper quarantine attribute.  Starting from Catalina, when attempting to run rclone, a pop-up will appear saying:
“rclone” cannot be opened because the developer cannot be verified. macOS cannot verify that this app is free from malware.
The simplest fix is to run
xattr -d com.apple.quarantine rclone
Install with docker The rclone maintains a docker image for rclone (https://hub.docker.com/r/rclone/rclone).  These images are autobuilt by docker hub from the rclone source based on a minimal Alpine linux image.
The :latest tag will always point to the latest stable release.  You can use the :beta tag to get the latest build from master.  You can also use version tags, e.g.  :1.49.1, :1.49 or :1.
$ docker pull rclone/rclone:latest latest: Pulling from rclone/rclone Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11 ... $ docker run --rm rclone/rclone:latest version rclone v1.49.1 - os/arch: linux/amd64 - go version: go1.12.9
There are a few command line options to consider when starting an rclone Docker container from the rclone image.
• You need to mount the host rclone config dir at /config/rclone into the Docker container.  Due to the fact that rclone updates tokens inside its config file, and that the update process involves a file rename, you need to mount the whole host rclone config dir, not just the single host rclone config file.
• You need to mount a host data dir at /data into the Docker container.
• By default, the rclone binary inside a Docker container runs with UID=0 (root).  As a result, all files created in a run will have UID=0.  If your config and data files reside on the host with a non-root UID:GID, you need to pass these on the container start command line.
• If you want to access the RC interface (either via the API or the Web UI), it is required to set the --rc-addr to :5572 in order to connect to it from outside the container.  An explanation about why this is necessary is present here (https://web.archive.org/web/20200808071950/https://pythonspeed.com/articles/docker- connection-refused/).
• NOTE: Users running this container with the docker network set to host should probably set it to listen to localhost only, with 127.0.0.1:5572 as the value for --rc-addr
• It is possible to use rclone mount inside a userspace Docker container, and expose the resulting fuse mount to the host.  The exact docker run options to do that might vary slightly between hosts.  See, e.g.  the discussion in this thread (https://github.com/moby/moby/issues/9448).
You also need to mount the host /etc/passwd and /etc/group for fuse to work inside the container.
Here are some commands tested on an Ubuntu 18.04.3 host:
# config on host at ~/.config/rclone/rclone.conf # data on host at ~/data
# make sure the config is ok by listing the remotes docker run --rm \ --volume ~/.config/rclone:/config/rclone \ --volume ~/data:/data:shared \ --user $(id -u):$(id -g) \ rclone/rclone \ listremotes
# perform mount inside Docker container, expose result to host mkdir -p ~/data/mount docker run --rm \ --volume ~/.config/rclone:/config/rclone \ --volume ~/data:/data:shared \ --user $(id -u):$(id -g) \ --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \ --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \ rclone/rclone \ mount dropbox:Photos /data/mount & ls ~/data/mount kill %1
Install from source Make sure you have at least Go (https://golang.org/) go1.14 installed. Download go (https://golang.org/dl/) if necessary.  The latest release is recommended.  Then
git clone https://github.com/rclone/rclone.git cd rclone go build # If on macOS and mount is wanted, instead run: make GOTAGS=cmount ./rclone version
This will leave you a checked out version of rclone you can modify and send pull requests with.  If you use make instead of go build then the rclone build will have the correct version information in it.
You can also build the latest stable rclone with:
go get github.com/rclone/rclone
or the latest version (equivalent to the beta) with
go get github.com/rclone/rclone@master
These will build the binary in $(go env GOPATH)/bin (~/go/bin/rclone by default) after downloading the source to the go module cache.  Note - do not use the -u flag here.  This causes go to try to update the dependencies that rclone uses and sometimes these don't work with the current version of rclone.
Installation with Ansible This can be done with Stefan Weichinger's ansible role (https://github.com/stefangweichinger/ansible-rclone).
1. git clone https://github.com/stefangweichinger/ansible-rclone.git into your local roles-directory
2. add the role to the hosts you want rclone installed to:
- hosts: rclone-hosts roles: - rclone
Portable installation As mentioned above (https://rclone.org/install/#quickstart), rclone is single executable (rclone, or rclone.exe on Windows) that you can download as a zip archive and extract into a location of your choosing. When executing different commands, it may create files in different locations, such as a configuration file and various temporary files.  By default the locations for these are according to your operating system, e.g.  configuration file in your user profile directory and temporary files in the standard temporary directory, but you can customize all of them, e.g.  to make a completely self-contained, portable installation.
Run the config paths (https://rclone.org/commands/rclone_config_paths/) command to see the locations that rclone will use.
To override them set the corresponding options (as command-line arguments, or as environment variables (https://rclone.org/docs/#environment-variables)): - --config (https://rclone.org/docs/#config-config-file) - --cache-dir (https://rclone.org/docs/#cache-dir-dir) - --temp-dir (https://rclone.org/docs/#temp-dir-dir)
Autostart After installing and configuring rclone, as described above, you are ready to use rclone as an interactive command line utility.  If your goal is to perform periodic operations, such as a regular sync (https://rclone.org/commands/rclone_sync/), you will probably want to configure your rclone command in your operating system's scheduler.  If you need to expose service-like features, such as remote control (https://rclone.org/rc/), GUI (https://rclone.org/gui/), serve (https://rclone.org/commands/rclone_serve/) or mount (https://rclone.org/commands/rclone_move/), you will often want an rclone command always running in the background, and configuring it to run in a service infrastructure may be a better option.  Below are some alternatives on how to achieve this on different operating systems.
NOTE: Before setting up autorun it is highly recommended that you have tested your command manually from a Command Prompt first.