neulab/tldr huggingface dataset:
--kill-who= When used with kill, choose which processes to send a signal to. Must be one of main, control or all to select whether to kill only the main process, the control process or all processes of the unit. The main process of the unit is the one that defines the life-time of it. A control process of a unit is one that is invoked by the manager to induce state changes of it. For example, all processes started due to the ExecStartPre=, ExecStop= or ExecReload= settings of service units are control processes. Note that there is only one control process per unit at a time, as only one state change is executed at a time. For services of type Type=forking, the initial process started by the manager for ExecStart= is a control process, while the process ultimately forked off by that one is then considered the main process of the unit (if it can be determined). This is different for service units of other types, where the process forked off by the manager for ExecStart= is always the main process itself. A service unit consists of zero or one main process, zero or one control process plus any number of additional processes. Not all unit types manage processes of these types however. For example, for mount units, control processes are defined (which are the invocations of /usr/bin/mount and /usr/bin/umount), but no main process is defined. If omitted, defaults to all.
-s, --signal= When used with kill, choose which signal to send to selected processes. Must be one of the well-known signal specifiers such as SIGTERM, SIGINT or SIGSTOP. If omitted, defaults to SIGTERM.
The special value "help" will list the known values and the program will exit immediately, and the special value "list" will list known values along with the numerical signal numbers and the program will exit immediately.
--what= Select what type of per-unit resources to remove when the clean command is invoked, see below. Takes one of configuration, state, cache, logs, runtime to select the type of resource. This option may be specified more than once, in which case all specified resource types are removed. Also accepts the special value all as a shortcut for specifying all five resource types. If this option is not specified defaults to the combination of cache and runtime, i.e. the two kinds of resources that are generally considered to be redundant and can be reconstructed on next invocation.
-f, --force When used with enable, overwrite any existing conflicting symlinks.
When used with edit, create all of the specified units which do not already exist.
When used with halt, poweroff, reboot or kexec, execute the selected operation without shutting down all units. However, all processes will be killed forcibly and all file systems are unmounted or remounted read-only. This is hence a drastic but relatively safe option to request an immediate reboot. If --force is specified twice for these operations (with the exception of kexec), they will be executed immediately, without terminating any processes or unmounting any file systems. Warning: specifying --force twice with any of these operations might result in data loss. Note that when --force is specified twice the selected operation is executed by systemctl itself, and the system manager is not contacted. This means the command should succeed even when the system manager has crashed.
--message= When used with halt, poweroff or reboot, set a short message explaining the reason for the operation. The message will be logged together with the default shutdown message.
--now When used with enable, the units will also be started. When used with disable or mask, the units will also be stopped. The start or stop operation is only carried out when the respective enable or disable operation has been successful.
--root= When used with enable/disable/is-enabled (and related commands), use the specified root path when looking for unit files. If this option is present, systemctl will operate on the file system directly, instead of communicating with the systemd daemon to carry out changes.
--runtime When used with enable, disable, edit, (and related commands), make changes only temporarily, so that they are lost on the next reboot. This will have the effect that changes are not made in subdirectories of /etc/ but in /run/, with identical immediate effects, however, since the latter is lost on reboot, the changes are lost too.
Similarly, when used with set-property, make changes only temporarily, so that they are lost on the next reboot.
--preset-mode= Takes one of "full" (the default), "enable-only", "disable-only". When used with the preset or preset-all commands, controls whether units shall be disabled and enabled according to the preset rules, or only enabled, or only disabled.
-n, --lines= When used with status, controls the number of journal lines to show, counting from the most recent ones. Takes a positive integer argument, or 0 to disable journal output. Defaults to 10.
-o, --output= When used with status, controls the formatting of the journal entries that are shown. For the available choices, see journalctl(1). Defaults to "short".
--firmware-setup When used with the reboot command, indicate to the system's firmware to reboot into the firmware setup interface. Note that this functionality is not available on all systems.
--boot-loader-menu= When used with the reboot command, indicate to the system's boot loader to show the boot loader menu on the following boot. Takes a time value as parameter — indicating the menu timeout. Pass zero in order to disable the menu timeout. Note that not all boot loaders support this functionality.
--boot-loader-entry= When used with the reboot command, indicate to the system's boot loader to boot into a specific boot loader entry on the following boot. Takes a boot loader entry identifier as argument, or "help" in order to list available entries. Note that not all boot loaders support this functionality.
--reboot-argument= This switch is used with reboot. The value is architecture and firmware specific. As an example, "recovery" might be used to trigger system recovery, and "fota" might be used to trigger a “firmware over the air” update.
--plain When used with list-dependencies, list-units or list-machines, the output is printed as a list instead of a tree, and the bullet circles are omitted.
--timestamp= Change the format of printed timestamps. The following values may be used:
pretty (this is the default) "Day YYYY-MM-DD HH:MM:SS TZ"
us, µs "Day YYYY-MM-DD HH:MM:SS.UUUUUU TZ"
utc "Day YYYY-MM-DD HH:MM:SS UTC"
us+utc, µs+utc "Day YYYY-MM-DD HH:MM:SS.UUUUUU UTC"
--mkdir When used with bind, creates the destination file or directory before applying the bind mount. Note that even though the name of this option suggests that it is suitable only for directories, this option also creates the destination file node to mount over if the object to mount is not a directory, but a regular file, device node, socket or FIFO.
--marked Only allowed with reload-or-restart. Enqueues restart jobs for all units that have the "needs-restart" mark, and reload jobs for units that have the "needs-reload" mark. When a unit marked for reload does not support reload, restart will be queued. Those properties can be set using set-property Marks.
Unless --no-block is used, systemctl will wait for the queued jobs to finish.
--read-only When used with bind, creates a read-only bind mount.
--legend=BOOL Enable or disable printing of the legend, i.e. column headers and the footer with hints. The legend is printed by default, unless disabled with --quiet or similar.
systemctl uses the return codes defined by LSB, as defined in LSB 3.0.0[1].
Table 3. LSB return codes ┌──────┬──────────────────────┬─────────────────────┐ │Value │ Description in LSB   │ Use in systemd      │ ├──────┼──────────────────────┼─────────────────────┤ │0     │ "program is running  │ unit is active      │ │      │ or service is OK"    │                     │ ├──────┼──────────────────────┼─────────────────────┤ │1     │ "program is dead and │ unit not failed     │ │      │ /var/run pid file    │ (used by is-failed) │ │      │ exists"              │                     │ ├──────┼──────────────────────┼─────────────────────┤ │2     │ "program is dead and │ unused              │ │      │ /var/lock lock file  │                     │ │      │ exists"              │                     │ ├──────┼──────────────────────┼─────────────────────┤ │3     │ "program is not      │ unit is not active  │ │      │ running"             │                     │ ├──────┼──────────────────────┼─────────────────────┤ │4     │ "program or service  │ no such unit        │ │      │ status is unknown"   │                     │ └──────┴──────────────────────┴─────────────────────┘
The mapping of LSB service states to systemd unit states is imperfect, so it is better to not rely on those return values but to look for specific unit states and substates instead.
$SYSTEMD_EDITOR Editor to use when editing units; overrides $EDITOR and $VISUAL. If neither $SYSTEMD_EDITOR nor $EDITOR nor $VISUAL are present or if it is set to an empty string or if their execution failed, systemctl will try to execute well known editors in this order: editor(1), nano(1), vim(1), vi(1).
systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resource-control(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7)
1. LSB 3.0.0 http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html
GIT-CHECK-MAILMAP(1)               Git Manual               GIT-CHECK-MAILMAP(1)
git-check-mailmap - Show canonical names and email addresses of contacts
git check-mailmap [<options>] <contact>...
For each “Name <user@host>” or “<user@host>” from the command-line or standard input (when using --stdin), look up the person’s canonical name and email address (see "Mapping Authors" below). If found, print them; otherwise print the input as-is.
--stdin Read contacts, one per line, from the standard input after exhausting contacts provided on the command-line.
For each contact, a single line is output, terminated by a newline. If the name is provided or known to the mailmap, “Name <user@host>” is printed; otherwise only “<user@host>” is printed.
See mailmap.file and mailmap.blob in git-config(1) for how to specify a custom .mailmap target file or object.
ASSIMP(1)                            assimp                            ASSIMP(1)
assimp - Open Asset Import Library Tool
assimp <arguments>
assimp: is a command line utilitiy that allows interaction with 3D models
Use 'assimp <verb> --help' to get detailed help for a command.
info   Display statistics and structure of a 3D model
version Display Assimp version
listext List all known file extension
knowext Check whether a file extension is recognized by Assimp
extract Extract an embedded texture from a model
dump   Convert a model to binary or XML dumps (ASSBIN/ASSXML)
cmpdump Compare two file dumps produced with 'assimp dump <file> -s ...'
On Debian systems you should be able to find a manual in file:///usr/share/doc/assimp-utils/assimp/index.html
PAPERKEY(1)                  General Commands Manual                 PAPERKEY(1)
paperkey - extract secret information out of OpenPGP secret keys
paperkey [--secret-key=FILE] [--output=FILE] [--output-type=base16|raw] [--output-width=WIDTH]
paperkey --pubring=FILE [--secrets=FILE] [--input-type=auto|base16|raw] [--output=FILE] [--ignore-crc-error] [--comment=STRING] [--file-format]
paperkey --version
As with all data, secret keys should be backed up.  In fact, secret keys should be backed up even better than other data, because they are impossible to recreate should they ever be lost.  All files encrypted to lost keys are forever (or at least for a long time) undecipherable.  In addition to keeping backups of secret key information on digital media such as USB-sticks or CDs it is reasonable to keep an if-all-else-fails copy on plain old paper, for use should your digital media ever become unreadable for whatever reason.  Stored properly, paper is able to keep information for several decades or longer.
With GnuPG, PGP, or other OpenPGP implementations the secret key usually contains a lot more than just the secret numbers that are important. They also hold all the public values of key pairs, user ids, expiration times and more.  In order to minimize the information that has to be entered manually or with the help of OCR, QR code or similar software, paperkey extracts just the secret information out of OpenPGP secret keys. For recovering a secret key it is assumed that the public key is still available, for instance from public Internet keyservers.
paperkey has two modes of operation:
The first mode creates "paperkeys" by extracting just the secret information from a secret key, formatting the data in a way suitable for printing or in a raw mode for further processing.
The other mode rebuilds secret keys from such a paperkey and a copy of the public key, also verifying the checksums embedded in the paperkey. This mode is selected when the --pubring option is used, which is required in that case.  If a passphrase was set on the original secret key, the same passphrase is set on the rebuilt key.
Input is read from standard-in except when the --secret-key or --secrets option is used; output is printed to standard-out, unless changed with the --output option.
Please note that paperkey does not change the protection and encryption status of and security requirements for storing your secret key. If the secret key was protected by a passphrase so is the paperkey.  If the secret key was unprotected the paperkey will not be protected either.
--help, -h Display a short help message and exit successfully.
--version, -V Print version information and copyright information and exit successfully.
--verbose, -v Print status and progress information to standard-error while processing the input.  Repeat for even more output.
--output=FILE, -o Redirect output to the file given instead of printing to standard-output.
--comment=STRING Include the specified comment in the base16 output.
--file-format Paperkey automatically includes the file format it uses as comments at the top of the base16 output.  This command simply prints out the file format and exits successfully.
--output-type=base16, --output-type=raw Select the output type.  The base16 style encodes the information in the style of a classic hex-dump, including line numbers and per-line CRC checksums to facilitate localizing errors in the input file during the recovery phase.  The raw, or binary, mode is just a raw dump of the secret information, intended for feeding to barcode generators or the like.
--output-width=WIDTH Choose line width in the base16 output mode.  The default is 78 characters.
--secret-key=FILE File to read the secret key from.  If this option is not given paperkey reads from standard-input.
OPTIONS FOR RE-CREATING PRIVATE KEYS --input-type=auto, --input-type=base16, --input-type=raw Specify that the given input is either in base16 format, as produced by paperkey, or in raw format.  The default, auto, tries to automatically detect the format in use.
--pubring=FILE File to read public key information from.  It is assumed that the user can get the public key from sources like public Internet keyservers.
--secrets=FILE File to read the extracted secrets, the paperkey, from.  If this is not given then the information is read from standard-input.
--ignore-crc-error Do not reject corrupt input and continue despite any CRC errors.
Take the secret key in key.gpg and generate a text file to-be-printed.txt that contains the secret data:
$ paperkey --secret-key my-secret-key.gpg --output to-be-printed.txt
Take the secret key data in my-key-text-file.txt and combine it with my-public-key.gpg to reconstruct my-secret-key.gpg:
$ paperkey --pubring my-public-key.gpg --secrets my-key-text-file.txt --output my-secret-key.gpg
If --output is not specified, the output goes to stdout.  If --secret-key is not specified, the data is read from stdin so you can do things like:
$ gpg --export-secret-key my-key | paperkey | lpr
gpg(1), http://www.jabberwocky.com/software/paperkey/
paperkey is written by David Shaw <dshaw@jabberwocky.com>.
BANDWHICH(1)                 General Commands Manual                BANDWHICH(1)
bandwhich - display current network utilization by process, connection and remote IP/hostname
bandwhich [FLAGS] [OPTIONS]
bandwhich provides a responsive terminal dashboard for displaying bandwidth information. It sniffs a given network interface and cross references it with the /proc filesystem. It is responsive to the terminal window size, displaying less info if there is no room for it. It will also attempt to resolve ips to their host name in the background using reverse DNS on a best effort basis.
It has a raw mode that can be used to parse and log this data.
-a, --addresses Show remote addresses table only
-c, --connections Show connections table only
-n, --no-resolve Do not attempt to resolve IPs to their hostnames
-p, --processes Show processes table only
-r, --raw Print output to STDOUT so it can be parsed or redirected.
-s, --show-dns Show DNS queries
-t, --total-utilization Show total (cumulative) usages
-V, --version Print version and exit
-i, --interface interface The network interface to listen on, eg. eth0
Copyright Â© 2019 Aram Drevekenin License MIT: https://github.com/imsnif/bandwhich/blob/main/LICENSE.md This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
iftop(1), lsof(1), nethogs(1), netstat(1), nload(1), ss(1),
Please report bugs here: https://github.com/imsnif/bandwhich/issues
MANPATH(1)                     Manual pager utils                     MANPATH(1)
manpath - determine search path for manual pages
manpath [-qgdc?V] [-m system[,...]] [-C file]
If $MANPATH is set, manpath will simply display its contents and issue a warning.  If not, manpath will determine a suitable manual page hierarchy search path and display the results.
The colon-delimited path is determined using information gained from the man-db configuration file â€“ (/etc/man_db.conf) and the user's environment.
-q, --quiet Do not issue warnings.
-d, --debug Print debugging information.
-c, --catpath Produce a catpath as opposed to a manpath.  Once the manpath is determined, each path element is converted to its relative catpath.
-g, --global Produce a manpath consisting of all paths named as "global" within the man-db configuration file.
-m system[,...], --systems=system[,...] If this system has access to other operating system's manual hierarchies, this option can be used to include them in the output of manpath.  To include NewOS's manual page hierarchies use the option -m NewOS.
The system specified can be a combination of comma delimited operating system names.  To include the native operating system's manual page hierarchies, the system name man must be included in the argument string.  This option will override the $SYSTEM environment variable.
-C file, --config-file=file Use this user configuration file rather than the default of ~/.manpath.
-?, --help Print a help message and exit.
MANPATH If $MANPATH is set, manpath displays its value rather than determining it on the fly.  If $MANPATH is prefixed by a colon, then the value of the variable is appended to the list determined from the content of the configuration files.  If the colon comes at the end of the value in the variable, then the determined list is appended to the content of the variable.  If the value of the variable contains a double colon (::), then the determined list is inserted in the middle of the value, between the two colons.
SYSTEM If $SYSTEM is set, it will have the same effect as if it had been specified as the argument to the -m option.
/etc/man_db.conf  man-db configuration file.
apropos(1), man(1), whatis(1)
Wilf. (G.Wilford@ee.surrey.ac.uk). Fabrizio Polacco (fpolacco@debian.org). Colin Watson (cjwatson@debian.org).
https://savannah.nongnu.org/bugs/?group=man-db
cryfs(1)                     General Commands Manual                    cryfs(1)
cryfs - cryptographic filesystem for the cloud
cryfs [-c file] [-f] [options] basedir mountpoint cryfs --help|--version|--show-ciphers
CryFS encrypts your files, so you can safely store them anywhere.
The goal of CryFS is not only to keep file contents, but also file sizes, metadata and directory structure confidential.  CryFS uses encrypted same-size blocks to store both the files themselves and the block's relations to another.  These blocks are stored as individual files in the base directory, which can then be synchronized with cloud services such as Dropbox.
The blocks are encrypted using a random key, which is stored in a configuration file encrypted by the user's passphrase.  By default, it will be stored together with the data in the base directory, but you can choose a different location if you do not want it in your cloud or when using a weak passphrase.
Selecting base and mount directories While you can access your files through your mount directory, CryFS actually places them in your base directory after encrypting.  CryFS will encrypt and decrypt your files 'on the fly' as they are accessed, so files will never be stored on the disk in unencrypted form.
You can choose any empty directory as your base, but your mount directory should be outside of any cloud storage, as your cloud may try to sync your (temporarily mounted) unencrypted files as well.
Setup and usage of your encrypted directory Creating and mounting your encrypted storage use the same command-line syntax: cryfs basedir mountpoint
If CryFS detects an encrypted storage in the given base directory, you will be asked for the passphrase to unlock and mount it. Otherwise, CryFS will help you with creating one, just follow the on-screen instructions.
After you are done working with your encrypted files, unmount your storage with the command cryfs-unmount mountpoint
Changing your passphrase As the encryption key to your CryFS storage is stored in your configuration file, it would be possible to re-encrypt it using a different passphrase (although this feature has not been implemented yet).
However, this does not change the actual encryption key of your storage, so someone with access to the old passphrase and configuration file (for example through the file history of your cloud or your file system) could still access your files, even those created after the password change.
For this reason, the recommended way to change your passphrase is to create a new CryFS storage with the new passphrase and move your files from the old to the new one.
Getting help -h, --help Show a help message containing short descriptions for all options.
--show-ciphers Show a list of all supported encryption ciphers.
--version Show the CryFS version number.
Encryption parameters --blocksize arg Set the block size to arg bytes. Defaults to 32768.
A higher block size may help reducing the file count in your base directory (especially when storing large files), but will also waste more space when storing smaller files.
--cipher arg Use arg as the cipher for the encryption. Defaults to aes-256-gcm.
-c file, --config file Use file as configuration file for this CryFS storage instead of basedir/cryfs.config
General options -f, --foreground Run CryFS in the foreground. Stop using CTRL-C.
--allow-filesystem-upgrade Allow upgrading the file system if it was created with an old CryFS version. After the upgrade, older CryFS versions might not be able to use the file system anymore.
--allow-integrity-violations By default, CryFS checks for integrity violations, i.e. will notice if an adversary modified or rolled back the file system. Using this flag, you can disable the integrity checks. This can for example be helpful for loading an old snapshot of your file system without CryFS thinking an adversary rolled it back.
--allow-replaced-filesystem By default, CryFS remembers file systems it has seen in this base directory and checks that it didn't get replaced by an attacker with an entirely different file system since the last time it was loaded. However, if you do want to replace the file system with an entirely new one, you can pass in this option to disable the check.
--create-missing-basedir Creates the base directory even if there is no directory currently there, skipping the normal confirmation message to create it later.
--create-missing-mountpoint Creates the mountpoint even if there is no directory currently there, skipping the normal confirmation message to create it later.
--missing-block-is-integrity-violation=true When CryFS encounters a missing ciphertext block, it cannot cannot (yet) know if it was deleted by an unauthorized adversary or by a second authorized client. This is one of the restrictions of the integrity checks currently in place. You can enable this flag to treat missing ciphertext blocks as integrity violations, but then your file system will not be usable by multiple clients anymore. By default, this flag is disabled.
--logfile file Write status information to file. If no logfile is given, CryFS will write them to syslog in background mode, or to stdout in foreground mode.
--unmount-idle arg Unmount automatically after arg minutes of inactivity.
FUSE Options -o option, --fuse-option option Pass through options to the FUSE filesystem driver.
-o allow_other This option overrides the security measure restricting file access to the filesystem owner, so that all users (including root) can access the files.
-o allow_root This option is similar to allow_other but file access is limited to the filesystem owner and root.  This option and allow_other are mutually exclusive.
CRYFS_FRONTEND=noninteractive With this option set, CryFS will only ask for the encryption passphrase once.  Instead of asking the user for parameters not specified on the command line, it will just use the default values. CryFS will also not ask you to confirm your passphrase when creating a new CryFS storage.
Set this environment variable when automating CryFS using external tools or shell scripts.
CRYFS_NO_UPDATE_CHECK=true By default, CryFS connects to the internet to check for known security vulnerabilities and new versions. This option disables this.
CRYFS_LOCAL_STATE_DIR=[path] Sets the directory cryfs uses to store local state. This local state is used to recognize known file systems and run integrity checks (i.e. check that they haven't been modified by an attacker. Default value: ${HOME}/.cryfs
mount.fuse(1), fusermount(1)
For more information about the design of CryFS, visit https://www.cryfs.org
Visit the development repository at https://github.com/cryfs/cryfs for the source code and the full list of contributors to CryFS.
CryFS was created by Sebastian Messmer and contributors.  This man page was written by Maximilian Wende.
KITTY(1)                              kitty                             KITTY(1)
kitty - kitty Documentation
kitty [options] [program-to-run ...]
Run the kitty terminal emulator. You can also specify the program to run inside kitty as normal arguments following the options.  For example: kitty sh -c "echo hello, world. Press ENTER to quit; read"
For comprehensive documentation for kitty, please see: https://sw.kovidgoyal.net/kitty/
--class <CLS> Set the class part of the WM_CLASS window property. On Wayland, it sets the app id.  Default: kitty
--name <NAME> Set the name part of the WM_CLASS property (defaults to using the value from kitty --class)
--title <TITLE>, -T <TITLE> Set the OS window title. This will override any title set by the program running inside kitty, permanently fixing the OS Window's title. So only use this if you are running a program that does not set titles.
--config <CONFIG>, -c <CONFIG> Specify a path to the configuration file(s) to use. All configuration files are merged onto the builtin kitty.conf, overriding the builtin values. This option can be specified multiple times to read multiple configuration files in sequence, which are merged. Use the special value NONE to not load a config file.
If this option is not specified, config files are searched for in the order: $XDG_CONFIG_HOME/kitty/kitty.conf, ~/.config/kitty/kitty.conf, $XDG_CONFIG_DIRS/kitty/kitty.conf. The first one that exists is used as the config file.
If the environment variable KITTY_CONFIG_DIRECTORY is specified, that directory is always used and the above searching does not happen.
If /etc/xdg/kitty/kitty.conf exists it is merged before (i.e. with lower priority) than any user config files. It can be used to specify system-wide defaults for all users.
--override <OVERRIDE>, -o <OVERRIDE> Override individual configuration options, can be specified multiple times. Syntax: name=value. For example: kitty -o font_size=20
--directory <DIRECTORY>, --working-directory <DIRECTORY>, -d <DIRECTORY> Change to the specified directory when launching Default: .
--detach Detach from the controlling terminal, if any
--session <SESSION> Path to a file containing the startup session (tabs, windows, layout, programs). Use - to read from STDIN. See the README file for details and an example.
--watcher <WATCHER>, -w <WATCHER> Path to a python file. Appropriately named functions in this file will be called for various events, such as when the window is resized, focused or closed. See the section on watchers in the launch command documentation launch. Relative paths are resolved relative to the kitty config directory. Note that this watcher will be added only to all initially created windows, not new windows created after startup.
--hold Remain open after child process exits. Note that this only affects the first window. You can quit by either using the close window shortcut or pressing any key.
--single-instance, -1 If specified only a single instance of kitty will run. New invocations will instead create a new top-level window in the existing kitty instance. This allows kitty to share a single sprite cache on the GPU and also reduces startup time. You can also have separate groups of kitty instances by using the kitty --instance-group option
--instance-group <INSTANCE_GROUP> Used in combination with the kitty --single-instance option. All kitty invocations with the same kitty --instance-group will result in new windows being created in the first kitty instance within that group
--wait-for-single-instance-window-close Normally, when using --single-instance, kitty will open a new window in an existing instance and quit immediately. With this option, it will not quit till the newly opened window is closed. Note that if no previous instance is found, then kitty will wait anyway, regardless of this option.
--listen-on <LISTEN_ON> Tell kitty to listen on the specified address for control messages. For example, kitty --listen-on=unix:/tmp/mykitty or kitty --listen-on=tcp:localhost:12345. On Linux systems, you can also use abstract UNIX sockets, not associated with a file, like this: kitty --listen-on=unix:@mykitty. Environment variables in the setting are expanded and relative paths are resolved with respect to the temporary directory. To control kitty, you can send it commands with kitty @ using the kitty @ --to option to specify this address. This option will be ignored, unless you set allow_remote_control to yes in kitty.conf. Note that if you run kitty @ within a kitty window, there is no need to specify the --to option as it is read automatically from the environment. For UNIX sockets, this can also be specified in kitty.conf.
--start-as <START_AS> Control how the initial kitty window is created.  Default: normal Choices: fullscreen, maximized, minimized, normal
Debugging options --version, -v The current kitty version
--dump-commands Output commands received from child process to stdout
--replay-commands <REPLAY_COMMANDS> Replay previously dumped commands. Specify the path to a dump file previously created by --dump-commands. You can open a new kitty window to replay the commands with:
kitty sh -c "kitty --replay-commands /path/to/dump/file; read"
--dump-bytes <DUMP_BYTES> Path to file in which to store the raw bytes received from the child process
--debug-gl, --debug-rendering Debug rendering commands. This will cause all OpenGL calls to check for errors instead of ignoring them. Also prints out miscellaneous debug information. Useful when debugging rendering problems
--debug-input, --debug-keyboard This option will cause kitty to print out key and mouse events as they are received
--debug-font-fallback Print out information about the selection of fallback fonts for characters not present in the main font.
kitty is capable of running multiple programs organized into tabs and windows. The top level of organization is the Tab. Each tab consists of one or more windows. The windows can be arranged in multiple different layouts, like windows are organized in a tiling window manager. The keyboard controls (which are all customizable) for tabs and windows are:
Scrolling ┌─────────────────┬─────────────────────────────┐ │Action           │ Shortcut                    │ ├─────────────────┼─────────────────────────────┤ │Scroll line up   │ ctrl+shift+up (also ⌥+⌘+⇞   │ │                 │ and ⌘+↑ on macOS)           │ ├─────────────────┼─────────────────────────────┤ │Scroll line down │ ctrl+shift+down (also ⌥+⌘+⇟ │ │                 │ and ⌘+↓ on macOS)           │ ├─────────────────┼─────────────────────────────┤ │Scroll page up   │ ctrl+shift+page_up (also    │ │                 │ ⌘+⇞ on macOS)               │ ├─────────────────┼─────────────────────────────┤ │Scroll page down │ ctrl+shift+page_down (also  │ │                 │ ⌘+⇟ on macOS)               │ ├─────────────────┼─────────────────────────────┤ │Scroll to top    │ ctrl+shift+home (also ⌘+↖   │ │                 │ on macOS)                   │ ├─────────────────┼─────────────────────────────┤ │Scroll to bottom │ ctrl+shift+end (also ⌘+↘ on │ │                 │ macOS)                      │ └─────────────────┴─────────────────────────────┘
Tabs ┌──────────────────┬─────────────────────────────┐ │Action            │ Shortcut                    │ ├──────────────────┼─────────────────────────────┤ │New tab           │ ctrl+shift+t (also ⌘+t on   │ │                  │ macOS)                      │ ├──────────────────┼─────────────────────────────┤ │Close tab         │ ctrl+shift+q (also ⌘+w on   │ │                  │ macOS)                      │ ├──────────────────┼─────────────────────────────┤ │Next tab          │ ctrl+shift+right (also ^+⇥  │ │                  │ and ⇧+⌘+] on macOS)         │ └──────────────────┴─────────────────────────────┘
│Previous tab      │ ctrl+shift+left (also ⇧+^+⇥ │ │                  │ and ⇧+⌘+[ on macOS)         │ ├──────────────────┼─────────────────────────────┤ │Next layout       │ ctrl+shift+l                │ ├──────────────────┼─────────────────────────────┤ │Move tab forward  │ ctrl+shift+.                │ ├──────────────────┼─────────────────────────────┤ │Move tab backward │ ctrl+shift+,                │ ├──────────────────┼─────────────────────────────┤ │Set tab title     │ ctrl+shift+alt+t (also      │ │                  │ ⇧+⌘+i on macOS)             │ └──────────────────┴─────────────────────────────┘
Windows ┌──────────────────────┬─────────────────────────────┐ │Action                │ Shortcut                    │ ├──────────────────────┼─────────────────────────────┤ │New window            │ ctrl+shift+enter (also ⌘+↩  │ │                      │ on macOS)                   │ ├──────────────────────┼─────────────────────────────┤ │New OS window         │ ctrl+shift+n (also ⌘+n on   │ │                      │ macOS)                      │ ├──────────────────────┼─────────────────────────────┤ │Close window          │ ctrl+shift+w (also ⇧+⌘+d on │ │                      │ macOS)                      │ ├──────────────────────┼─────────────────────────────┤ │Next window           │ ctrl+shift+]                │ ├──────────────────────┼─────────────────────────────┤ │Previous window       │ ctrl+shift+[                │ ├──────────────────────┼─────────────────────────────┤ │Move window forward   │ ctrl+shift+f                │ ├──────────────────────┼─────────────────────────────┤ │Move window backward  │ ctrl+shift+b                │ ├──────────────────────┼─────────────────────────────┤ │Move window to top    │ ctrl+shift+`                │ ├──────────────────────┼─────────────────────────────┤ │Focus specific window │ ctrl+shift+1, ctrl+shift+2  │ │                      │ ... ctrl+shift+0 (also ⌘+1, │ │                      │ ⌘+2 ... ⌘+9 on macOS)       │ │                      │ (clockwise from the         │ │                      │ top-left)                   │ └──────────────────────┴─────────────────────────────┘
Additionally, you can define shortcuts in kitty.conf to focus neighboring windows and move windows around (similar to window movement in vim):
map ctrl+left neighboring_window left map shift+left move_window right map ctrl+down neighboring_window down map shift+down move_window up ...
You can also define a shortcut to switch to the previously active window:
map ctrl+p nth_window -1
nth_window will focus the nth window for positive numbers and the previously active windows for negative numbers.
You can define shortcuts to detach the current window and move it to another tab or another OS window:
# moves the window into a new OS window map ctrl+f2 detach_window # moves the window into a new Tab map ctrl+f3 detach_window new-tab # moves the window into the previously active tab map ctrl+f3 detach_window tab-prev # moves the window into the tab at the left of the active tab map ctrl+f3 detach_window tab-left # asks which tab to move the window into map ctrl+f4 detach_window ask
Similarly, you can detach the current tab, with:
# moves the tab into a new OS window map ctrl+f2 detach_tab # asks which OS Window to move the tab into map ctrl+f4 detach_tab ask
Finally, you can define a shortcut to close all windows in a tab other than the currently active window:
map f9 close_other_windows_in_tab
The full list of actions that can be mapped to key presses is available here.
┌────────────────────────────┬────────────────────────────┐ │Action                      │ Shortcut                   │ ├────────────────────────────┼────────────────────────────┤ │Copy to clipboard           │ ctrl+shift+c (also ⌘+c on  │ │                            │ macOS)                     │ ├────────────────────────────┼────────────────────────────┤ │Paste from clipboard        │ ctrl+shift+v (also ⌘+v on  │ │                            │ macOS)                     │ ├────────────────────────────┼────────────────────────────┤ │Paste from selection        │ ctrl+shift+s               │ ├────────────────────────────┼────────────────────────────┤ │Increase font size          │ ctrl+shift+equal (also ⌘++ │ │                            │ on macOS)                  │ ├────────────────────────────┼────────────────────────────┤ │Decrease font size          │ ctrl+shift+minus (also ⌘+- │ │                            │ on macOS)                  │ ├────────────────────────────┼────────────────────────────┤ │Restore font size           │ ctrl+shift+backspace (also │ │                            │ ⌘+0 on macOS)              │ ├────────────────────────────┼────────────────────────────┤ │Toggle fullscreen           │ ctrl+shift+f11 (also ^+⌘+f │ │                            │ on macOS)                  │ ├────────────────────────────┼────────────────────────────┤ │Toggle maximized            │ ctrl+shift+f10             │ ├────────────────────────────┼────────────────────────────┤ │Input unicode character     │ ctrl+shift+u (also         │ │                            │ ^+⌘+space on macOS)        │ ├────────────────────────────┼────────────────────────────┤ │Click URL using the         │ ctrl+shift+e               │ │keyboard                    │                            │ ├────────────────────────────┼────────────────────────────┤ │Reset the terminal          │ ctrl+shift+delete          │ ├────────────────────────────┼────────────────────────────┤ │Reload kitty.conf           │ ctrl+shift+f5 (also ^+⌘+f5 │ │                            │ on macOS)                  │ ├────────────────────────────┼────────────────────────────┤ │Debug kitty.conf            │ ctrl+shift+f6 (also        │ │                            │ ⌘+option+f6 on macOS)      │ ├────────────────────────────┼────────────────────────────┤ │Pass current selection to   │ ctrl+shift+o               │ │program                     │                            │ └────────────────────────────┴────────────────────────────┘
│Edit kitty config file      │ ctrl+shift+f2              │ ├────────────────────────────┼────────────────────────────┤ │Open a kitty shell          │ ctrl+shift+escape          │ ├────────────────────────────┼────────────────────────────┤ │Increase background opacity │ ctrl+shift+a>m             │ ├────────────────────────────┼────────────────────────────┤ │Decrease background opacity │ ctrl+shift+a>l             │ ├────────────────────────────┼────────────────────────────┤ │Full background opacity     │ ctrl+shift+a>1             │ ├────────────────────────────┼────────────────────────────┤ │Reset background opacity    │ ctrl+shift+a>d             │ └────────────────────────────┴────────────────────────────┘
See kitty.conf(5)
2021, Kovid Goyal
TOUCH(1P)                   POSIX Programmer's Manual                  TOUCH(1P)
touch — change file access and modification times
touch [-acm] [-r ref_file|-t time|-d date_time] file...
The touch utility shall change the last data modification timestamps, the last data access timestamps, or both.
The time used can be specified by the -t time option-argument, the corresponding time fields of the file referenced by the -r ref_file option-argument, or the -d date_time option-argument, as specified in the following sections. If none of these are specified, touch shall use the current time.
For each file operand, touch shall perform actions equivalent to the following functions defined in the System Interfaces volume of POSIX.1‐2017:
1. If file does not exist:
a. The creat() function is called with the following arguments:
--  The file operand is used as the path argument.
--  The value of the bitwise-inclusive OR of S_IRUSR, S_IWUSR, S_IRGRP, S_IWGRP, S_IROTH, and S_IWOTH is used as the mode argument.
b. The futimens() function is called with the following arguments:
--  The file descriptor opened in step 1a.
--  The access time and the modification time, set as described in the OPTIONS section, are used as the first and second elements of the times array argument, respectively.
2. If file exists, the utimensat() function is called with the following arguments:
a. The AT_FDCWD special value is used as the fd argument.
b. The file operand is used as the path argument.
c. The access time and the modification time, set as described in the OPTIONS section, are used as the first and second elements of the times array argument, respectively.
d. The flag argument is set to zero.
The touch utility shall conform to the Base Definitions volume of POSIX.1‐2017, Section 12.2, Utility Syntax Guidelines.
-a        Change the access time of file.  Do not change the modification time unless -m is also specified.
-c        Do not create a specified file if it does not exist. Do not write any diagnostic messages concerning this condition.
-d date_time Use the specified date_time instead of the current time. The option-argument shall be a string of the form:
YYYY-MM-DDThh:mm:SS[.frac][tz]
YYYY-MM-DDThh:mm:SS[,frac][tz]
*  YYYY are at least four decimal digits giving the year.
*  MM, DD, hh, mm, and SS are as with -t time.
*  T is the time designator, and can be replaced by a single <space>.
*  [.frac] and [,frac] are either empty, or a <period> ('.') or a <comma> (',') respectively, followed by one or more decimal digits, specifying a fractional second.
*  [tz] is either empty, signifying local time, or the letter 'Z', signifying UTC. If [tz] is empty, the resulting time shall be affected by the value of the TZ environment variable.
If the resulting time precedes the Epoch, the behavior is implementation-defined. If the time cannot be represented as the file's timestamp, touch shall exit immediately with an error status.
-m        Change the modification time of file.  Do not change the access time unless -a is also specified.
-r ref_file Use the corresponding time of the file named by the pathname ref_file instead of the current time.
-t time   Use the specified time instead of the current time. The option- argument shall be a decimal number of the form:
[[CC]YY]MMDDhhmm[.SS]
where each two digits represents the following:
MM      The month of the year [01,12].
DD      The day of the month [01,31].
hh      The hour of the day [00,23].
mm      The minute of the hour [00,59].
CC      The first two digits of the year (the century).
YY      The second two digits of the year.
SS      The second of the minute [00,60].
Both CC and YY shall be optional. If neither is given, the current year shall be assumed. If YY is specified, but CC is not, CC shall be derived as follows:
┌──────────┬─────────────┐ │If YY is: │ CC becomes: │ ├──────────┼─────────────┤ │ [69,99]  │     19      │ │ [00,68]  │     20      │ └──────────┴─────────────┘ Note:     It is expected that in a future version of this standard the default century inferred from a 2-digit year will change. (This would apply to all commands accepting a 2-digit year as input.)
The resulting time shall be affected by the value of the TZ environment variable. If the resulting time value precedes the Epoch, the behavior is implementation-defined. If the time is out of range for the file's timestamp, touch shall exit immediately with an error status. The range of valid times past the Epoch is implementation-defined, but it shall extend to at least the time 0 hours, 0 minutes, 0 seconds, January 1, 2038, Coordinated Universal Time. Some implementations may not be able to represent dates beyond January 18, 2038, because they use signed int as a time holder.
The range for SS is [00,60] rather than [00,59] because of leap seconds. If SS is 60, and the resulting time, as affected by the TZ environment variable, does not refer to a leap second, the resulting time shall be one second after a time where SS is 59. If SS is not given a value, it is assumed to be zero.
If neither the -a nor -m options were specified, touch shall behave as if both the -a and -m options were specified.
file      A pathname of a file whose times shall be modified.
The following environment variables shall affect the execution of touch:
TZ        Determine the timezone to be used for interpreting the time option-argument. If TZ is unset or null, an unspecified default timezone shall be used.
0    The utility executed successfully and all requested changes were made.
The interpretation of time is taken to be seconds since the Epoch (see the Base Definitions volume of POSIX.1‐2017, Section 4.16, Seconds Since the Epoch).  It should be noted that implementations conforming to the System Interfaces volume of POSIX.1‐2017 do not take leap seconds into account when computing seconds since the Epoch. When SS=60 is used, the resulting time always refers to 1 plus seconds since the Epoch for a time when SS=59.
Although the -t time option-argument specifies values in 1969, the access time and modification time fields are defined in terms of seconds since the Epoch (00:00:00 on 1 January 1970 UTC). Therefore, depending on the value of TZ when touch is run, there is never more than a few valid hours in 1969 and there need not be any valid times in 1969.
If the T time designator is replaced by a <space> for the -d date_time option-argument, the <space> must be quoted to prevent the shell from splitting the argument.
Create or update a file called dwc; the resulting file has both the last data modification and last data access timestamps set to November 12, 2007 at 10:15:30 local time:
touch -d 2007-11-12T10:15:30 dwc
Create or update a file called nick; the resulting file has both the last data modification and last data access timestamps set to November 12, 2007 at 10:15:30 UTC:
touch -d 2007-11-12T10:15:30Z nick
Create or update a file called gwc; the resulting file has both the last data modification and last data access timestamps set to November 12, 2007 at 10:15:30 local time with a fractional second timestamp of .002 seconds:
touch -d 2007-11-12T10:15:30,002 gwc