uudecode flags / help / command example

[email protected]:~$ uudecode --help
uudecode (GNU sharutils) - decode an encoded file
Usage:  uudecode [ - [] | --[{=| }] ]... [...]

   -o, --output-file=str      direct output to file
   -c, --ignore-chmod         ignore fchmod(3P) errors
   -v, --version[=MODE]       output version information and exit
   -h, --help                 display extended usage information and exit
   -!, --more-help            extended usage information passed thru pager
   -R, --save-opts[=FILE]     save the option state to a config file FILE
   -r, --load-opts=FILE       load options from the config file FILE
                                - disabled with '--no-load-opts'
                                - may appear multiple times

Options are specified by doubled hyphens and their name or by a single
hyphen and the flag character.
If no 'file'(s) are provided, then standard input is decoded.

The following option preset mechanisms are supported:
 - reading file $HOME/.sharrc

'uudecode' transforms uuencoded files into their original form.

The encoded file(s) may be specified on the command line, or one may be
read from standard input.  The output file name is specified in the encoded
file, but may be overridden with the '-o' option.  It will have the mode of
the original file, except that setuid and execute bits are not retained.  If
the output file is specified to be '/dev/stdout' or '-', the result will be
written to standard output.  If there are multiple input files and the
second or subsquent file specifies standard output, the decoded data will
be written to the same file as the previous output.  Don't do that.

'uudecode' ignores any leading and trailing lines.  It looks for a line
that starts with "'begin'" and proceeds until the end-of-encoding marker is
found.  The program determines from the header line of the encoded file
which of the two supported encoding schemes was used and whether or not the
output file name has been encoded with base64 encoding.  See 'uuencode(5)'.

Please send bug reports to:  

qpdf flags / usage commands

qpdf --help

Usage: qpdf [ options ] { infilename | --empty } [ outfilename ]

An option summary appears below.  Please see the documentation for details.

If @filename appears anywhere in the command-line, each line of filename
will be interpreted as an argument. No interpolation is done. Line
terminators are stripped. @- can be specified to read from standard input.

Note that when contradictory options are provided, whichever options are
provided last take precedence.

Basic Options

--version               show version of qpdf
--copyright             show qpdf's copyright and license information
--help                  show command-line argument help
--password=password     specify a password for accessing encrypted files
--verbose               provide additional informational output
--linearize             generated a linearized (web optimized) file
--copy-encryption=file  copy encryption parameters from specified file
                        password used to open the file from which encryption
                        parameters are being copied
--encrypt options --    generate an encrypted file
--decrypt               remove any encryption on the file
--password-is-hex-key   treat primary password option as a hex-encoded key
--pages options --      select specific pages from one or more files
                        rotate each specified page 90, 180, or 270 degrees
--split-pages=[n]       write each output page to a separate file

If none of --copy-encryption, --encrypt or --decrypt are given, qpdf will
preserve any encryption data associated with a file.

Note that when copying encryption parameters from another file, all
parameters will be copied, including both user and owner passwords, even
if the user password is used to open the other file.  This works even if
the owner password is not known.

The --password-is-hex-key option overrides the normal computation of
encryption keys. It only applies to the password used to open the main
file. This option is not ordinarily useful but can be helpful for forensic
or investigatory purposes. See manual for further discussion.

The --rotate flag can be used to specify pages to rotate pages either
90, 180, or 270 degrees. The page range is specified in the same
format as with the --pages option, described below. Repeat the option
to rotate multiple groups of pages. If the angle is preceded by + or -,
it is added to or subtracted from the original rotation. Otherwise, the
rotation angle is set explicitly to the given value.

If --split-pages is specified, each page is written to a separate output
file. File names are generated as follows:
* If the string %d appears in the output file name, it is replaced with a
  zero-padded page range starting from 1
* Otherwise, if the output file name ends in .pdf (case insensitive), a
  zero-padded page range, preceded by a dash, is inserted before the file
* Otherwise, the file name is appended with a zero-padded page range
  preceded by a dash.
Page ranges are single page numbers for single-page groups or first-last
for multipage groups.

Encryption Options

  --encrypt user-password owner-password key-length flags --

Note that -- terminates parsing of encryption flags.

Either or both of the user password and the owner password may be
empty strings.

key-length may be 40, 128, or 256

Additional flags are dependent upon key length.

  If 40:

    --print=[yn]             allow printing
    --modify=[yn]            allow document modification
    --extract=[yn]           allow text/graphic extraction
    --annotate=[yn]          allow comments and form fill-in and signing

  If 128:

    --accessibility=[yn]     allow accessibility to visually impaired
    --extract=[yn]           allow other text/graphic extraction
    --print=print-opt        control printing access
    --modify=modify-opt      control modify access
    --cleartext-metadata     prevents encryption of metadata
    --use-aes=[yn]           indicates whether to use AES encryption
    --force-V4               forces use of V=4 encryption handler

  If 256, options are the same as 128 with these exceptions:
    --force-V4               this option is not available with 256-bit keys
    --use-aes                this option is always on with 256-bit keys
    --force-R5               forces use of deprecated R=5 encryption

    print-opt may be:

      full                  allow full printing
      low                   allow only low-resolution printing
      none                  disallow printing

    modify-opt may be:

      all                   allow full document modification
      annotate              allow comment authoring and form operations
      form                  allow form field fill-in and signing
      assembly              allow document assembly only
      none                  allow no modifications

The default for each permission option is to be fully permissive.

Specifying cleartext-metadata forces the PDF version to at least 1.5.
Specifying use of AES forces the PDF version to at least 1.6.  These
options are both off by default.

The --force-V4 flag forces the V=4 encryption handler introduced in PDF 1.5
to be used even if not otherwise needed.  This option is primarily useful
for testing qpdf and has no other practical use.

Page Selection Options

These options allow pages to be selected from one or more PDF files.
Whatever file is given as the primary input file is used as the
starting point, but its pages are replaced with pages as specified.

--pages file [ --password=password ] [ page-range ] ... --

For each file that pages should be taken from, specify the file, a
password needed to open the file (if any), and a page range.  The
password needs to be given only once per file.  If any of the input
files are the same as the primary input file or the file used to copy
encryption parameters (if specified), you do not need to repeat the
password here.  The same file can be repeated multiple times.  All
non-page data (info, outlines, page numbers, etc. are taken from the
primary input file.  To discard this, use --empty as the primary

The page range is a set of numbers separated by commas, ranges of
numbers separated dashes, or combinations of those.  The character
"z" represents the last page.  A number preceded by an "r" indicates
to count from the end, so "r3-r1" would be the last three pages of the
document.  Pages can appear in any order.  Ranges can appear with a
high number followed by a low number, which causes the pages to appear in
reverse.  Repeating a number will cause an error, but the manual discusses
a workaround should you really want to include the same page twice.

If the page range is omitted, the range of 1-z is assumed.  qpdf decides
that the page range is omitted if the range argument is either -- or a
valid file name and not a valid range.

See the manual for examples and a discussion of additional subtleties.

Advanced Parsing Options

These options control aspects of how qpdf reads PDF files. Mostly these are
of use to people who are working with damaged files. There is little reason
to use these options unless you are trying to solve specific problems.

--suppress-recovery       prevents qpdf from attempting to recover damaged files
--ignore-xref-streams     tells qpdf to ignore any cross-reference streams

Advanced Transformation Options

These transformation options control fine points of how qpdf creates
the output file.  Mostly these are of use only to people who are very
familiar with the PDF file format or who are PDF developers.

--stream-data=option      controls transformation of stream data (below)
--compress-streams=[yn]   controls whether to compress streams on output
--decode-level=option     controls how to filter streams from the input
--normalize-content=[yn]  enables or disables normalization of content streams
--object-streams=mode     controls handing of object streams
--preserve-unreferenced   preserve unreferenced objects
--newline-before-endstream  always put a newline before endstream
--coalesce-contents       force all pages' content to be a single stream
--qdf                     turns on "QDF mode" (below)
--linearize-pass1=file    write intermediate pass of linearized file
                          for debugging
--min-version=version     sets the minimum PDF version of the output file
--force-version=version   forces this to be the PDF version of the output file

Version numbers may be expressed as major.minor.extension-level, so 1.7.3
means PDF version 1.7 at extension level 3.

Values for stream data options:

  compress              recompress stream data when possible (default)
  preserve              leave all stream data as is
  uncompress            uncompress stream data when possible

Values for object stream mode:

  preserve                  preserve original object streams (default)
  disable                   don't write any object streams
  generate                  use object streams wherever possible

When --compress-streams=n is specified, this overrides the default behavior
of qpdf, which is to attempt compress uncompressed streams. Setting
stream data mode to uncompress or preserve has the same effect.

The --decode-level parameter may be set to one of the following values:
  none              do not decode streams
  generalized       decode streams compressed with generalized filters
                    including LZW, Flate, and the ASCII encoding filters.
  specialized       additionally decode streams with non-lossy specialized
                    filters including RunLength
  all               additionally decode streams with lossy filters
                    including DCT (JPEG)

In qdf mode, by default, content normalization is turned on, and the
stream data mode is set to uncompress.

Setting the minimum PDF version of the output file may raise the version
but will never lower it.  Forcing the PDF version of the output file may
set the PDF version to a lower value than actually allowed by the file's
contents.  You should only do this if you have no other possible way to
open the file or if you know that the file definitely doesn't include
features not supported later versions.

Testing, Inspection, and Debugging Options

These options can be useful for digging into PDF files or for use in
automated test suites for software that uses the qpdf library.

--deterministic-id        generate deterministic /ID
--static-id               generate static /ID: FOR TESTING ONLY!
--static-aes-iv           use a static initialization vector for AES-CBC
                          This is option is not secure!  FOR TESTING ONLY!
--no-original-object-ids  suppress original object ID comments in qdf mode
--show-encryption         quickly show encryption parameters
--show-encryption-key     when showing encryption, reveal the actual key
--check-linearization     check file integrity and linearization status
--show-linearization      check and show all linearization data
--show-xref               show the contents of the cross-reference table
--show-object=obj[,gen]   show the contents of the given object
  --raw-stream-data       show raw stream data instead of object contents
  --filtered-stream-data  show filtered stream data instead of object contents
--show-npages             print the number of pages in the file
--show-pages              shows the object/generation number for each page
  --with-images           also shows the object IDs for images on each page
--check                   check file structure + encryption, linearization

The --raw-stream-data and --filtered-stream-data options are ignored
unless --show-object is given.  Either of these options will cause the
stream data to be written to standard output.

If --filtered-stream-data is given and --normalize-content=y is also
given, qpdf will attempt to normalize the stream data as if it is a
page content stream.  This attempt will be made even if it is not a
page content stream, in which case it will produce unusable results.

Ordinarily, qpdf exits with a status of 0 on success or a status of 2
if any errors occurred.  In --check mode, if there were warnings but not
errors, qpdf exits with a status of 3.

textract usage flags / command options

basic usage is as simple as

textract filename.png -o output.txt

The above command will output the text contents of the image to the file output.txt

All usage flags / command options are as follows:

usage: textract [-h]
                [-e {aliases,ascii,base64_codec,big5,big5hkscs,bz2_codec,charmap,cp037,cp1006,cp1026,cp1140,cp1250,cp1251,cp1252,cp1253,cp1254,cp1255,cp1256,cp1257,cp1258,cp424,cp437,cp500,cp720,cp737,cp775,cp850,cp852,cp855,cp856,cp857,cp858,cp860,cp861,cp862,cp863,cp864,cp865,cp866,cp869,cp874,cp875,cp932,cp949,cp950,euc_jis_2004,euc_jisx0213,euc_jp,euc_kr,gb18030,gb2312,gbk,hex_codec,hp_roman8,hz,idna,iso2022_jp,iso2022_jp_1,iso2022_jp_2,iso2022_jp_2004,iso2022_jp_3,iso2022_jp_ext,iso2022_kr,iso8859_1,iso8859_10,iso8859_11,iso8859_13,iso8859_14,iso8859_15,iso8859_16,iso8859_2,iso8859_3,iso8859_4,iso8859_5,iso8859_6,iso8859_7,iso8859_8,iso8859_9,johab,koi8_r,koi8_u,latin_1,mac_arabic,mac_centeuro,mac_croatian,mac_cyrillic,mac_farsi,mac_greek,mac_iceland,mac_latin2,mac_roman,mac_romanian,mac_turkish,mbcs,palmos,ptcp154,punycode,quopri_codec,raw_unicode_escape,rot_13,shift_jis,shift_jis_2004,shift_jisx0213,string_escape,tactis,tis_620,undefined,unicode_escape,unicode_internal,utf_16,utf_16_be,utf_16_le,utf_32,utf_32_be,utf_32_le,utf_7,utf_8,utf_8_sig,uu_codec,zlib_codec}]
                [--extension {.csv,.doc,.docx,.eml,.epub,.gif,.htm,.html,.jpeg,.jpg,.json,.log,.mp3,.msg,.odt,.ogg,.pdf,.png,.pptx,.ps,.psv,.rtf,.tff,.tif,.tiff,.tsv,.txt,.wav,.xls,.xlsx,csv,doc,docx,eml,epub,gif,htm,html,jpeg,jpg,json,log,mp3,msg,odt,ogg,pdf,png,pptx,ps,psv,rtf,tff,tif,tiff,tsv,txt,wav,xls,xlsx}]
                [-m METHOD] [-o OUTPUT] [-O OPTION] [-v]

Command line tool for extracting text from any document.

positional arguments:
  filename              Filename to extract text.

optional arguments:
  -h, --help            show this help message and exit
  -e {aliases,ascii,base64_codec,big5,big5hkscs,bz2_codec,charmap,cp037,cp1006,cp1026,cp1140,cp1250,cp1251,cp1252,cp1253,cp1254,cp1255,cp1256,cp1257,cp1258,cp424,cp437,cp500,cp720,cp737,cp775,cp850,cp852,cp855,cp856,cp857,cp858,cp860,cp861,cp862,cp863,cp864,cp865,cp866,cp869,cp874,cp875,cp932,cp949,cp950,euc_jis_2004,euc_jisx0213,euc_jp,euc_kr,gb18030,gb2312,gbk,hex_codec,hp_roman8,hz,idna,iso2022_jp,iso2022_jp_1,iso2022_jp_2,iso2022_jp_2004,iso2022_jp_3,iso2022_jp_ext,iso2022_kr,iso8859_1,iso8859_10,iso8859_11,iso8859_13,iso8859_14,iso8859_15,iso8859_16,iso8859_2,iso8859_3,iso8859_4,iso8859_5,iso8859_6,iso8859_7,iso8859_8,iso8859_9,johab,koi8_r,koi8_u,latin_1,mac_arabic,mac_centeuro,mac_croatian,mac_cyrillic,mac_farsi,mac_greek,mac_iceland,mac_latin2,mac_roman,mac_romanian,mac_turkish,mbcs,palmos,ptcp154,punycode,quopri_codec,raw_unicode_escape,rot_13,shift_jis,shift_jis_2004,shift_jisx0213,string_escape,tactis,tis_620,undefined,unicode_escape,unicode_internal,utf_16,utf_16_be,utf_16_le,utf_32,utf_32_be,utf_32_le,utf_7,utf_8,utf_8_sig,uu_codec,zlib_codec}, --encoding {aliases,ascii,base64_codec,big5,big5hkscs,bz2_codec,charmap,cp037,cp1006,cp1026,cp1140,cp1250,cp1251,cp1252,cp1253,cp1254,cp1255,cp1256,cp1257,cp1258,cp424,cp437,cp500,cp720,cp737,cp775,cp850,cp852,cp855,cp856,cp857,cp858,cp860,cp861,cp862,cp863,cp864,cp865,cp866,cp869,cp874,cp875,cp932,cp949,cp950,euc_jis_2004,euc_jisx0213,euc_jp,euc_kr,gb18030,gb2312,gbk,hex_codec,hp_roman8,hz,idna,iso2022_jp,iso2022_jp_1,iso2022_jp_2,iso2022_jp_2004,iso2022_jp_3,iso2022_jp_ext,iso2022_kr,iso8859_1,iso8859_10,iso8859_11,iso8859_13,iso8859_14,iso8859_15,iso8859_16,iso8859_2,iso8859_3,iso8859_4,iso8859_5,iso8859_6,iso8859_7,iso8859_8,iso8859_9,johab,koi8_r,koi8_u,latin_1,mac_arabic,mac_centeuro,mac_croatian,mac_cyrillic,mac_farsi,mac_greek,mac_iceland,mac_latin2,mac_roman,mac_romanian,mac_turkish,mbcs,palmos,ptcp154,punycode,quopri_codec,raw_unicode_escape,rot_13,shift_jis,shift_jis_2004,shift_jisx0213,string_escape,tactis,tis_620,undefined,unicode_escape,unicode_internal,utf_16,utf_16_be,utf_16_le,utf_32,utf_32_be,utf_32_le,utf_7,utf_8,utf_8_sig,uu_codec,zlib_codec}
                        Specify the encoding of the output.
  --extension {.csv,.doc,.docx,.eml,.epub,.gif,.htm,.html,.jpeg,.jpg,.json,.log,.mp3,.msg,.odt,.ogg,.pdf,.png,.pptx,.ps,.psv,.rtf,.tff,.tif,.tiff,.tsv,.txt,.wav,.xls,.xlsx,csv,doc,docx,eml,epub,gif,htm,html,jpeg,jpg,json,log,mp3,msg,odt,ogg,pdf,png,pptx,ps,psv,rtf,tff,tif,tiff,tsv,txt,wav,xls,xlsx}
                        Specify the extension of the file.
  -m METHOD, --method METHOD
                        Specify a method of extraction for formats that
                        support it
  -o OUTPUT, --output OUTPUT
                        Output raw text in this file
  -O OPTION, --option OPTION
                        Add arbitrary options to various parsers of the form
                        KEYWORD=VALUE. A full list of available KEYWORD
                        options is available at http://bit.ly/textract-options
  -v, --version         show program's version number and exit

pandoc flags help

[email protected]:~$ pandoc --help
pandoc [OPTIONS] [FILES]
  -f FORMAT, -r FORMAT  --from=FORMAT, --read=FORMAT
  -t FORMAT, -w FORMAT  --to=FORMAT, --write=FORMAT
  -o FILENAME           --output=FILENAME
  -R                    --parse-raw
  -S                    --smart
  -F PROGRAM            --filter=PROGRAM
  -p                    --preserve-tabs
  -s                    --standalone
  -M KEY[:VALUE]        --metadata=KEY[:VALUE]
  -V KEY[:VALUE]        --variable=KEY[:VALUE]
  -D FORMAT             --print-default-template=FORMAT
                        --toc, --table-of-contents
  -H FILENAME           --include-in-header=FILENAME
  -B FILENAME           --include-before-body=FILENAME
  -A FILENAME           --include-after-body=FILENAME
  -N                    --number-sections
  -i                    --incremental
  -T STRING             --title-prefix=STRING
  -c URL                --css=URL
  -m[URL]               --latexmathml[=URL], --asciimathml[=URL]
  -v                    --version
  -h                    --help

jpegoptim Flags

jpegoptim -help
jpegoptim v1.4.4 Copyright (c) 1996-2016, Timo Kokkonen
Usage: jpegoptim [options]

-d, --dest= specify alternative destination directory for
optimized files (default is to overwrite originals)
-f, --force force optimization
-h, --help display this help and exit
-m, --max=
set maximum image quality factor (disables lossless
optimization mode, which is by default on)
Valid quality values: 0 - 100
-n, --noaction don't really optimize files, just print results
-S, --size=
Try to optimize file to given size (disables lossless
optimization mode). Target size is specified either in
kilo bytes (1 - n) or as percentage (1% - 99%)
-T, --threshold= keep old file if the gain is below a threshold (%)
-b, --csv print progress info in CSV format
-o, --overwrite overwrite target file even if it exists (meaningful
only when used with -d, --dest option)
-p, --preserve preserve file timestamps
-P, --preserve-perms
preserve original file permissions by overwriting it
-q, --quiet quiet mode
-t, --totals print totals after processing all files
-v, --verbose enable verbose mode (positively chatty)
-V, --version print program version

-s, --strip-all strip all markers from output file
--strip-none do not strip any markers
--strip-com strip Comment markers from output file
--strip-exif strip Exif markers from output file
--strip-iptc strip IPTC/Photoshop (APP13) markers from output file
--strip-icc strip ICC profile markers from output file
--strip-xmp strip XMP markers markers from output file

--all-normal force all output files to be non-progressive
--all-progressive force all output files to be progressive
--stdout send output to standard output (instead of a file)
--stdin read input from standard input (instead of a file)

ulimit flags, commands, and help

help ulimit
ulimit: ulimit [-SHacdefilmnpqrstuvx] [limit]
Modify shell resource limits.

Provides control over the resources available to the shell and processes
it creates, on systems that allow such control.

-S use the `soft' resource limit
-H use the `hard' resource limit
-a all current limits are reported
-b the socket buffer size
-c the maximum size of core files created
-d the maximum size of a process's data segment
-e the maximum scheduling priority (`nice')
-f the maximum size of files written by the shell and its children
-i the maximum number of pending signals
-l the maximum size a process may lock into memory
-m the maximum resident set size
-n the maximum number of open file descriptors
-p the pipe buffer size
-q the maximum number of bytes in POSIX message queues
-r the maximum real-time scheduling priority
-s the maximum stack size
-t the maximum amount of cpu time in seconds
-u the maximum number of user processes
-v the size of virtual memory
-x the maximum number of file locks

If LIMIT is given, it is the new value of the specified resource; the
special LIMIT values `soft', `hard', and `unlimited' stand for the
current soft limit, the current hard limit, and no limit, respectively.
Otherwise, the current value of the specified resource is printed. If
no option is given, then -f is assumed.

Values are in 1024-byte increments, except for -t, which is in seconds,
-p, which is in increments of 512 bytes, and -u, which is an unscaled
number of processes.

Exit Status:
Returns success unless an invalid option is supplied or an error occurs.

gzip flags

gzip -help
Apple gzip 264.50.1
usage: gzip [-123456789acdfhklLNnqrtVv] [-S .suffix] [ [ ...]]
-1 --fast fastest (worst) compression
-2 .. -8 set compression level
-9 --best best (slowest) compression
-c --stdout write to stdout, keep original files
-d --decompress uncompress files
-f --force force overwriting & compress links
-h --help display this help
-k --keep don't delete input files during operation
-l --list list compressed file contents
-N --name save or restore original file name and time stamp
-n --no-name don't save original file name or time stamp
-q --quiet output no warnings
-r --recursive recursively compress files in directories
-S .suf use suffix .suf instead of .gz
--suffix .suf
-t --test test compressed file
-V --version display program version
-v --verbose print extra statistics

wget Help – commands, usage, flags, examples

GNU Wget 1.15, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...

Mandatory arguments to long options are mandatory for short options too.

-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a `.wgetrc'-style command.

Logging and input file:
-o, --output-file=FILE log messages to FILE.
-a, --append-output=FILE append messages to FILE.
-d, --debug print lots of debugging information.
-q, --quiet quiet (no output).
-v, --verbose be verbose (this is the default).
-nv, --no-verbose turn off verboseness, without being quiet.
--report-speed=TYPE Output bandwidth as TYPE. TYPE can be bits.
-i, --input-file=FILE download URLs found in local or external FILE.
-F, --force-html treat input file as HTML.
-B, --base=URL resolves HTML input-file links (-i -F)
relative to URL.
--config=FILE Specify config file to use.

-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits).
--retry-connrefused retry even if connection is refused.
-O, --output-document=FILE write documents to FILE.
-nc, --no-clobber skip downloads that would download to
existing files (overwriting them).
-c, --continue resume getting a partially-downloaded file.
--progress=TYPE select progress gauge type.
-N, --timestamping don't re-retrieve files unless newer than
--no-use-server-timestamps don't set the local file's timestamp by
the one on the server.
-S, --server-response print server response.
--spider don't download anything.
-T, --timeout=SECONDS set all timeout values to SECONDS.
--dns-timeout=SECS set the DNS lookup timeout to SECS.
--connect-timeout=SECS set the connect timeout to SECS.
--read-timeout=SECS set the read timeout to SECS.
-w, --wait=SECONDS wait SECONDS between retrievals.
--waitretry=SECONDS wait 1..SECONDS between retries of a retrieval.
--random-wait wait from 0.5*WAIT...1.5*WAIT secs between retrievals.
--no-proxy explicitly turn off proxy.
-Q, --quota=NUMBER set retrieval quota to NUMBER.
--bind-address=ADDRESS bind to ADDRESS (hostname or IP) on local host.
--limit-rate=RATE limit download rate to RATE.
--no-dns-cache disable caching DNS lookups.
--restrict-file-names=OS restrict chars in file names to ones OS allows.
--ignore-case ignore case when matching files/directories.
-4, --inet4-only connect only to IPv4 addresses.
-6, --inet6-only connect only to IPv6 addresses.
--prefer-family=FAMILY connect first to addresses of specified family,
one of IPv6, IPv4, or none.
--user=USER set both ftp and http user to USER.
--password=PASS set both ftp and http password to PASS.
--ask-password prompt for passwords.
--no-iri turn off IRI support.
--local-encoding=ENC use ENC as the local encoding for IRIs.
--remote-encoding=ENC use ENC as the default remote encoding.
--unlink remove file before clobber.

-nd, --no-directories don't create directories.
-x, --force-directories force creation of directories.
-nH, --no-host-directories don't create host directories.
--protocol-directories use protocol name in directories.
-P, --directory-prefix=PREFIX save files to PREFIX/...
--cut-dirs=NUMBER ignore NUMBER remote directory components.

HTTP options:
--http-user=USER set http user to USER.
--http-password=PASS set http password to PASS.
--no-cache disallow server-cached data.
--default-page=NAME Change the default page name (normally
this is `index.html'.).
-E, --adjust-extension save HTML/CSS documents with proper extensions.
--ignore-length ignore `Content-Length' header field.
--header=STRING insert STRING among the headers.
--max-redirect maximum redirections allowed per page.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
--referer=URL include `Referer: URL' header in HTTP request.
--save-headers save the HTTP headers to file.
-U, --user-agent=AGENT identify as AGENT instead of Wget/VERSION.
--no-http-keep-alive disable HTTP keep-alive (persistent connections).
--no-cookies don't use cookies.
--load-cookies=FILE load cookies from FILE before session.
--save-cookies=FILE save cookies to FILE after session.
--keep-session-cookies load and save session (non-permanent) cookies.
--post-data=STRING use the POST method; send STRING as the data.
--post-file=FILE use the POST method; send contents of FILE.
--method=HTTPMethod use method "HTTPMethod" in the header.
--body-data=STRING Send STRING as data. --method MUST be set.
--body-file=FILE Send contents of FILE. --method MUST be set.
--content-disposition honor the Content-Disposition header when
choosing local file names (EXPERIMENTAL).
--content-on-error output the received content on server errors.
--auth-no-challenge send Basic HTTP authentication information
without first waiting for the server's

HTTPS (SSL/TLS) options:
--secure-protocol=PR choose secure protocol, one of auto, SSLv2,
SSLv3, TLSv1 and PFS.
--https-only only follow secure HTTPS links
--no-check-certificate don't validate the server's certificate.
--certificate=FILE client certificate file.
--certificate-type=TYPE client certificate type, PEM or DER.
--private-key=FILE private key file.
--private-key-type=TYPE private key type, PEM or DER.
--ca-certificate=FILE file with the bundle of CA's.
--ca-directory=DIR directory where hash list of CA's is stored.
--random-file=FILE file with random data for seeding the SSL PRNG.
--egd-file=FILE file naming the EGD socket with random data.

FTP options:
--ftp-user=USER set ftp user to USER.
--ftp-password=PASS set ftp password to PASS.
--no-remove-listing don't remove `.listing' files.
--no-glob turn off FTP file name globbing.
--no-passive-ftp disable the "passive" transfer mode.
--preserve-permissions preserve remote file permissions.
--retr-symlinks when recursing, get linked-to files (not dir).

WARC options:
--warc-file=FILENAME save request/response data to a .warc.gz file.
--warc-header=STRING insert STRING into the warcinfo record.
--warc-max-size=NUMBER set maximum size of WARC files to NUMBER.
--warc-cdx write CDX index files.
--warc-dedup=FILENAME do not store records listed in this CDX file.
--no-warc-compression do not compress WARC files with GZIP.
--no-warc-digests do not calculate SHA1 digests.
--no-warc-keep-log do not store the log file in a WARC record.
--warc-tempdir=DIRECTORY location for temporary files created by the
WARC writer.

Recursive download:
-r, --recursive specify recursive download.
-l, --level=NUMBER maximum recursion depth (inf or 0 for infinite).
--delete-after delete files locally after downloading them.
-k, --convert-links make links in downloaded HTML or CSS point to
local files.
--backups=N before writing file X, rotate up to N backup files.
-K, --backup-converted before converting file X, back up as X.orig.
-m, --mirror shortcut for -N -r -l inf --no-remove-listing.
-p, --page-requisites get all images, etc. needed to display HTML page.
--strict-comments turn on strict (SGML) handling of HTML comments.

Recursive accept/reject:
-A, --accept=LIST comma-separated list of accepted extensions.
-R, --reject=LIST comma-separated list of rejected extensions.
--accept-regex=REGEX regex matching accepted URLs.
--reject-regex=REGEX regex matching rejected URLs.
--regex-type=TYPE regex type (posix).
-D, --domains=LIST comma-separated list of accepted domains.
--exclude-domains=LIST comma-separated list of rejected domains.
--follow-ftp follow FTP links from HTML documents.
--follow-tags=LIST comma-separated list of followed HTML tags.
--ignore-tags=LIST comma-separated list of ignored HTML tags.
-H, --span-hosts go to foreign hosts when recursive.
-L, --relative follow relative links only.
-I, --include-directories=LIST list of allowed directories.
--trust-server-names use the name specified by the redirection
url last component.
-X, --exclude-directories=LIST list of excluded directories.
-np, --no-parent don't ascend to the parent directory.

Mail bug reports and suggestions to .

Flags / Options for pngcrush

Here’s the list of flags / options for pngcrush-1.8.11 – January 2017 Version.

A couple common flags are “-ow” to overwrite the original file with the crushed file and “-brute” to ‘brute-force’ all optimization methods (slowest, but most compression)

pngcrush [options except for -e -d] infile.png outfile.png
pngcrush -e ext [other options] file.png ...
pngcrush -d dir/ [other options] file.png ...
pngcrush -ow [other options] file.png [tempfile.png]
pngcrush -n -v file.png ...


-bail (bail out of trial when size exceeds best size found)
-blacken (zero samples underlying fully-transparent pixels)
-brute (use brute-force: try 148 different methods)
-c color_type of output file [0, 2, 4, or 6]
-check (check CRC and ADLER32 checksums)
-d directory_name/ (where output files will go)
-e extension (used for creating output filename)
-f user_filter [0-5] for specified method
-fix (salvage PNG with otherwise fatal conditions)
-force (write output even if IDAT is larger)
-g gamma (float or fixed*100000, e.g., 0.45455 or 45455)
-huffman (use only zlib strategy 2, Huffman-only)
-iccp length "Profile Name" iccp_file
-itxt b[efore_IDAT]|a[fter_IDAT] "keyword"
-keep chunk_name
-l zlib_compression_level [0-9] for specified method
-loco ("loco crush" truecolor PNGs)
-m method [1 through 150]
-max maximum_IDAT_size [default 524288L]
-mng (write a new MNG, do not crush embedded PNGs)
-n (no save; doesn't do compression or write output PNG)
-new (Use new default settings (-reduce))
-newtimestamp (Reset file modification time [default])
-nobail (do not bail out early from trial -- see "-bail")
-nocheck (do not check CRC and ADLER32 checksums)
-nofilecheck (do not check for infile.png == outfile.png)
-noforce (default; do not write output when IDAT is larger)
-nolimits (turns off limits on width, height, cache, malloc)
-noreduce (turns off all "-reduce" operations)
-noreduce_palette (turns off "-reduce_palette" operation)
-old (Use old default settings (no -reduce))
-oldtimestamp (Do not reset file modification time)
-ow (Overwrite)
-q (quiet) suppresses console output except for warnings
-reduce (do lossless color-type or bit-depth reduction)
-rem chunkname (or "alla" or "allb")
-replace_gamma gamma (float or fixed*100000) even if it is present.
-res resolution in dpi
-rle (use only zlib strategy 3, RLE-only)
-s (silent) suppresses console output including warnings
-save (keep all copy-unsafe PNG chunks)
-speed Avoid the AVG and PAETH filters, for decoding speed
-srgb [0, 1, 2, or 3]
-ster [0 or 1]
-text b[efore_IDAT]|a[fter_IDAT] "keyword" "text"
-trns_array n trns[0] trns[1] .. trns[n-1]
-trns index red green blue gray
-v (display more detailed information)
-version (display the pngcrush version)
-warn (only show warnings)
-w compression_window_size [32, 16, 8, 4, 2, 1, 512]
-z zlib_strategy [0, 1, 2, or 3] for specified method
-zmem zlib_compression_mem_level [1-9, default 9]
-zitxt b|a "keyword" "lcode" "tkey" "text"
-ztxt b[efore_IDAT]|a[fter_IDAT] "keyword" "text"
-h (help and legal notices)
-p (pause)

These notes were also printed with the info statement on the program.

| Copyright (C) 1998-2002, 2006-2016 Glenn Randers-Pehrson
| Portions Copyright (C) 2005 Greg Roelofs
| This is a free, open-source program. Permission is irrevocably
| granted to everyone to use this version of pngcrush without
| payment of any fee.
| Executable name is pngcrush
| It was built with bundled libpng-1.6.28
| and is running with bundled libpng-1.6.28
| Copyright (C) 1998-2004, 2006-2016 Glenn Randers-Pehrson,
| Copyright (C) 1996, 1997 Andreas Dilger,
| Copyright (C) 1995, Guy Eric Schalnat, Group 42 Inc.,
| and bundled zlib-1.2.11, Copyright (C) 1995-2017,
| Jean-loup Gailly and Mark Adler,
| and using “clock()”.
| It was compiled with gcc version 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1).

If you have modified this source, you may insert additional notices
immediately after this sentence.
Copyright (C) 1998-2002, 2006-2016 Glenn Randers-Pehrson
Portions Copyright (C) 2005 Greg Roelofs

DISCLAIMER: The pngcrush computer program is supplied “AS IS”.
The Author disclaims all warranties, expressed or implied, including,
without limitation, the warranties of merchantability and of fitness
for any purpose. The Author assumes no liability for direct, indirect,
incidental, special, exemplary, or consequential damages, which may
result from the use of the computer program, even if advised of the
possibility of such damage. There is no warranty against interference
with your enjoyment of the computer program or against infringement.
There is no warranty that my efforts or the computer program will
fulfill any of your particular purposes or needs. This computer
program is provided with all faults, and the entire risk of satisfactory
quality, performance, accuracy, and effort is with the user.

LICENSE: Permission is hereby irrevocably granted to everyone to use,
copy, modify, and distribute this computer program, or portions hereof,
purpose, without payment of any fee, subject to the following

1. The origin of this binary or source code must not be misrepresented.

2. Altered versions must be plainly marked as such and must not be
misrepresented as being the original binary or source.

3. The Copyright notice, disclaimer, and license may not be removed
or altered from any source, binary, or altered source distribution.