neulab/tldr huggingface dataset:
--scan-ole2[=yes(*)/no] Scan Microsoft Office documents and .msi files. If you turn off this option, the original files will still be scanned but without additional processing.
--scan-pdf[=yes(*)/no] Scan within PDF files. If you turn off this option, the original files will still be scanned, but without decoding and additional processing.
--scan-swf[=yes(*)/no] Scan SWF files. If you turn off this option, the original files will still be scanned but without additional processing.
--scan-html[=yes(*)/no] Detect, normalize/decrypt and scan HTML files and embedded scripts. If you turn off this option, the original files will still be scanned, but without additional processing.
--scan-xmldocs[=yes(*)/no] Scan xml-based document files supported by libclamav. If you turn off this option, the original files will still be scanned, but without additional processing.
--scan-hwp3[=yes(*)/no] Scan HWP3 files. If you turn off this option, the original files will still be scanned, but without additional processing.
--scan-archive[=yes(*)/no] Scan archives supported by libclamav. If you turn off this option, the original files will still be scanned, but without unpacking and additional processing.
--alert-broken[=yes/no(*)] Alert on broken executable files (PE & ELF).
--alert-encrypted[=yes/no(*)] Alert on encrypted archives and documents (encrypted .zip, .7zip, .rar, .pdf).
--alert-encrypted-archive[=yes/no(*)] Alert on encrypted archives (encrypted .zip, .7zip, .rar, .pdf).
--alert-encrypted-doc[=yes/no(*)] Alert on encrypted documents (encrypted .zip, .7zip, .rar, .pdf).
--alert-macros[=yes/no(*)] Alert on OLE2 files containing VBA macros (Heuristics.OLE2.ContainsMacros).
--alert-exceeds-max[=yes/no(*)] Alert on files that exceed max file size, max scan size, or max recursion limit (Heuristics.Limits.Exceeded).
--alert-phishing-ssl[=yes/no(*)] Alert on emails containing SSL mismatches in URLs (might lead to false positives!).
--alert-phishing-cloak[=yes/no(*)] Alert on emails containing cloaked URLs (might lead to some false positives).
--alert-partition-intersection[=yes/no(*)] Detect partition intersections in raw disk images using heuristics.
--nocerts Disable authenticode certificate chain verification in PE files.
--dumpcerts Dump authenticode certificate chain in PE files.
--max-scantime=#n The maximum time to scan before giving up. The value is in milliseconds. The value of 0 disables the limit. This option protects your system against DoS attacks (default: 120000 = 120s or 2min)
--max-filesize=#n Extract and scan at most #n bytes from each archive. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number. This option protects your system against DoS attacks (default: 25 MB, max: <4 GB)
--max-scansize=#n Extract and scan at most #n bytes from each archive. The size the archive plus the sum of the sizes of all files within archive count toward the scan size. For example, a 1M uncompressed archive containing a single 1M inner file counts as 2M toward max- scansize. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number. This option protects your system against DoS attacks (default: 100 MB, max: <4 GB)
--max-files=#n Extract at most #n files from each scanned file (when this is an archive, a document or another kind of container). This option protects your system against DoS attacks (default: 10000)
--max-recursion=#n Set archive recursion level limit. This option protects your system against DoS attacks (default: 17).
--max-dir-recursion=#n Maximum depth directories are scanned at (default: 15).
--max-embeddedpe=#n Maximum size file to check for embedded PE. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number (default: 10 MB, max: <4 GB).
--max-htmlnormalize=#n Maximum size of HTML file to normalize. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number (default: 10 MB, max: <4 GB).
--max-htmlnotags=#n Maximum size of normalized HTML file to scan. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number (default: 2 MB, max: <4 GB).
--max-scriptnormalize=#n Maximum size of script file to normalize. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number (default: 5 MB, max: <4 GB).
--max-ziptypercg=#n Maximum size zip to type reanalyze. You may pass the value in kilobytes in format xK or xk, or megabytes in format xM or xm, where x is a number (default: 1 MB, max: <4 GB).
--max-partitions=#n This option sets the maximum number of partitions of a raw disk image to be scanned. This must be a positive integer (default: 50).
--max-iconspe=#n This option sets the maximum number of icons within a PE to be scanned. This must be a positive integer (default: 100).
--max-rechwp3=#n This option sets the maximum recursive calls to HWP3 parsing function (default: 16).
--pcre-match-limit=#n Maximum calls to the PCRE match function (default: 100000).
--pcre-recmatch-limit=#n Maximum recursive calls to the PCRE match function (default: 2000).
--pcre-max-filesize=#n Maximum size file to perform PCRE subsig matching (default: 25 MB, max: <4 GB).
--disable-cache Disable caching and cache checks for hash sums of scanned files.
clamscan uses the following environment variables:
LD_LIBRARY_PATH - May be used on startup to find the libclamunrar_iface shared library module to enable RAR archive support.
(0) Scan a single file:
clamscan file
(1) Scan a current working directory:
(2) Scan all files (and subdirectories) in /home:
clamscan -r /home
(3) Load database from a file:
clamscan -d /tmp/newclamdb -r /tmp
(4) Scan a data stream:
cat testfile | clamscan -
(5) Scan a mail spool directory:
clamscan -r /var/spool/mail
0 : No virus found.
1 : Virus(es) found.
2 : Some error(s) occurred.
Please check the full documentation for credits.
Tomasz Kojm <tkojm@clamav.net>, Kevin Lin <klin@sourcefire.com>
clamdscan(1), freshclam(1), freshclam.conf(5)
CTRLALTDEL(8)                 System Administration                CTRLALTDEL(8)
ctrlaltdel - set the function of the Ctrl-Alt-Del combination
ctrlaltdel hard|soft
Based on examination of the linux/kernel/reboot.c code, it is clear that there are two supported functions that the <Ctrl-Alt-Del> sequence can perform.
hard Immediately reboot the computer without calling sync(2) and without any other preparation. This is the default.
soft Make the kernel send the SIGINT (interrupt) signal to the init process (this is always the process with PID 1). If this option is used, the init(8) program must support this feature. Since there are now several init(8) programs in the Linux community, please consult the documentation for the version that you are currently using.
When the command is run without any argument, it will display the current setting.
The function of ctrlaltdel is usually set in the /etc/rc.local file.
Peter Orbaek <poe@daimi.aau.dk>
init(8), systemd(1)
The ctrlaltdel command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
gh-run - View details about workflow runs
gh run <command> [flags]
List, view, and watch recent workflow runs from GitHub Actions.
gh(1), gh-run-cancel(1), gh-run-download(1), gh-run-list(1), gh-run- rerun(1), gh-run-view(1), gh-run-watch(1)
CHCON(1)                          User Commands                         CHCON(1)
chcon - change file security context
chcon [OPTION]... CONTEXT FILE... chcon [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... chcon [OPTION]... --reference=RFILE FILE...
Change the SELinux security context of each FILE to CONTEXT.  With --reference, change the security context of each FILE to that of RFILE.
-h, --no-dereference affect symbolic links instead of any referenced file
-u, --user=USER set user USER in the target security context
-r, --role=ROLE set role ROLE in the target security context
-t, --type=TYPE set type TYPE in the target security context
-l, --range=RANGE set range RANGE in the target security context
--reference=RFILE use RFILE's security context rather than specifying a CONTEXT value
Written by Russell Coker and Jim Meyering.
Full documentation <https://www.gnu.org/software/coreutils/chcon> or available locally via: info '(coreutils) chcon invocation'
f3probe(1)      probe a block device for counterfeit flash memory     f3probe(1)
f3probe - probe a block device for counterfeit flash memory
f3probe [-lnt?V] [-b ORDER] [-s TYPE] [--block-order=ORDER] [--min-memory] [--destructive] [--reset-type=TYPE] [--time-ops] [--help] [--usage] [--version] <DISK_DEV>
f3probe probes a block device for counterfeit flash memory. If counterfeit, f3probe identifies the fake type and real memory size
-b, --block-order=ORDER Force block size of the drive to 2^ORDER Bytes.
-l, --min-memory Trade speed for less use of memory.
-n, --destructive Do not restore blocks of the device after probing it.
-s, --reset-type=TYPE Reset method to use during the probe.
-t, --time-ops Time reads, writes, and resets.
f3brew(1), f3fix(1), f3read(1), f3write(1)
REPO-ADD(8)                       Pacman Manual                      REPO-ADD(8)
repo-add - package database maintenance utility
repo-add [options] <path-to-db> <package> [<package> ...]
repo-remove [options] <path-to-db> <packagename> [<packagename> ...]
repo-add and repo-remove are two scripts to help build a package database for packages built with makepkg(8) and installed with pacman(8).
repo-add will update a package database by reading a built package file. Multiple packages to add can be specified on the command line.
If a matching “.sig” file is found alongside a package file, the signature will automatically be embedded into the database.
repo-remove will update a package database by removing the package name specified on the command line. Multiple packages to remove can be specified on the command line.
A package database is a tar file, optionally compressed. Valid extensions are “.db” followed by an archive extension of “.tar”, “.tar.gz”, “.tar.bz2”, “.tar.xz”, or “.tar.Z”. The file does not need to exist, but all parent directories must exist.
-q, --quiet Force this program to keep quiet and run silently except for warning and error messages.
-s, --sign Generate a PGP signature file using GnuPG. This will execute gpg --detach-sign --use-agent on the generated database to generate a detached signature file, using the GPG agent if it is available. The signature file will be the entire filename of the database with a “.sig” extension.
-k, --key <key> Specify a key to use when signing packages. Can also be specified using the GPGKEY environmental variable. If not specified in either location, the default key from the keyring will be used.
-v, --verify Verify the PGP signature of the database before updating the database. If the signature is invalid, an error is produced and the update does not proceed.
--nocolor Remove color from repo-add and repo-remove output.
REPO-ADD OPTIONS -n, --new Only add packages that are not already in the database. Warnings will be printed upon detection of existing packages, but they will not be re-added.
-R, --remove Remove old package files from the disk when updating their entry in the database.
repo-add foo.db.tar.xz <pkg1> [<pkg2> ...]
This creates two separate databases; a smaller database “foo.db.tar.xz” used by pacman and a large database containing package file lists “foo.files.tar.xz” for use by other utilities. While pacman can use the large database (if renamed with a db.tar* extension), there is currently no additional benefit for the larger download.
makepkg(8), pacman(8)
ADDUSER(8)                   System Manager's Manual                  ADDUSER(8)
adduser, addgroup - add a user or group to the system
adduser [options] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] [--gecos GECOS] [--add_extra_groups] user
adduser --system [options] [--home DIR] [--shell SHELL] [--no-create- home] [--uid ID] [--group | --ingroup GROUP | --gid ID] [--disabled- password] [--disabled-login] [--gecos GECOS] user
addgroup [options] [--gid ID] group
addgroup --system [options] [--gid ID] group
adduser [options] user group
COMMON OPTIONS [--quiet] [--debug] [--force-badname] [--help|-h] [--version] [--conf FILE]
adduser and addgroup add users and groups to the system according to command line options and configuration information in /etc/adduser.conf. They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, by default choosing Debian policy conformant UID and GID values, creating a home directory with skeletal configuration, running a custom script, and other features.  adduser and addgroup can be run in one of five modes:
Add a normal user If called with one non-option argument and without the --system or --group options, adduser will add a normal user.
adduser will choose the first available UID from the range specified for normal users in the configuration file.  The UID can be overridden with the --uid option.
The range specified in the configuration file may be overridden with the --firstuid and --lastuid options.
By default, each user in Debian GNU/Linux is given a corresponding group with the same name.  Usergroups allow group writable directories to be easily maintained by placing the appropriate users in the new group, setting the set-group-ID bit in the directory, and ensuring that all users use a umask of 002.  If this option is turned off by setting USERGROUPS to no, all users' GIDs are set to USERS_GID.  Users' primary groups can also be overridden from the command line with the --gid or --ingroup options to set the group by id or name, respectively.  Also, users can be added to one or more groups defined in adduser.conf either by setting ADD_EXTRA_GROUPS to 1 in adduser.conf, or by passing --add_extra_groups on the commandline.
adduser will create a home directory subject to DHOME, GROUPHOMES, and LETTERHOMES.  The home directory can be overridden from the command line with the --home option, and the shell with the --shell option. The home directory's set-group-ID bit is set if USERGROUPS is yes so that any files created in the user's home directory will have the correct group.
adduser will copy files from SKEL into the home directory and prompt for finger (gecos) information and a password.  The gecos may also be set with the --gecos option.  With the --disabled-login option, the account will be created but will be disabled until a password is set. The --disabled-password option will not set a password, but login is still possible (for example with SSH RSA keys).
If the file /usr/local/sbin/adduser.local exists, it will be executed after the user account has been set up in order to do any local setup. The arguments passed to adduser.local are: username uid gid home-directory The environment variable VERBOSE is set according to the following rule:
0 if   --quiet is specified
1 if neither --quiet nor --debug is specified
2 if   --debug is specified
(The same applies to the variable DEBUG, but DEBUG is deprecated and will be removed in a later version of adduser.)
Add a system user If called with one non-option argument and the --system option, adduser will add a system user. If a user with the same name already exists in the system uid range (or, if the uid is specified, if a user with that uid already exists), adduser will exit with a warning. This warning can be suppressed by adding --quiet.
adduser will choose the first available UID from the range specified for system users in the configuration file (FIRST_SYSTEM_UID and LAST_SYSTEM_UID). If you want to have a specific UID, you can specify it using the --uid option.
By default, system users are placed in the nogroup group.  To place the new system user in an already existing group, use the --gid or --ingroup options.  To place the new system user in a new group with the same ID, use the --group option.
A home directory is created by the same rules as for normal users.  The new system user will have the shell /usr/sbin/nologin (unless overridden with the --shell option), and have logins disabled.  Skeletal configuration files are not copied.
Add a user group If adduser is called with the --group option and without the --system option, or addgroup is called respectively, a user group will be added.
A GID will be chosen from the range specified for system GIDS in the configuration file (FIRST_GID, LAST_GID). To override that mechanism you can give the GID using the --gid option.
The group is created with no users.
Add a system group If addgroup is called with the --system option, a system group will be added.
A GID will be chosen from the range specified for system GIDS in the configuration file (FIRST_SYSTEM_GID, LAST_SYSTEM_GID). To override that mechanism you can give the GID using the --gid option.
Add an existing user to an existing group If called with two non-option arguments, adduser will add an existing user to an existing group.
--conf FILE Use FILE instead of /etc/adduser.conf.
--disabled-login Do not run passwd to set the password.  The user won't be able to use her account until the password is set.
--disabled-password Like --disabled-login, but logins are still possible (for example using SSH RSA keys) but not using password authentication.
--force-badname By default, user and group names are checked against the configurable regular expression NAME_REGEX specified in the configuration file. This option forces adduser and addgroup to apply only a weak check for validity of the name.  NAME_REGEX is described in adduser.conf(5).
--gecos GECOS Set the gecos field for the new entry generated.  adduser will not ask for finger information if this option is given.
--gid ID When creating a group, this option forces the new groupid to be the given number.  When creating a user, this option will put the user in that group.
--group When combined with --system, a group with the same name and ID as the system user is created.  If not combined with --system, a group with the given name is created.  This is the default action if the program is invoked as addgroup.
--help Display brief instructions.
--home DIR Use DIR as the user's home directory, rather than the default specified by the configuration file.  If the directory does not exist, it is created and skeleton files are copied.
--shell SHELL Use SHELL as the user's login shell, rather than the default specified by the configuration file.
--ingroup GROUP Add the new user to GROUP instead of a usergroup or the default group defined by USERS_GID in the configuration file.  This affects the users primary group.  To add additional groups, see the add_extra_groups option.
--no-create-home Do not create the home directory, even if it doesn't exist.
--quiet Suppress informational messages, only show warnings and errors.
--debug Be verbose, most useful if you want to nail down a problem with adduser.
--system Create a system user or group.
--uid ID Force the new userid to be the given number.  adduser will fail if the userid is already taken.
--firstuid ID Override the first uid in the range that the uid is chosen from (overrides FIRST_UID specified in the configuration file).
--lastuid ID Override the last uid in the range that the uid is chosen from ( LAST_UID )
--add_extra_groups Add new user to extra groups defined in the configuration file.
0      The user exists as specified. This can have 2 causes: The user was created by adduser or the user was already present on the system before adduser was invoked. If adduser was returning 0 , invoking adduser a second time with the same parameters as before also returns 0.
1      Creating the user or group failed because it was already present with other UID/GID than specified. The username or groupname was rejected because of a mismatch with the configured regular expressions, see adduser.conf(5). Adduser has been aborted by a signal. Or for many other yet undocumented reasons which are printed to console then. You may then consider to remove --quiet to make adduser more verbose.
/etc/adduser.conf Default configuration file for adduser and addgroup
/usr/local/sbin/adduser.local Optional custom add-ons.
adduser.conf(5), deluser(8), groupadd(8), useradd(8), usermod(8), Debian Policy 9.2.2.
Copyright (C) 1997, 1998, 1999 Guy Maor. Modifications by Roland Bauerschmidt and Marc Haber. Additional patches by Joerg Hoh and Stephen Gran. Copyright (C) 1995 Ted Hajek, with a great deal borrowed from the original Debian adduser Copyright (C) 1994 Ian Murdock.  adduser is free software; see the GNU General Public Licence version 2 or later for copying conditions.  There is no warranty.
CFDISK(8)                     System Administration                    CFDISK(8)
cfdisk - display or manipulate a disk partition table
cfdisk [options] [device]
cfdisk is a curses-based program for partitioning any block device. The default device is /dev/sda.
Note that cfdisk provides basic partitioning functionality with a user-friendly interface. If you need advanced features, use fdisk(8) instead.
All disk label changes will remain in memory only, and the disk will be unmodified until you decide to write your changes. Be careful before using the write command.
Since version 2.25 cfdisk supports MBR (DOS), GPT, SUN and SGI disk labels, but no longer provides any functionality for CHS (Cylinder-Head-Sector) addressing. CHS has never been important for Linux, and this addressing concept does not make any sense for new devices.
Since version 2.25 cfdisk also does not provide a 'print' command any more. This functionality is provided by the utilities partx(8) and lsblk(8) in a very comfortable and rich way.
If you want to remove an old partition table from a device, use wipefs(8).
-L, --color[=when] Colorize the output. The optional argument when can be auto, never or always. If the when argument is omitted, it defaults to auto. The colors can be disabled, for the current built-in default see --help output. See also the COLORS section.
-r, --read-only Forced open in read-only mode.
-z, --zero Start with an in-memory zeroed partition table. This option does not zero the partition table on the disk; rather, it simply starts the program without reading the existing partition table. This option allows you to create a new partition table from scratch or from an sfdisk(8)-compatible script.
The commands for cfdisk can be entered by pressing the corresponding key (pressing Enter after the command is not necessary). Here is a list of the available commands:
b Toggle the bootable flag of the current partition. This allows you to select which primary partition is bootable on the drive. This command may not be available for all partition label types.
d Delete the current partition. This will convert the current partition into free space and merge it with any free space immediately surrounding the current partition. A partition already marked as free space or marked as unusable cannot be deleted.
h Show the help screen.
n Create a new partition from free space. cfdisk then prompts you for the size of the partition you want to create. The default size is equal to the entire available free space at the current position.
The size may be followed by a multiplicative suffix: KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB").
q Quit the program. This will exit the program without writing any data to the disk.
r Reduce or enlarge the current partition. cfdisk then prompts you for the new size of the partition. The default size is the current size. A partition marked as free space or marked as unusable cannot be resized.
Note that reducing the size of a partition might destroy data on that partition.
s Sort the partitions in ascending start-sector order. When deleting and adding partitions, it is likely that the numbering of the partitions will no longer match their order on the disk. This command restores that match.
t Change the partition type. By default, new partitions are created as Linux partitions.
u Dump the current in-memory partition table to an sfdisk-compatible script file.
The script files are compatible between cfdisk, fdisk(8) sfdisk(8) and other libfdisk applications. For more details see sfdisk(8).
It is also possible to load an sfdisk-script into cfdisk if there is no partition table on the device or when you start cfdisk with the --zero command-line option.
W Write the partition table to disk (you must enter an uppercase W). Since this might destroy data on the disk, you must either confirm or deny the write by entering `yes' or `no'. If you enter `yes', cfdisk will write the partition table to disk and then tell the kernel to re-read the partition table from the disk.
The re-reading of the partition table does not always work. In such a case you need to inform the kernel about any new partitions by using partprobe(8) or partx(8), or by rebooting the system.
x Toggle extra information about a partition.
Up Arrow, Down Arrow Move the cursor to the previous or next partition. If there are more partitions than can be displayed on a screen, you can display the next (previous) set of partitions by moving down (up) at the last (first) partition displayed on the screen.
Left Arrow, Right Arrow Select the preceding or the next menu item. Hitting Enter will execute the currently selected item.
All commands can be entered with either uppercase or lowercase letters (except for Write). When in a submenu or at a prompt, you can hit the Esc key to return to the main menu.
Implicit coloring can be disabled by creating the empty file /etc/terminal-colors.d/cfdisk.disable.
cfdisk does not support color customization with a color-scheme file.
CFDISK_DEBUG=all enables cfdisk debug output.
LIBSMARTCOLS_DEBUG_PADDING=on use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
The current cfdisk implementation is based on the original cfdisk from Kevin E. Martin <martin@cs.unc.edu>.
fdisk(8), parted(8), partprobe(8), partx(8), sfdisk(8)
The cfdisk command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
GIT-TOUCH(1)                       Git Extras                       GIT-TOUCH(1)
git-touch - Touch and add file to the index
git-touch <filename>
Call touch on the given file and add it to the current index. Used one-step creating new files.
File to be touched.
$ git touch Makefile
Written by Alex McHale <alexmchale@gmail.com>
XO(1)                      BSD General Commands Manual                     XO(1)
xo â€” emit formatted output based on format string and arguments
xo [-options] [argument...]
The xo utility allows command line access to the functionality of the libxo library.  Using xo, shell scripts can emit XML, JSON, or HTML using the same commands that emit text output.
--close path Close tags for the given path
-C | --continuation Indicates this output is a continuation of the previous output data and should appear on the same line.  This is allows HTML output to be constructed correctly.
--depth num Set the depth for pretty printing
--help  Display help text
-H | --html Generate HTML output
-J | --json Generate JSON output
--leading-xpath path Add a prefix to generated XPaths (HTML)
--not-first Indicate that this content is not the first in a series of sibling objects, which is vital information for "JSON" output, which requires a comma between such objects.
--open path Open tags for the given path
-p | --pretty Make 'pretty' output (add indent, newlines)
--style style Generate given style (xml, json, text, html)
-T | --text Generate text output (the default style)
--top-warp Indicates the entire object should be placed inside a top-level object wrapper, specifically when generating JSON output.
--version Display version information
-W | --warn Display warnings in text on stderr
--warn-xml Display warnings in xml on stdout
--wrap path Wrap output in a set of containers
-X | --xml Generate XML output
--xpath Add XPath data to HTML output
The xo utility accepts a format string suitable for xo_emit(3) and a set of zero or more arguments used to supply data for that string.
In addition, xo accepts any of the libxo options listed in xo_options(7).
In this example, xo is used to emit the same data encoded in text and then in XML by adding the "-p" (pretty) and "-X" (XML output) flags:
% xo 'The {:product} is {:status}\n' stereo "in route" The stereo is in route % xo -p -X 'The {:product} is {:status}\n' stereo "in route" <product>stereo</product> <status>in route</status>
In this example, the output from a xo command is shown in several styles:
xo "The {k:name} weighs {:weight/%d} pounds.\n" fish 6
TEXT: The fish weighs 6 pounds. XML: <name>fish</name> <weight>6</weight> JSON: "name": "fish", "weight": 6 HTML: <div class="line"> <div class="text">The </div> <div class="data" data-tag="name">fish</div> <div class="text"> weighs </div> <div class="data" data-tag="weight">6</div> <div class="text"> pounds.</div> </div>
The --wrap <path> option can be used to wrap emitted content in a specific hierarchy.  The path is a set of hierarchical names separated by the '/' character.
xo --wrap top/a/b/c '{:tag}' value
XML: <top> <a> <b> <c> <tag>value</tag> </c> </b> </a> </top> JSON: "top": { "a": { "b": { "c": { "tag": "value" } } } }
The --open <path> and --close <path> can be used to emit hierarchical information without the matching close and open tag.  This allows a shell script to emit open tags, data, and then close tags.  The --depth option may be used to set the depth for indentation.  The --leading-xpath may be used to prepend data to the XPath values used for HTML output style.
#!/bin/sh xo --open top/data xo --depth 2 '{tag}' value xo --close top/data
XML: <top> <data> <tag>value</tag> </data> </top> JSON: "top": { "data": { "tag": "value" } }
libxo(3), xo_emit(3), xo_options(7)
The libxo library first appeared in FreeBSD 11.0.
libxo was written by Phil Shafer <phil@freebsd.org>.
UNALIAS(1P)                 POSIX Programmer's Manual                UNALIAS(1P)
unalias — remove alias definitions
unalias alias-name...
unalias -a
The unalias utility shall remove the definition for each alias name specified. See Section 2.3.1, Alias Substitution.  The aliases shall be removed from the current shell execution environment; see Section 2.12, Shell Execution Environment.
The unalias utility shall conform to the Base Definitions volume of POSIX.1‐2017, Section 12.2, Utility Syntax Guidelines.
-a        Remove all alias definitions from the current shell execution environment.
alias-name The name of an alias to be removed.
The following environment variables shall affect the execution of unalias:
>0    One of the alias-name operands specified did not represent a valid alias definition, or an error occurred.
Since unalias affects the current shell execution environment, it is generally provided as a shell regular built-in.
The unalias description is based on that from historical KornShell implementations.  Known differences exist between that and the C shell. The KornShell version was adopted to be consistent with all the other KornShell features in this volume of POSIX.1‐2017, such as command line editing.
The -a option is the equivalent of the unalias * form of the C shell and is provided to address security concerns about unknown aliases entering the environment of a user (or application) through the allowable implementation-defined predefined alias route or as a result of an ENV file. (Although unalias could be used to simplify the ``secure'' shell script shown in the command rationale, it does not obviate the need to quote all command names. An initial call to unalias -a would have to be quoted in case there was an alias for unalias.)
Chapter 2, Shell Command Language, alias
GIT-SECRET(7)                      git-secret                      GIT-SECRET(7)
git-secret
Usage These steps cover the basic process of using git-secret:
1.  Before starting, make sure you have created gpg RSA key-pair: public and secret key identified by your email address.
2.  Initialize git-secret repository by running git secret init command. .gitsecret/ folder will be created, note that .gitsecret/ folder should not be ignored https://github.com/sobolevn/git-secret/issues/39.
3.  Add first user to the system by running git secret tell your@gpg.email.
4.  Now it´s time to add files you wish to encrypt inside the git-secret repository. It can be done by running git secret add <filenames...> command. Make sure these files are ignored, otherwise git-secret won´t allow you to add them, as these files will be stored unencrypted.
5.  When done, run git secret hide all files, which you have added by git secret add command will be encrypted with added public-keys by the git secret tell command. Now it is safe to commit your changes. But. It´s recommended to add git secret hide command to your pre-commit hook, so you won´t miss any changes.
6.  Now decrypt files with git secret reveal command. It will ask you for your password. And you´re done!
I want to add someone to the repository 1.  Get his gpg public-key. You won´t need their secret key.
2.  Import this key inside your gpg by running gpg --import KEY_NAME
3.  Now add this person to the git-secret by running git secret tell persons@email.id
4.  Reencypt the files, now they will be able to decrypt them with their secret key.
Note, that it is possible to add yourself to the system without decrypting existing files. It will be possible to decrypt them after reencrypting them with the new keyring. So, if you don´t want unexpected keys added, make sure to configure some server-side security policy with the pre-receive hook.
Configuration You can configure several things to suit your workflow better. To do so, just set the required variable to the value you need. This can be done in your shell environment file or with the each git-secret command.
These settings are available to be changed:
•   $SECRETS_GPG_COMMAND - sets the gpg alternatives, defaults to gpg. It can be changed to gpg, gpg2, pgp, /usr/local/gpg or any other value. After doing so rerun tests to be sure, that it won´t break anything. Tested to be working with: gpg, gpg2.
•   $SECRETS_EXTENSION - sets the secret files extension, defaults to .secret. It can be changed to any valid file extension.
mogrify(1)                   General Commands Manual                  mogrify(1)
mogrify - resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert(1) writes to a different image file.
mogrify [options] input-file
The mogrify program is a member of the ImageMagick(1) suite of tools. Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert(1) except the original image file is overwritten with any changes you request.
For more information about the mogrify command, point your browser to file:///usr/share/doc/ImageMagick-7/www/mogrify.html or http://imagemagick.org/script/mogrify.php.
Image Sequence Operators: -affinity filename   transform image colors to match this set of colors -append              append an image sequence top to botto (use +append for left to right) -clut                apply a color lookup table to the image -coalesce            merge a sequence of images -combine             combine a sequence of images -compare             mathematically and visually annotate the difference between an image and its reconstruction -complex operator    perform complex mathematics on an image sequence -composite           composite image -copy geometry offset, copy pixels from one area of an image to another -crop geometry       cut out a rectangular region of the image -deconstruct         break down an image sequence into constituent parts -evaluate-sequence operator evaluate an arithmetic, relational, or logical expression -flatten             flatten a sequence of images -fx expression       apply mathematical expression to an image channel(s) -hald-clut           apply a Hald color lookup table to the image -morph value         morph an image sequence -mosaic              create a mosaic from an image sequence -poly terms          build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs) -process arguments   process the image with a custom image filter -separate            separate an image channel into a grayscale image -smush geometry      smush an image sequence together -write filename      write images to this file
Image Stack Operators: -delete indexes      delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index        insert last image into the image sequence -reverse             reverse image sequence -swap indexes        swap two images in the image sequence
R2E(1a)                                                                  R2E(1a)
r2e - receive RSS feeds by email
r2e action [options]
r2e is a simple program which you can run in your crontab.  It watches RSS feeds and sends you nicely formatted email message for each new item.
The program is configured by ~/.rss2email/config.py
For a quick start with r2e, try these steps:
r2e new your@address r2e add http://feed.url/somewhere.rss r2e run
The last command should eventually be put into your crontab, if you want things be sent you automatically.
new [youremail] Create a new feedfile. If the second option is specified, it sets the default email address that mails are sent to.
add url [youremail] Subscribe to a feed. The first option is the URL of the feed.  The optional second option is the email address to send new items to. Repeat for each feed you want to subscribe to.
run [--no-send] [num] Scan the feeds and send emails for new items. This can be run in a cron job.
The --no-send option stops r2e from sending any email. This can be useful the first time you run it, as otherwise it would send every available story.
If a number is specified, r2e will only download that feed. The list command lists the feed numbers.
email yournewemail Change the default email address.
list   List all your currently subscribed feeds.
delete n Delete a feed, using its number from the list command.
The program's behavior can be controlled via the ~/.rss2email/config.py config file. The file is a python file, so variables are set using a syntax like this: VARIABLE = "value"
If the value is a number, the quotes may be omitted. Most configuration variables in the file are boolean values, where a 1 indicates the option is set, and a 0 disables it.
See the example config.py file for a full list of available configuration variables.
~/.rss2email/feeds.dat The database of feeds. Use r2e to add, remove, or modify feeds, do not edit it directly.
~/.rss2email/config.py If this file exists, it it read to configure the program.
Aaron Swartz <rss2email@aaronsw.com>
TAC(1)                            User Commands                           TAC(1)
tac - concatenate and print files in reverse
tac [OPTION]... [FILE]...
Write each FILE to standard output, last line first.
-b, --before attach the separator before instead of after
-r, --regex interpret the separator as a regular expression
-s, --separator=STRING use STRING as the separator instead of newline
Written by Jay Lepreau and David MacKenzie.
cat(1), rev(1)
Full documentation <https://www.gnu.org/software/coreutils/tac> or available locally via: info '(coreutils) tac invocation'
XEV(1)                       General Commands Manual                      XEV(1)
xev - print contents of X events
xev [-display displayname] [-geometry geom] [-bw pixels] [-bs {NotUseful,WhenMapped,Always}] [-id windowid] [-root] [-s] [-name string] [-rv] [-version] [-event event_mask [-event event_mask ...]]
Xev creates a window and then asks the X server to send it events whenever anything happens to the window (such as it being moved, resized, typed in, clicked in, etc.).  You can also attach it to an existing window.  It is useful for seeing what causes events to occur and to display the information that they contain; it is essentially a debugging and development tool, and should not be needed in normal usage.
-display display This option specifies the X server to contact.
-geometry geom This option specifies the size and/or location of the window, if a window is to be created.
-bw pixels This option specifies the border width for the window.
-bs {NotUseful,WhenMapped,Always} This option specifies what kind of backing store to give the window.  The default is NotUseful. Backing store refers to the the pixels saved off-screen when the X server maintains the contents of a window; NotUseful means that the xev process will redraw its contents itself, as necessary.
-id windowid This option specifies that the window with the given id should be monitored, instead of creating a new window.
-root   This option specifies that the root window should be monitored, instead of creating a new window.
-s      This option specifies that save-unders should be enabled on the window. Save unders are similar to backing store, but they refer rather to the saving of pixels off-screen when the current window obscures other windows. Save unders are only advisory, and are normally set for popup dialogs and other transient windows.
-name string This option specifies the name to assign to the created window.
-rv     This option specifies that the window should be in reverse video.
-event event_mask Select which events to display.  The -event option can be specified multiple times to select multiple types of events. When not specified, all events are selected.  Available event masks: keyboard mouse expose visibility structure substructure focus property colormap owner_grab_button randr button
-version This option prints the program version and exits.
X(7), xwininfo(1), xdpyinfo(1), Xlib Programmers Manual, X Protocol Specification See X(7) for a full statement of rights and permissions.
Jim Fulton, MIT X Consortium
GCOV(1)                                GNU                               GCOV(1)
gcov - coverage testing tool
gcov [-v|--version] [-h|--help] [-a|--all-blocks] [-b|--branch-probabilities] [-c|--branch-counts] [-d|--display-progress] [-f|--function-summaries] [-j|--json-format] [-H|--human-readable] [-k|--use-colors] [-l|--long-file-names] [-m|--demangled-names] [-n|--no-output] [-o|--object-directory directory|file] [-p|--preserve-paths] [-q|--use-hotness-colors] [-r|--relative-only] [-s|--source-prefix directory] [-t|--stdout] [-u|--unconditional-branches] [-x|--hash-filenames] files
gcov is a test coverage program.  Use it in concert with GCC to analyze your programs to help create more efficient, faster running code and to discover untested parts of your program.  You can use gcov as a profiling tool to help discover where your optimization efforts will best affect your code.  You can also use gcov along with the other profiling tool, gprof, to assess which parts of your code use the greatest amount of computing time.
Profiling tools help you analyze your code's performance.  Using a profiler such as gcov or gprof, you can find out some basic performance statistics, such as:
*   how often each line of code executes
*   what lines of code are actually executed
*   how much computing time each section of code uses
Once you know these things about how your code works when compiled, you can look at each module to see which modules should be optimized.  gcov helps you determine where to work on optimization.
Software developers also use coverage testing in concert with testsuites, to make sure software is actually good enough for a release.  Testsuites can verify that a program works as expected; a coverage program tests to see how much of the program is exercised by the testsuite.  Developers can then determine what kinds of test cases need to be added to the testsuites to create both better testing and a better final product.
You should compile your code without optimization if you plan to use gcov because the optimization, by combining some lines of code into one function, may not give you as much information as you need to look for `hot spots' where the code is using a great deal of computer time. Likewise, because gcov accumulates statistics by line (at the lowest resolution), it works best with a programming style that places only one statement on each line.  If you use complicated macros that expand to loops or to other control structures, the statistics are less helpful---they only report on the line where the macro call appears.  If your complex macros behave like functions, you can replace them with inline functions to solve this problem.
gcov creates a logfile called sourcefile.gcov which indicates how many times each line of a source file sourcefile.c has executed.  You can use these logfiles along with gprof to aid in fine-tuning the performance of your programs.  gprof gives timing information you can use along with the information you get from gcov.
gcov works only on code compiled with GCC.  It is not compatible with any other profiling or test coverage mechanism.
-a --all-blocks Write individual execution counts for every basic block.  Normally gcov outputs execution counts only for the main blocks of a line. With this option you can determine if blocks within a single line are not being executed.
-b --branch-probabilities Write branch frequencies to the output file, and write branch summary info to the standard output.  This option allows you to see how often each branch in your program was taken.  Unconditional branches will not be shown, unless the -u option is given.
-c --branch-counts Write branch frequencies as the number of branches taken, rather than the percentage of branches taken.
-d --display-progress Display the progress on the standard output.
-f --function-summaries Output summaries for each function in addition to the file level summary.
-h --help Display help about using gcov (on the standard output), and exit without doing any further processing.
-j --json-format Output gcov file in an easy-to-parse JSON intermediate format which does not require source code for generation.  The JSON file is compressed with gzip compression algorithm and the files have .gcov.json.gz extension.
Structure of the JSON is following:
{ "current_working_directory": <current_working_directory>, "data_file": <data_file>, "format_version": <format_version>, "gcc_version": <gcc_version> "files": [<file>] }
Fields of the root element have following semantics:
*   current_working_directory: working directory where a compilation unit was compiled
*   data_file: name of the data file (GCDA)
*   format_version: semantic version of the format
*   gcc_version: version of the GCC compiler
Each file has the following form:
{ "file": <file_name>, "functions": [<function>], "lines": [<line>] }
Fields of the file element have following semantics:
*   file_name: name of the source file
Each function has the following form:
{ "blocks": <blocks>, "blocks_executed": <blocks_executed>, "demangled_name": "<demangled_name>, "end_column": <end_column>, "end_line": <end_line>, "execution_count": <execution_count>, "name": <name>, "start_column": <start_column> "start_line": <start_line> }
Fields of the function element have following semantics:
*   blocks: number of blocks that are in the function
*   blocks_executed: number of executed blocks of the function
*   demangled_name: demangled name of the function
*   end_column: column in the source file where the function ends
*   end_line: line in the source file where the function ends
*   execution_count: number of executions of the function
*   name: name of the function
*   start_column: column in the source file where the function begins
*   start_line: line in the source file where the function begins
Note that line numbers and column numbers number from 1.  In the current implementation, start_line and start_column do not include any template parameters and the leading return type but that this is likely to be fixed in the future.
Each line has the following form:
{ "branches": [<branch>], "count": <count>, "line_number": <line_number>, "unexecuted_block": <unexecuted_block> "function_name": <function_name>, }
Branches are present only with -b option.  Fields of the line element have following semantics:
*   count: number of executions of the line
*   line_number: line number