--- coreutils-9.5/doc/coreutils.texi.orig 2024-03-24 18:51:06.000000000 +0100 +++ coreutils-9.5/doc/coreutils.texi 2024-03-28 22:13:57.040433328 +0100 @@ -24,124 +24,113 @@ @syncodeindex pg cp @syncodeindex vr cp -@dircategory Basics +@dircategory Core utilities: @direntry -* Coreutils: (coreutils). Core GNU (file, text, shell) utilities. +* Coreutils: (coreutils). Core GNU (file, text, shell) utilities * Common options: (coreutils)Common options. -* File permissions: (coreutils)File permissions. Access modes. +* File permissions: (coreutils)File permissions. Access modes. * Date input formats: (coreutils)Date input formats. -@end direntry - -@c FIXME: the following need documentation -@c * [: (coreutils)[ invocation. File/string tests. -@c * pinky: (coreutils)pinky invocation. FIXME. - -@dircategory Individual utilities -@direntry -* arch: (coreutils)arch invocation. Print machine hardware name. -* b2sum: (coreutils)b2sum invocation. Print or check BLAKE2 digests. -* base32: (coreutils)base32 invocation. Base32 encode/decode data. -* base64: (coreutils)base64 invocation. Base64 encode/decode data. -* basename: (coreutils)basename invocation. Strip directory and suffix. -* basenc: (coreutils)basenc invocation. Encoding/decoding of data. -* cat: (coreutils)cat invocation. Concatenate and write files. -* chcon: (coreutils)chcon invocation. Change SELinux CTX of files. -* chgrp: (coreutils)chgrp invocation. Change file groups. -* chmod: (coreutils)chmod invocation. Change access permissions. -* chown: (coreutils)chown invocation. Change file owners and groups. -* chroot: (coreutils)chroot invocation. Specify the root directory. -* cksum: (coreutils)cksum invocation. Print POSIX CRC checksum. -* comm: (coreutils)comm invocation. Compare sorted files by line. -* cp: (coreutils)cp invocation. Copy files. -* csplit: (coreutils)csplit invocation. Split by context. -* cut: (coreutils)cut invocation. Print selected parts of lines. -* date: (coreutils)date invocation. Print/set system date and time. -* dd: (coreutils)dd invocation. Copy and convert a file. -* df: (coreutils)df invocation. Report file system usage. -* dir: (coreutils)dir invocation. List directories briefly. -* dircolors: (coreutils)dircolors invocation. Color setup for ls. -* dirname: (coreutils)dirname invocation. Strip last file name component. -* du: (coreutils)du invocation. Report file usage. -* echo: (coreutils)echo invocation. Print a line of text. -* env: (coreutils)env invocation. Modify the environment. -* expand: (coreutils)expand invocation. Convert tabs to spaces. -* expr: (coreutils)expr invocation. Evaluate expressions. -* factor: (coreutils)factor invocation. Print prime factors -* false: (coreutils)false invocation. Do nothing, unsuccessfully. -* fmt: (coreutils)fmt invocation. Reformat paragraph text. -* fold: (coreutils)fold invocation. Wrap long input lines. -* groups: (coreutils)groups invocation. Print group names a user is in. -* head: (coreutils)head invocation. Output the first part of files. -* hostid: (coreutils)hostid invocation. Print numeric host identifier. -* hostname: (coreutils)hostname invocation. Print or set system name. -* id: (coreutils)id invocation. Print user identity. -* install: (coreutils)install invocation. Copy files and set attributes. -* join: (coreutils)join invocation. Join lines on a common field. -* kill: (coreutils)kill invocation. Send a signal to processes. -* link: (coreutils)link invocation. Make hard links between files. -* ln: (coreutils)ln invocation. Make links between files. -* logname: (coreutils)logname invocation. Print current login name. -* ls: (coreutils)ls invocation. List directory contents. -* md5sum: (coreutils)md5sum invocation. Print or check MD5 digests. -* mkdir: (coreutils)mkdir invocation. Create directories. -* mkfifo: (coreutils)mkfifo invocation. Create FIFOs (named pipes). -* mknod: (coreutils)mknod invocation. Create special files. -* mktemp: (coreutils)mktemp invocation. Create temporary files. -* mv: (coreutils)mv invocation. Rename files. -* nice: (coreutils)nice invocation. Modify niceness. -* nl: (coreutils)nl invocation. Number lines and write files. -* nohup: (coreutils)nohup invocation. Immunize to hangups. -* nproc: (coreutils)nproc invocation. Print the number of processors. -* numfmt: (coreutils)numfmt invocation. Reformat numbers. -* od: (coreutils)od invocation. Dump files in octal, etc. -* paste: (coreutils)paste invocation. Merge lines of files. -* pathchk: (coreutils)pathchk invocation. Check file name portability. -* pinky: (coreutils)pinky invocation. Print information about users. -* pr: (coreutils)pr invocation. Paginate or columnate files. -* printenv: (coreutils)printenv invocation. Print environment variables. -* printf: (coreutils)printf invocation. Format and print data. -* ptx: (coreutils)ptx invocation. Produce permuted indexes. -* pwd: (coreutils)pwd invocation. Print working directory. -* readlink: (coreutils)readlink invocation. Print referent of a symlink. -* realpath: (coreutils)realpath invocation. Print resolved file names. -* rm: (coreutils)rm invocation. Remove files. -* rmdir: (coreutils)rmdir invocation. Remove empty directories. -* runcon: (coreutils)runcon invocation. Run in specified SELinux CTX. -* seq: (coreutils)seq invocation. Print numeric sequences -* sha1sum: (coreutils)sha1sum invocation. Print or check SHA-1 digests. -* sha2: (coreutils)sha2 utilities. Print or check SHA-2 digests. -* shred: (coreutils)shred invocation. Remove files more securely. -* shuf: (coreutils)shuf invocation. Shuffling text files. -* sleep: (coreutils)sleep invocation. Delay for a specified time. -* sort: (coreutils)sort invocation. Sort text files. -* split: (coreutils)split invocation. Split into pieces. -* stat: (coreutils)stat invocation. Report file(system) status. -* stdbuf: (coreutils)stdbuf invocation. Modify stdio buffering. -* stty: (coreutils)stty invocation. Print/change terminal settings. -* sum: (coreutils)sum invocation. Print traditional checksum. -* sync: (coreutils)sync invocation. Sync files to stable storage. -* tac: (coreutils)tac invocation. Reverse files. -* tail: (coreutils)tail invocation. Output the last part of files. -* tee: (coreutils)tee invocation. Redirect to multiple files. -* test: (coreutils)test invocation. File/string tests. -* timeout: (coreutils)timeout invocation. Run with time limit. -* touch: (coreutils)touch invocation. Change file timestamps. -* tr: (coreutils)tr invocation. Translate characters. -* true: (coreutils)true invocation. Do nothing, successfully. -* truncate: (coreutils)truncate invocation. Shrink/extend size of a file. -* tsort: (coreutils)tsort invocation. Topological sort. -* tty: (coreutils)tty invocation. Print terminal name. -* uname: (coreutils)uname invocation. Print system information. -* unexpand: (coreutils)unexpand invocation. Convert spaces to tabs. -* uniq: (coreutils)uniq invocation. Uniquify files. -* unlink: (coreutils)unlink invocation. Removal via unlink(2). -* uptime: (coreutils)uptime invocation. Print uptime and load. -* users: (coreutils)users invocation. Print current user names. -* vdir: (coreutils)vdir invocation. List directories verbosely. -* wc: (coreutils)wc invocation. Line, word, and byte counts. -* who: (coreutils)who invocation. Print who is logged in. -* whoami: (coreutils)whoami invocation. Print effective user ID. -* yes: (coreutils)yes invocation. Print a string indefinitely. +* arch: (coreutils)arch. Print machine hardware name. +* b2sum: (coreutils)b2sum. Print or check BLAKE2 digests. +* base32: (coreutils)base32. Base32 encode/decode data. +* base64: (coreutils)base64. Base64 encode/decode data. +* basename: (coreutils)basename. Strip directory and suffix. +* basenc: (coreutils)basenc. Encoding/decoding of data. +* cat: (coreutils)cat. Concatenate and write files. +* chcon: (coreutils)chcon. Change SELinux CTX of files. +* chgrp: (coreutils)chgrp. Change file groups. +* chmod: (coreutils)chmod. Change access permissions. +* chown: (coreutils)chown. Change file owners and groups. +* chroot: (coreutils)chroot. Specify the root directory. +* cksum: (coreutils)cksum. Print POSIX CRC checksum. +* comm: (coreutils)comm. Compare sorted files by line. +* cp: (coreutils)cp. Copy files. +* csplit: (coreutils)csplit. Split by context. +* cut: (coreutils)cut. Print selected parts of lines. +* date: (coreutils)date. Print/set system date and time. +* dd: (coreutils)dd. Copy and convert a file. +* df: (coreutils)df. Report file system usage. +* dir: (coreutils)dir. List directories briefly. +* dircolors: (coreutils)dircolors. Color setup for ls. +* dirname: (coreutils)dirname. Strip last file name component. +* du: (coreutils)du. Report file usage. +* echo: (coreutils)echo. Print a line of text. +* env: (coreutils)env. Modify the environment. +* expand: (coreutils)expand. Convert tabs to spaces. +* expr: (coreutils)expr. Evaluate expressions. +* factor: (coreutils)factor. Print prime factors +* false: (coreutils)false. Do nothing, unsuccessfully. +* fmt: (coreutils)fmt. Reformat paragraph text. +* fold: (coreutils)fold. Wrap long input lines. +* groups: (coreutils)groups. Print group names a user is in. +* head: (coreutils)head. Output the first part of files. +* hostid: (coreutils)hostid. Print numeric host identifier. +* id: (coreutils)id. Print user identity. +* install: (coreutils)install. Copy files and set attributes. +* join: (coreutils)join. Join lines on a common field. +* link: (coreutils)link. Make hard links between files. +* ln: (coreutils)ln. Make links between files. +* logname: (coreutils)logname. Print current login name. +* ls: (coreutils)ls. List directory contents. +* md5sum: (coreutils)md5sum. Print or check MD5 digests. +* mkdir: (coreutils)mkdir. Create directories. +* mkfifo: (coreutils)mkfifo. Create FIFOs (named pipes). +* mknod: (coreutils)mknod. Create special files. +* mktemp: (coreutils)mktemp. Create temporary files. +* mv: (coreutils)mv. Rename files. +* nice: (coreutils)nice. Modify niceness. +* nl: (coreutils)nl. Number lines and write files. +* nohup: (coreutils)nohup. Immunize to hangups. +* nproc: (coreutils)nproc. Print the number of processors. +* numfmt: (coreutils)numfmt. Reformat numbers. +* od: (coreutils)od. Dump files in octal, etc. +* paste: (coreutils)paste. Merge lines of files. +* pathchk: (coreutils)pathchk. Check file name portability. +* pinky: (coreutils)pinky. Print information about users. +* pr: (coreutils)pr. Paginate or columnate files. +* printenv: (coreutils)printenv. Print environment variables. +* printf: (coreutils)printf. Format and print data. +* ptx: (coreutils)ptx. Produce permuted indexes. +* pwd: (coreutils)pwd. Print working directory. +* readlink: (coreutils)readlink. Print referent of a symlink. +* realpath: (coreutils)realpath. Print resolved file names. +* rm: (coreutils)rm. Remove files. +* rmdir: (coreutils)rmdir. Remove empty directories. +* runcon: (coreutils)runcon. Run in specified SELinux CTX. +* seq: (coreutils)seq. Print numeric sequences +* sha1sum: (coreutils)sha1sum. Print or check SHA-1 digests. +* sha2: (coreutils)sha2 utilities. Print or check SHA-2 digests. +* shred: (coreutils)shred. Remove files more securely. +* shuf: (coreutils)shuf. Shuffling text files. +* sleep: (coreutils)sleep. Delay for a specified time. +* sort: (coreutils)sort. Sort text files. +* split: (coreutils)split. Split into pieces. +* stat: (coreutils)stat. Report file(system) status. +* stdbuf: (coreutils)stdbuf. Modify stdio buffering. +* stty: (coreutils)stty. Print/change terminal settings. +* sum: (coreutils)sum. Print traditional checksum. +* sync: (coreutils)sync. Sync files to stable storage. +* tac: (coreutils)tac. Reverse files. +* tail: (coreutils)tail. Output the last part of files. +* tee: (coreutils)tee. Redirect to multiple files. +* test: (coreutils)test. File/string tests. +* timeout: (coreutils)timeout. Run with time limit. +* touch: (coreutils)touch. Change file timestamps. +* tr: (coreutils)tr. Translate characters. +* true: (coreutils)true. Do nothing, successfully. +* truncate: (coreutils)truncate. Shrink/extend size of a file. +* tsort: (coreutils)tsort. Topological sort. +* tty: (coreutils)tty. Print terminal name. +* uname: (coreutils)uname. Print system information. +* unexpand: (coreutils)unexpand. Convert spaces to tabs. +* uniq: (coreutils)uniq. Uniquify files. +* unlink: (coreutils)unlink. Removal via unlink(2). +* users: (coreutils)users. Print current user names. +* vdir: (coreutils)vdir. List directories verbosely. +* wc: (coreutils)wc. Line, word, and byte counts. +* who: (coreutils)who. Print who is logged in. +* whoami: (coreutils)whoami. Print effective user ID. +* yes: (coreutils)yes. Print a string indefinitely. @end direntry @copying @@ -206,10 +195,9 @@ Free Documentation License''. * File name manipulation:: dirname basename pathchk mktemp realpath * Working context:: pwd stty printenv tty * User information:: id logname whoami groups users who -* System context:: date arch nproc uname hostname hostid uptime +* System context:: date arch nproc uname hostid * SELinux context:: chcon runcon * Modified command invocation:: chroot env nice nohup stdbuf timeout -* Process control:: kill * Delaying:: sleep * Numeric operations:: factor numfmt seq * File permissions:: Access modes @@ -241,45 +229,45 @@ Common Options Output of entire files -* cat invocation:: Concatenate and write files -* tac invocation:: Concatenate and write files in reverse -* nl invocation:: Number lines and write files -* od invocation:: Write files in octal or other formats -* base32 invocation:: Transform data into printable data -* base64 invocation:: Transform data into printable data -* basenc invocation:: Transform data into printable data +* cat:: Concatenate and write files +* tac:: Concatenate and write files in reverse +* nl:: Number lines and write files +* od:: Write files in octal or other formats +* base32:: Transform data into printable data +* base64:: Transform data into printable data +* basenc:: Transform data into printable data Formatting file contents -* fmt invocation:: Reformat paragraph text -* pr invocation:: Paginate or columnate files for printing -* fold invocation:: Wrap input lines to fit in specified width +* fmt:: Reformat paragraph text +* pr:: Paginate or columnate files for printing +* fold:: Wrap input lines to fit in specified width Output of parts of files -* head invocation:: Output the first part of files -* tail invocation:: Output the last part of files -* split invocation:: Split a file into fixed-size pieces -* csplit invocation:: Split a file into context-determined pieces +* head:: Output the first part of files +* tail:: Output the last part of files +* split:: Split a file into fixed-size pieces +* csplit:: Split a file into context-determined pieces Summarizing files -* wc invocation:: Print newline, word, and byte counts -* sum invocation:: Print checksum and block counts -* cksum invocation:: Print CRC checksum and byte counts -* md5sum invocation:: Print or check MD5 digests -* b2sum invocation:: Print or check BLAKE2 digests -* sha1sum invocation:: Print or check SHA-1 digests +* wc:: Print newline, word, and byte counts +* sum:: Print checksum and block counts +* cksum:: Print CRC checksum and byte counts +* b2sum:: Print or check BLAKE2 digests +* md5sum:: Print or check MD5 digests +* sha1sum:: Print or check SHA-1 digests * sha2 utilities:: Print or check SHA-2 digests Operating on sorted files -* sort invocation:: Sort text files -* shuf invocation:: Shuffle text files -* uniq invocation:: Uniquify files -* comm invocation:: Compare two sorted files line by line -* ptx invocation:: Produce a permuted index of file contents -* tsort invocation:: Topological sort +* sort:: Sort text files +* shuf:: Shuffle text files +* uniq:: Uniquify files +* comm:: Compare two sorted files line by line +* ptx:: Produce a permuted index of file contents +* tsort:: Topological sort @command{ptx}: Produce permuted indexes @@ -291,15 +279,15 @@ Operating on sorted files Operating on fields -* cut invocation:: Print selected parts of lines -* paste invocation:: Merge lines of files -* join invocation:: Join lines on a common field +* cut:: Print selected parts of lines +* paste:: Merge lines of files +* join:: Join lines on a common field Operating on characters -* tr invocation:: Translate, squeeze, and/or delete characters -* expand invocation:: Convert tabs to spaces -* unexpand invocation:: Convert spaces to tabs +* tr:: Translate, squeeze, and/or delete characters +* expand:: Convert tabs to spaces +* unexpand:: Convert spaces to tabs @command{tr}: Translate, squeeze, and/or delete characters @@ -309,10 +297,10 @@ Operating on characters Directory listing -* ls invocation:: List directory contents -* dir invocation:: Briefly list directory contents -* vdir invocation:: Verbosely list directory contents -* dircolors invocation:: Color setup for @command{ls} +* ls:: List directory contents +* dir:: Briefly list directory contents +* vdir:: Verbosely list directory contents +* dircolors:: Color setup for @command{ls} @command{ls}: List directory contents @@ -324,51 +312,51 @@ Directory listing Basic operations -* cp invocation:: Copy files and directories -* dd invocation:: Convert and copy a file -* install invocation:: Copy files and set attributes -* mv invocation:: Move (rename) files -* rm invocation:: Remove files or directories -* shred invocation:: Remove files more securely +* cp:: Copy files and directories +* dd:: Convert and copy a file +* install:: Copy files and set attributes +* mv:: Move (rename) files +* rm:: Remove files or directories +* shred:: Remove files more securely Special file types -* link invocation:: Make a hard link via the link syscall -* ln invocation:: Make links between files -* mkdir invocation:: Make directories -* mkfifo invocation:: Make FIFOs (named pipes) -* mknod invocation:: Make block or character special files -* readlink invocation:: Print value of a symlink or canonical file name -* rmdir invocation:: Remove empty directories -* unlink invocation:: Remove files via unlink syscall +* link:: Make a hard link via the link syscall +* ln:: Make links between files +* mkdir:: Make directories +* mkfifo:: Make FIFOs (named pipes) +* mknod:: Make block or character special files +* readlink:: Print value of a symlink or canonical file name +* rmdir:: Remove empty directories +* unlink:: Remove files via unlink syscall Changing file attributes -* chown invocation:: Change file owner and group -* chgrp invocation:: Change group ownership -* chmod invocation:: Change access permissions -* touch invocation:: Change file timestamps +* chown:: Change file owner and group +* chgrp:: Change group ownership +* chmod:: Change access permissions +* touch:: Change file timestamps File space usage -* df invocation:: Report file system space usage -* du invocation:: Estimate file space usage -* stat invocation:: Report file or file system status -* sync invocation:: Synchronize cached writes to persistent storage -* truncate invocation:: Shrink or extend the size of a file +* df:: Report file system space usage +* du:: Estimate file space usage +* stat:: Report file or file system status +* sync:: Synchronize cached writes to persistent storage +* truncate:: Shrink or extend the size of a file Printing text -* echo invocation:: Print a line of text -* printf invocation:: Format and print data -* yes invocation:: Print a string until interrupted +* echo:: Print a line of text +* printf:: Format and print data +* yes:: Print a string until interrupted Conditions -* false invocation:: Do nothing, unsuccessfully -* true invocation:: Do nothing, successfully -* test invocation:: Check file types and compare values -* expr invocation:: Evaluate expressions +* false:: Do nothing, unsuccessfully +* true:: Do nothing, successfully +* test:: Check file types and compare values +* expr:: Evaluate expressions @command{test}: Check file types and compare values @@ -387,22 +375,22 @@ Conditions Redirection -* tee invocation:: Redirect output to multiple files or processes +* tee:: Redirect output to multiple files or processes File name manipulation -* basename invocation:: Strip directory and suffix from a file name -* dirname invocation:: Strip last file name component -* pathchk invocation:: Check file name validity and portability -* mktemp invocation:: Create temporary file or directory -* realpath invocation:: Print resolved file names +* basename:: Strip directory and suffix from a file name +* dirname:: Strip last file name component +* pathchk:: Check file name validity and portability +* mktemp:: Create temporary file or directory +* realpath:: Print resolved file names Working context -* pwd invocation:: Print working directory -* stty invocation:: Print or change terminal characteristics -* printenv invocation:: Print all or some environment variables -* tty invocation:: Print file name of terminal on standard input +* pwd:: Print working directory +* stty:: Print or change terminal characteristics +* printenv:: Print all or some environment variables +* tty:: Print file name of terminal on standard input @command{stty}: Print or change terminal characteristics @@ -416,23 +404,21 @@ Working context User information -* id invocation:: Print user identity -* logname invocation:: Print current login name -* whoami invocation:: Print effective user ID -* groups invocation:: Print group names a user is in -* users invocation:: Print login names of users currently logged in -* who invocation:: Print who is currently logged in -* pinky invocation:: Print information about users +* id:: Print user identity +* logname:: Print current login name +* whoami:: Print effective user ID +* groups:: Print group names a user is in +* users:: Print login names of users currently logged in +* who:: Print who is currently logged in +* pinky:: Print information about users System context -* arch invocation:: Print machine hardware name -* date invocation:: Print or set system date and time -* nproc invocation:: Print the number of processors -* uname invocation:: Print system information -* hostname invocation:: Print or set system name -* hostid invocation:: Print numeric host identifier -* uptime invocation:: Print system uptime and load +* arch:: Print machine hardware name +* date:: Print or set system date and time +* nproc:: Print the number of processors +* uname:: Print system information +* hostid:: Print numeric host identifier @command{date}: Print or set system date and time @@ -447,31 +433,27 @@ System context SELinux context -* chcon invocation:: Change SELinux context of file -* runcon invocation:: Run a command in specified SELinux context +* chcon:: Change SELinux context of file +* runcon:: Run a command in specified SELinux context Modified command invocation -* chroot invocation:: Run a command with a different root directory -* env invocation:: Run a command in a modified environment -* nice invocation:: Run a command with modified niceness -* nohup invocation:: Run a command immune to hangups -* stdbuf invocation:: Run a command with modified I/O buffering -* timeout invocation:: Run a command with a time limit - -Process control - -* kill invocation:: Sending a signal to processes. +* chroot:: Run a command with a different root directory +* env:: Run a command in a modified environment +* nice:: Run a command with modified niceness +* nohup:: Run a command immune to hangups +* stdbuf:: Run a command with modified I/O buffering +* timeout:: Run a command with a time limit Delaying -* sleep invocation:: Delay for a specified time +* sleep:: Delay for a specified time Numeric operations -* factor invocation:: Print prime factors -* numfmt invocation:: Reformat numbers -* seq invocation:: Print numeric sequences +* factor:: Print prime factors +* numfmt:: Reformat numbers +* seq:: Print numeric sequences File timestamps @@ -1628,16 +1610,16 @@ These commands read and write entire fil in some way. @menu -* cat invocation:: Concatenate and write files. -* tac invocation:: Concatenate and write files in reverse. -* nl invocation:: Number lines and write files. -* od invocation:: Write files in octal or other formats. -* base32 invocation:: Transform data into printable data. -* base64 invocation:: Transform data into printable data. -* basenc invocation:: Transform data into printable data. +* cat:: Concatenate and write files. +* tac:: Concatenate and write files in reverse. +* nl:: Number lines and write files. +* od:: Write files in octal or other formats. +* base32:: Transform data into printable data. +* base64:: Transform data into printable data. +* basenc:: Transform data into printable data. @end menu -@node cat invocation +@node cat @section @command{cat}: Concatenate and write files @pindex cat @@ -1739,7 +1721,7 @@ cat @end example -@node tac invocation +@node tac @section @command{tac}: Concatenate and write files in reverse @pindex tac @@ -1797,7 +1779,7 @@ tac -r -s 'x\|[^x]' @end example -@node nl invocation +@node nl @section @command{nl}: Number lines and write files @pindex nl @@ -1965,7 +1947,7 @@ Use @var{number} characters for line num @exitstatus -@node od invocation +@node od @section @command{od}: Write files in octal or other formats @pindex od @@ -2237,7 +2219,7 @@ address. @exitstatus -@node base32 invocation +@node base32 @section @command{base32}: Transform data into printable data @pindex base32 @@ -2247,11 +2229,11 @@ address. into (or from) base32 encoded form. The base32 encoded form uses printable ASCII characters to represent binary data. The usage and options of this command are precisely the -same as for @command{base64}. @xref{base64 invocation}. -For more general encoding functionality see @ref{basenc invocation}. +same as for @command{base64}. @xref{base64}. +For more general encoding functionality see @ref{basenc}. -@node base64 invocation +@node base64 @section @command{base64}: Transform data into printable data @pindex base64 @@ -2272,7 +2254,7 @@ The base32 encoding expands data to roug The format conforms to @uref{https://datatracker.ietf.org/doc/rfc4648/, RFC 4648}. -For more general encoding functionality see @ref{basenc invocation}. +For more general encoding functionality see @ref{basenc}. The program accepts the following options. Also see @ref{Common options}. @@ -2313,7 +2295,7 @@ to permit distorted data to be decoded. @exitstatus -@node basenc invocation +@node basenc @section @command{basenc}: Transform data into printable data @pindex basenc @@ -2334,7 +2316,7 @@ The @var{encoding} argument is required. @command{basenc} reads from standard input. The @option{-w/--wrap},@option{-i/--ignore-garbage}, @option{-d/--decode} options of this command are precisely the same as -for @command{base64}. @xref{base64 invocation}. +for @command{base64}. @xref{base64}. Supported @var{encoding}s are: @@ -2449,13 +2431,13 @@ $ printf 01010100 | basenc --base2lsbf - These commands reformat the contents of files. @menu -* fmt invocation:: Reformat paragraph text. -* pr invocation:: Paginate or columnate files for printing. -* fold invocation:: Wrap input lines to fit in specified width. +* fmt:: Reformat paragraph text. +* pr:: Paginate or columnate files for printing. +* fold:: Wrap input lines to fit in specified width. @end menu -@node fmt invocation +@node fmt @section @command{fmt}: Reformat paragraph text @pindex fmt @@ -2559,7 +2541,7 @@ leaving the code unchanged. @exitstatus -@node pr invocation +@node pr @section @command{pr}: Paginate or columnate files for printing @pindex pr @@ -2671,7 +2653,7 @@ Double space the output. @cindex time formats @cindex formatting times Format header dates using @var{format}, using the same conventions as -for the command @samp{date +@var{format}}. @xref{date invocation}. +for the command @samp{date +@var{format}}. @xref{date}. Except for directives, which start with @samp{%}, characters in @var{format} are printed unchanged. You can use this option to specify an arbitrary string in place of the header date, @@ -2901,7 +2883,7 @@ line is never truncated. @exitstatus -@node fold invocation +@node fold @section @command{fold}: Wrap input lines to fit in specified width @pindex fold @@ -2968,13 +2950,13 @@ instead. These commands output pieces of the input. @menu -* head invocation:: Output the first part of files. -* tail invocation:: Output the last part of files. -* split invocation:: Split a file into pieces. -* csplit invocation:: Split a file into context-determined pieces. +* head:: Output the first part of files. +* tail:: Output the last part of files. +* split:: Split a file into pieces. +* csplit:: Split a file into context-determined pieces. @end menu -@node head invocation +@node head @section @command{head}: Output the first part of files @pindex head @@ -3053,7 +3035,7 @@ avoid @command{head}, e.g., by using @sa @exitstatus -@node tail invocation +@node tail @section @command{tail}: Output the last part of files @pindex tail @@ -3307,7 +3289,7 @@ mean either @samp{tail ./+4} or @samp{ta @exitstatus -@node split invocation +@node split @section @command{split}: Split a file into pieces. @pindex split @@ -3564,7 +3546,7 @@ $ seq 100 > k; split -nl/7/33 k @end example -@node csplit invocation +@node csplit @section @command{csplit}: Split a file into context-determined pieces @pindex csplit @@ -3784,17 +3766,17 @@ These commands generate just a few numbe contents of files. @menu -* wc invocation:: Print newline, word, and byte counts. -* sum invocation:: Print checksum and block counts. -* cksum invocation:: Print CRC checksum and byte counts. -* md5sum invocation:: Print or check MD5 digests. -* b2sum invocation:: Print or check BLAKE2 digests. -* sha1sum invocation:: Print or check SHA-1 digests. +* wc:: Print newline, word, and byte counts. +* sum:: Print checksum and block counts. +* cksum:: Print CRC checksum and byte counts. +* md5sum:: Print or check MD5 digests. +* b2sum:: Print or check BLAKE2 digests. +* sha1sum:: Print or check SHA-1 digests. * sha2 utilities:: Print or check SHA-2 digests. @end menu -@node wc invocation +@node wc @section @command{wc}: Print newline, word, and byte counts @pindex wc @@ -3955,7 +3937,7 @@ find . -name '*.[ch]' -print0 | @exitstatus -@node sum invocation +@node sum @section @command{sum}: Print checksum and block counts @pindex sum @@ -4004,7 +3986,7 @@ next section) is preferable in new appli @exitstatus -@node cksum invocation +@node cksum @section @command{cksum}: Print and verify file checksums @pindex cksum @@ -4052,7 +4034,7 @@ The 32-bit CRC used is based on the poly for CRC error checking in the ISO/IEC 8802-3:1996 standard (Ethernet). Similar output formats are used for the other legacy checksums selectable with @option{--algorithm=sysv} or @option{--algorithm=bsd}, -detailed at @ref{sum invocation}. +detailed at @ref{sum}. @item Tagged output format With the @option{--algorithm} option selecting non legacy checksums, @@ -4302,7 +4284,7 @@ exit nonzero after all warnings have bee Also file name escaping is not used. @end table -@node md5sum invocation +@node md5sum @section @command{md5sum}: Print or check MD5 digests @pindex md5sum @@ -4325,7 +4307,7 @@ fingerprint is considered infeasible at to modify certain files, including digital certificates, so that they appear valid when signed with an \hash\ digest. For more secure hashes, consider using SHA-2 or @command{b2sum}. -@xref{sha2 utilities}. @xref{b2sum invocation}. +@xref{sha2 utilities}. @xref{b2sum}. @end macro @weakHash{MD5} @@ -4349,7 +4331,7 @@ The program accepts @ref{cksum common op @exitstatus -@node b2sum invocation +@node b2sum @section @command{b2sum}: Print or check BLAKE2 digests @pindex b2sum @@ -4371,7 +4353,7 @@ In addition @command{b2sum} supports the @end table -@node sha1sum invocation +@node sha1sum @section @command{sha1sum}: Print or check SHA-1 digests @pindex sha1sum @@ -4429,16 +4411,16 @@ collectively known as the SHA-2 hashes. These commands work with (or produce) sorted files. @menu -* sort invocation:: Sort text files. -* shuf invocation:: Shuffle text files. -* uniq invocation:: Uniquify files. -* comm invocation:: Compare two sorted files line by line. -* ptx invocation:: Produce a permuted index of file contents. -* tsort invocation:: Topological sort. +* sort:: Sort text files. +* shuf:: Shuffle text files. +* uniq:: Uniquify files. +* comm:: Compare two sorted files line by line. +* ptx:: Produce a permuted index of file contents. +* tsort:: Topological sort. @end menu -@node sort invocation +@node sort @section @command{sort}: Sort text files @pindex sort @@ -4737,7 +4719,7 @@ appear earlier in the output instead of Sort by hashing the input keys and then sorting the hash values. Choose the hash function at random, ensuring that it is free of collisions so that differing keys have differing hash values. This is -like a random permutation of the inputs (@pxref{shuf invocation}), +like a random permutation of the inputs (@pxref{shuf}), except that keys with the same value sort together. If multiple random sort fields are specified, the same random hash @@ -4936,7 +4918,7 @@ Set the number of sorts run in parallel @var{n} is set to the number of available processors, but limited to 8, as performance gains diminish after that. Using @var{n} threads increases the memory usage by -a factor of log @var{n}. Also see @ref{nproc invocation}. +a factor of log @var{n}. Also see @ref{nproc}. @item -u @itemx --unique @@ -4954,7 +4936,7 @@ The commands @code{sort -u} and @code{so this equivalence does not extend to arbitrary @command{sort} options. For example, @code{sort -n -u} inspects only the value of the initial numeric string when checking for uniqueness, whereas @code{sort -n | -uniq} inspects the entire line. @xref{uniq invocation}. +uniq} inspects the entire line. @xref{uniq}. @optZeroTerminated @macro newlineFieldSeparator @@ -5170,7 +5152,7 @@ ls */* | sort -t / -k 1,1R -k 2,2 @end itemize -@node shuf invocation +@node shuf @section @command{shuf}: Shuffling text @pindex shuf @@ -5326,7 +5308,7 @@ shuf -r -n 100 -e Head Tail @exitstatus -@node uniq invocation +@node uniq @section @command{uniq}: Uniquify files @pindex uniq @@ -5348,7 +5330,7 @@ lines that are not repeated, or all repe The input need not be sorted, but repeated input lines are detected only if they are adjacent. If you want to discard non-adjacent duplicate lines, perhaps you want to use @code{sort -u}. -@xref{sort invocation}. +@xref{sort}. @vindex LC_COLLATE Comparisons honor the rules specified by the @env{LC_COLLATE} @@ -5514,7 +5496,7 @@ compared. @exitstatus -@node comm invocation +@node comm @section @command{comm}: Compare two sorted files line by line @pindex comm @@ -5630,7 +5612,7 @@ $ comm -12 file1 file2 | wc -l # numb @end table -@node ptx invocation +@node ptx @section @command{ptx}: Produce permuted indexes @pindex ptx @@ -6120,7 +6102,7 @@ allowed with System V @command{ptx}. @end itemize -@node tsort invocation +@node tsort @section @command{tsort}: Topological sort @pindex tsort @@ -6282,13 +6264,13 @@ in different ways. @chapter Operating on fields @menu -* cut invocation:: Print selected parts of lines. -* paste invocation:: Merge lines of files. -* join invocation:: Join lines on a common field. +* cut:: Print selected parts of lines. +* paste:: Merge lines of files. +* join:: Join lines on a common field. @end menu -@node cut invocation +@node cut @section @command{cut}: Print selected parts of lines @pindex cut @@ -6413,7 +6395,7 @@ many fields and want to print all but a @exitstatus -@node paste invocation +@node paste @section @command{paste}: Merge lines of files @pindex paste @@ -6511,7 +6493,7 @@ $ paste -d '%_' num2 let3 num2 @exitstatus -@node join invocation +@node join @section @command{join}: Join lines on a common field @pindex join @@ -7043,13 +7025,13 @@ entire lines as the key. These commands operate on individual characters. @menu -* tr invocation:: Translate, squeeze, and/or delete characters. -* expand invocation:: Convert tabs to spaces. -* unexpand invocation:: Convert spaces to tabs. +* tr:: Translate, squeeze, and/or delete characters. +* expand:: Convert tabs to spaces. +* unexpand:: Convert spaces to tabs. @end menu -@node tr invocation +@node tr @section @command{tr}: Translate, squeeze, and/or delete characters @pindex tr @@ -7472,7 +7454,7 @@ tr -d -- -axM @end itemize -@node expand invocation +@node expand @section @command{expand}: Convert tabs to spaces @pindex expand @@ -7541,7 +7523,7 @@ characters) on each line to spaces. @exitstatus -@node unexpand invocation +@node unexpand @section @command{unexpand}: Convert spaces to tabs @pindex unexpand @@ -7604,14 +7586,14 @@ This chapter describes the @command{ls} and @command{vdir}, which list information about files. @menu -* ls invocation:: List directory contents. -* dir invocation:: Briefly ls. -* vdir invocation:: Verbosely ls. -* dircolors invocation:: Color setup for ls, etc. +* ls:: List directory contents. +* dir:: Briefly ls. +* vdir:: Verbosely ls. +* dircolors:: Color setup for ls, etc. @end menu -@node ls invocation +@node ls @section @command{ls}: List directory contents @pindex ls @@ -8531,7 +8513,7 @@ be one of the following: @item +@var{format} @vindex LC_TIME List timestamps using @var{format}, where @var{format} is interpreted -like the format argument of @command{date} (@pxref{date invocation}). +like the format argument of @command{date} (@pxref{date}). For example, @option{--time-style="+%Y-%m-%d %H:%M:%S"} causes @command{ls} to list timestamps like @samp{2020-03-30 23:45:56}. As with @command{date}, @var{format}'s interpretation is affected by the @@ -8732,7 +8714,7 @@ This is the default unless the output is @end table -@node dir invocation +@node dir @section @command{dir}: Briefly list directory contents @pindex dir @@ -8742,10 +8724,10 @@ This is the default unless the output is -b}; that is, by default files are listed in columns, sorted vertically, and special characters are represented by backslash escape sequences. -@xref{ls invocation, @command{ls}}. +@xref{ls, @command{ls}}. -@node vdir invocation +@node vdir @section @command{vdir}: Verbosely list directory contents @pindex vdir @@ -8755,9 +8737,9 @@ and special characters are represented b -b}; that is, by default files are listed in long format and special characters are represented by backslash escape sequences. -@xref{ls invocation, @command{ls}}. +@xref{ls, @command{ls}}. -@node dircolors invocation +@node dircolors @section @command{dircolors}: Color setup for @command{ls} @pindex dircolors @@ -8850,16 +8832,16 @@ This chapter describes the commands for copying, moving (renaming), and deleting (removing). @menu -* cp invocation:: Copy files. -* dd invocation:: Convert and copy a file. -* install invocation:: Copy files and set attributes. -* mv invocation:: Move (rename) files. -* rm invocation:: Remove files or directories. -* shred invocation:: Remove files more securely. +* cp:: Copy files. +* dd:: Convert and copy a file. +* install:: Copy files and set attributes. +* mv:: Move (rename) files. +* rm:: Remove files or directories. +* shred:: Remove files more securely. @end menu -@node cp invocation +@node cp @section @command{cp}: Copy files and directories @pindex cp @@ -9399,7 +9381,7 @@ option, and overrides the @option{--pres @exitstatus -@node dd invocation +@node dd @section @command{dd}: Convert and copy a file @pindex dd @@ -9709,7 +9691,7 @@ If neither this nor @samp{fsync} are spe usual with file systems, i.e., output data and metadata may be cached in primary memory for some time before the operating system physically writes it, and thus output data and metadata may be lost if power is lost. -@xref{sync invocation}. +@xref{sync}. This conversion is a GNU extension to POSIX. @item fsync @@ -9987,7 +9969,7 @@ environment variable is set. @exitstatus -@node install invocation +@node install @section @command{install}: Copy files and set attributes @pindex install @@ -10171,7 +10153,7 @@ This option is mutually exclusive with t @exitstatus -@node mv invocation +@node mv @section @command{mv}: Move (rename) files @pindex mv @@ -10354,7 +10336,7 @@ to the system default type for destinati @exitstatus -@node rm invocation +@node rm @section @command{rm}: Remove files or directories @pindex rm @@ -10520,7 +10502,7 @@ predates the development of the @code{ge @exitstatus -@node shred invocation +@node shred @section @command{shred}: Remove files more securely @pindex shred @@ -10530,7 +10512,7 @@ predates the development of the @code{ge @command{shred} overwrites devices or files, to help prevent even extensive forensics from recovering the data. -Ordinarily when you remove a file (@pxref{rm invocation}), its data +Ordinarily when you remove a file (@pxref{rm}), its data and metadata are not actually destroyed. Only the file's directory entry is removed, and the file's storage is reclaimed only when no process has the file open and no other directory entry links to the @@ -10817,18 +10799,18 @@ Besides directories, other special file (FIFOs), symbolic links, sockets, and so-called @dfn{special files}. @menu -* link invocation:: Make a hard link via the link syscall -* ln invocation:: Make links between files. -* mkdir invocation:: Make directories. -* mkfifo invocation:: Make FIFOs (named pipes). -* mknod invocation:: Make block or character special files. -* readlink invocation:: Print value of a symlink or canonical file name. -* rmdir invocation:: Remove empty directories. -* unlink invocation:: Remove files via the unlink syscall +* link:: Make a hard link via the link syscall +* ln:: Make links between files. +* mkdir:: Make directories. +* mkfifo:: Make FIFOs (named pipes). +* mknod:: Make block or character special files. +* readlink:: Print value of a symlink or canonical file name. +* rmdir:: Remove empty directories. +* unlink:: Remove files via the unlink syscall @end menu -@node link invocation +@node link @section @command{link}: Make a hard link via the link syscall @pindex link @@ -10841,7 +10823,7 @@ It is a minimalist interface to the syst @code{link} function. @xref{Hard Links, , , libc, The GNU C Library Reference Manual}. It avoids the bells and whistles of the more commonly-used -@command{ln} command (@pxref{ln invocation}). +@command{ln} command (@pxref{ln}). Synopsis: @example @@ -10867,7 +10849,7 @@ to specify which behavior is desired. @exitstatus -@node ln invocation +@node ln @section @command{ln}: Make links between files @pindex ln @@ -11055,7 +11037,7 @@ ln -srv /a/file /tmp Relative symbolic links are generated based on their canonicalized containing directory, and canonicalized targets. I.e., all symbolic links in these file names will be resolved. -@xref{realpath invocation}, which gives greater control +@xref{realpath}, which gives greater control over relative file name generation, as demonstrated in the following example: @example @@ -11132,7 +11114,7 @@ ln -s ../adir/afile yetanotherfile @end example -@node mkdir invocation +@node mkdir @section @command{mkdir}: Make directories @pindex mkdir @@ -11210,7 +11192,7 @@ Print a message for each created directo @exitstatus -@node mkfifo invocation +@node mkfifo @section @command{mkfifo}: Make FIFOs (named pipes) @pindex mkfifo @@ -11251,7 +11233,7 @@ permission bits. @xref{File permissions @exitstatus -@node mknod invocation +@node mknod @section @command{mknod}: Make block or character special files @pindex mknod @@ -11328,7 +11310,7 @@ Set the mode of created files to @var{mo @exitstatus -@node readlink invocation +@node readlink @section @command{readlink}: Print value of a symlink or canonical file name @pindex readlink @@ -11352,7 +11334,7 @@ of a symbolic link, it produces no outpu @command{readlink} outputs the absolute name of the given files which contain no @file{.}, @file{..} components nor any repeated separators (@file{/}) or symbolic links. The @command{realpath} command is the -preferred command to use for canonicalization. @xref{realpath invocation}. +preferred command to use for canonicalization. @xref{realpath}. @end table @@ -11427,7 +11409,7 @@ The @command{realpath} command without o @exitstatus -@node rmdir invocation +@node rmdir @section @command{rmdir}: Remove empty directories @pindex rmdir @@ -11474,7 +11456,7 @@ Give a diagnostic for each successful re @end table -@xref{rm invocation}, for how to remove non-empty directories recursively. +@xref{rm}, for how to remove non-empty directories recursively. To remove all empty directories under @var{dirname}, including directories that become empty because other directories are removed, @@ -11491,7 +11473,7 @@ find @var{dirname} -depth -type d -exec @exitstatus -@node unlink invocation +@node unlink @section @command{unlink}: Remove files via the unlink syscall @pindex unlink @@ -11502,7 +11484,7 @@ It is a minimalist interface to the syst @code{unlink} function. @xref{Deleting Files, , , libc, The GNU C Library Reference Manual}. Synopsis: It avoids the bells and whistles of the more commonly-used -@command{rm} command (@pxref{rm invocation}). +@command{rm} command (@pxref{rm}). @example unlink @var{filename} @@ -11536,14 +11518,14 @@ timestamps, and other information. Coll These commands change file attributes. @menu -* chown invocation:: Change file owners and groups. -* chgrp invocation:: Change file groups. -* chmod invocation:: Change access permissions. -* touch invocation:: Change file timestamps. +* chown:: Change file owners and groups. +* chgrp:: Change file groups. +* chmod:: Change access permissions. +* touch:: Change file timestamps. @end menu -@node chown invocation +@node chown @section @command{chown}: Change file owner and group @pindex chown @@ -11775,7 +11757,7 @@ chown -hR root /u @end example -@node chgrp invocation +@node chgrp @section @command{chgrp}: Change group ownership @pindex chgrp @@ -11784,7 +11766,7 @@ chown -hR root /u @command{chgrp} changes the group ownership of each given @var{file} to @var{group} (which can be either a group name or a numeric group ID) -or to the group of an existing reference file. @xref{chown invocation}. +or to the group of an existing reference file. @xref{chown}. Synopsis: @example @@ -11886,7 +11868,7 @@ chgrp -hR staff /u @end example -@node chmod invocation +@node chmod @section @command{chmod}: Change access permissions @pindex chmod @@ -12037,7 +12019,7 @@ chmod -R a=,+rwX dir @end smallexample -@node touch invocation +@node touch @section @command{touch}: Change file timestamps @pindex touch @@ -12212,15 +12194,15 @@ how much storage is in use or available, file status information, and write buffers to file systems. @menu -* df invocation:: Report file system space usage. -* du invocation:: Estimate file space usage. -* stat invocation:: Report file or file system status. -* sync invocation:: Synchronize cached writes to persistent storage. -* truncate invocation:: Shrink or extend the size of a file. +* df:: Report file system space usage. +* du:: Estimate file space usage. +* stat:: Report file or file system status. +* sync:: Synchronize cached writes to persistent storage. +* truncate:: Shrink or extend the size of a file. @end menu -@node df invocation +@node df @section @command{df}: Report file system space usage @pindex df @@ -12528,7 +12510,7 @@ be read and one or more of the options @ or @option{-x} is used together with a file name argument. -@node du invocation +@node du @section @command{du}: Estimate file space usage @pindex du @@ -12787,7 +12769,7 @@ be one of the following: @item +@var{format} @vindex LC_TIME List timestamps using @var{format}, where @var{format} is interpreted -like the format argument of @command{date} (@pxref{date invocation}). +like the format argument of @command{date} (@pxref{date}). For example, @option{--time-style="+%Y-%m-%d %H:%M:%S"} causes @command{du} to list timestamps like @samp{2020-07-21 23:45:56}. As with @command{date}, @var{format}'s interpretation is affected by the @@ -12883,7 +12865,7 @@ underlying devices. @exitstatus -@node stat invocation +@node stat @section @command{stat}: Report file or file system status @pindex stat @@ -13125,7 +13107,7 @@ with @env{TZ}, libc, The GNU C Library R @exitstatus -@node sync invocation +@node sync @section @command{sync}: Synchronize cached writes to persistent storage @pindex sync @@ -13185,7 +13167,7 @@ write barriers, than a global sync(2) us @exitstatus -@node truncate invocation +@node truncate @section @command{truncate}: Shrink or extend the size of a file @pindex truncate @@ -13262,13 +13244,13 @@ the size of each @var{file} based on its This section describes commands that display text strings. @menu -* echo invocation:: Print a line of text. -* printf invocation:: Format and print data. -* yes invocation:: Print a string until interrupted. +* echo:: Print a line of text. +* printf:: Format and print data. +* yes:: Print a string until interrupted. @end menu -@node echo invocation +@node echo @section @command{echo}: Print a line of text @pindex echo @@ -13291,7 +13273,7 @@ strings cannot be passed to @command{ech It is therefore not advisable to use @command{echo} for printing unknown or variable arguments. The @command{printf} command is recommended as a more portable and flexible replacement for tasks historically performed by -@command{echo}. @xref{printf invocation}. +@command{echo}. @xref{printf}. The program accepts the following options. Also see @ref{Common options}. Options must precede operands, and the normally-special argument @@ -13366,12 +13348,12 @@ POSIX does not require support for any o that the behavior of @command{echo} is implementation-defined if any @var{string} contains a backslash or if the first argument is @option{-n}. Portable programs should use the @command{printf} command instead. -@xref{printf invocation}. +@xref{printf}. @exitstatus -@node printf invocation +@node printf @section @command{printf}: Format and print data @pindex printf @@ -13533,7 +13515,7 @@ Options must precede operands. @exitstatus -@node yes invocation +@node yes @section @command{yes}: Print a string until interrupted @pindex yes @@ -13564,14 +13546,14 @@ condition of shell @code{if} statements, pipeline. @menu -* false invocation:: Do nothing, unsuccessfully. -* true invocation:: Do nothing, successfully. -* test invocation:: Check file types and compare values. -* expr invocation:: Evaluate expressions. +* false:: Do nothing, unsuccessfully. +* true:: Do nothing, successfully. +* test:: Check file types and compare values. +* expr:: Evaluate expressions. @end menu -@node false invocation +@node false @section @command{false}: Do nothing, unsuccessfully @pindex false @@ -13601,7 +13583,7 @@ Portable programs should not assume that non-GNU hosts. -@node true invocation +@node true @section @command{true}: Do nothing, successfully @pindex true @@ -13637,7 +13619,7 @@ This version of @command{true} is implem more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts. -@node test invocation +@node test @section @command{test}: Check file types and compare values @pindex test @@ -14006,7 +13988,7 @@ True if either @var{expr1} or @var{expr2 @end table -@node expr invocation +@node expr @section @command{expr}: Evaluate expressions @pindex expr @@ -14283,11 +14265,11 @@ useful redirection is performed by a sep it's described here. @menu -* tee invocation:: Redirect output to multiple files or processes. +* tee:: Redirect output to multiple files or processes. @end menu -@node tee invocation +@node tee @section @command{tee}: Redirect output to multiple files or processes @pindex tee @@ -14503,15 +14485,15 @@ tar chof - "$tardir" \ This section describes commands that manipulate file names. @menu -* basename invocation:: Strip directory and suffix from a file name. -* dirname invocation:: Strip last file name component. -* pathchk invocation:: Check file name validity and portability. -* mktemp invocation:: Create temporary file or directory. -* realpath invocation:: Print resolved file names. +* basename:: Strip directory and suffix from a file name. +* dirname:: Strip last file name component. +* pathchk:: Check file name validity and portability. +* mktemp:: Create temporary file or directory. +* realpath:: Print resolved file names. @end menu -@node basename invocation +@node basename @section @command{basename}: Strip directory and suffix from a file name @pindex basename @@ -14593,7 +14575,7 @@ basename -a -s .h include/stdio.h includ @end example -@node dirname invocation +@node dirname @section @command{dirname}: Strip last file name component @pindex dirname @@ -14646,7 +14628,7 @@ dirname stdio.h @end example -@node pathchk invocation +@node pathchk @section @command{pathchk}: Check file name validity and portability @pindex pathchk @@ -14722,7 +14704,7 @@ Exit status: 1 otherwise. @end display -@node mktemp invocation +@node mktemp @section @command{mktemp}: Create temporary file or directory @pindex mktemp @@ -14897,7 +14879,7 @@ Exit status: @end display -@node realpath invocation +@node realpath @section @command{realpath}: Print the resolved file name. @pindex realpath @@ -15089,14 +15071,14 @@ which you are working: the current direc so forth. See also the user-related commands in the next section. @menu -* pwd invocation:: Print working directory. -* stty invocation:: Print or change terminal characteristics. -* printenv invocation:: Print environment variables. -* tty invocation:: Print file name of terminal on standard input. +* pwd:: Print working directory. +* stty:: Print or change terminal characteristics. +* printenv:: Print environment variables. +* tty:: Print file name of terminal on standard input. @end menu -@node pwd invocation +@node pwd @section @command{pwd}: Print working directory @pindex pwd @@ -15143,7 +15125,7 @@ environment variable is set. @exitstatus -@node stty invocation +@node stty @section @command{stty}: Print or change terminal characteristics @pindex stty @@ -15887,7 +15869,7 @@ or @end table -@node printenv invocation +@node printenv @section @command{printenv}: Print all or some environment variables @pindex printenv @@ -15922,7 +15904,7 @@ Exit status: @end display -@node tty invocation +@node tty @section @command{tty}: Print file name of terminal on standard input @pindex tty @@ -15972,17 +15954,17 @@ This section describes commands that pri logins, groups, and so forth. @menu -* id invocation:: Print user identity. -* logname invocation:: Print current login name. -* whoami invocation:: Print effective user ID. -* groups invocation:: Print group names a user is in. -* users invocation:: Print login names of users currently logged in. -* who invocation:: Print who is currently logged in. -* pinky invocation:: Print information about users. +* id:: Print user identity. +* logname:: Print current login name. +* whoami:: Print effective user ID. +* groups:: Print group names a user is in. +* users:: Print login names of users currently logged in. +* who:: Print who is currently logged in. +* pinky:: Print information about users. @end menu -@node id invocation +@node id @section @command{id}: Print user identity @pindex id @@ -16089,7 +16071,7 @@ database to be consulted afresh, and so @exitstatus -@node logname invocation +@node logname @section @command{logname}: Print current login name @pindex logname @@ -16110,7 +16092,7 @@ options}. @exitstatus -@node whoami invocation +@node whoami @section @command{whoami}: Print effective user name @pindex whoami @@ -16126,7 +16108,7 @@ options}. @exitstatus -@node groups invocation +@node groups @section @command{groups}: Print group names a user is in @pindex groups @@ -16153,7 +16135,7 @@ options}. @exitstatus -@node users invocation +@node users @section @command{users}: Print login names of users currently logged in @pindex users @@ -16188,7 +16170,7 @@ should not rely on its existence on non- @exitstatus -@node who invocation +@node who @section @command{who}: Print who is currently logged in @pindex who @@ -16342,7 +16324,7 @@ should not rely on its existence on non- @exitstatus -@node pinky invocation +@node pinky @section @command{pinky}: Print information about users @command{pinky} is a lightweight implementation of the @command{finger} command. @@ -16417,16 +16399,14 @@ This section describes commands that pri information. @menu -* date invocation:: Print or set system date and time. -* arch invocation:: Print machine hardware name. -* nproc invocation:: Print the number of processors. -* uname invocation:: Print system information. -* hostname invocation:: Print or set system name. -* hostid invocation:: Print numeric host identifier. -* uptime invocation:: Print system uptime and load. +* date:: Print or set system date and time. +* arch:: Print machine hardware name. +* nproc:: Print the number of processors. +* uname:: Print system information. +* hostid:: Print numeric host identifier. @end menu -@node date invocation +@node date @section @command{date}: Print or set system date and time @pindex date @@ -17200,7 +17180,7 @@ date --date='2017-01-01 00:00:00 +0000' @end itemize -@node arch invocation +@node arch @section @command{arch}: Print machine hardware name @pindex arch @@ -17223,7 +17203,7 @@ not rely on its existence. @exitstatus -@node nproc invocation +@node nproc @section @command{nproc}: Print the number of available processors @pindex nproc @@ -17262,7 +17242,7 @@ If possible, exclude this @var{number} o @exitstatus -@node uname invocation +@node uname @section @command{uname}: Print system information @pindex uname @@ -17392,35 +17372,7 @@ Print the kernel version. @exitstatus -@node hostname invocation -@section @command{hostname}: Print or set system name - -@pindex hostname -@cindex setting the hostname -@cindex printing the hostname -@cindex system name, printing -@cindex appropriate privileges - -With no arguments, @command{hostname} prints the name of the current host -system. With one argument, it sets the current host name to the -specified string. You must have appropriate privileges to set the host -name. Synopsis: - -@example -hostname [@var{name}] -@end example - -The only options are @option{--help} and @option{--version}. @xref{Common -options}. - -@command{hostname} is not installed by default, and other packages -also supply a @command{hostname} command, so portable scripts should -not rely on its existence or on the exact behavior documented above. - -@exitstatus - - -@node hostid invocation +@node hostid @section @command{hostid}: Print numeric host identifier @pindex hostid @@ -17448,44 +17400,6 @@ existence. @exitstatus -@node uptime invocation -@section @command{uptime}: Print system uptime and load - -@pindex uptime -@cindex printing the system uptime and load - -@command{uptime} prints the current time, the system's uptime, the -number of logged-in users and the current load average. - -If an argument is specified, it is used as the file to be read -to discover how many users are logged in. If no argument is -specified, a system default is used (@command{uptime --help} indicates -the default setting). - -The only options are @option{--help} and @option{--version}. -@xref{Common options}. - -For example, here's what it prints right now on one system I use: - -@example -$ uptime - 14:07 up 3:35, 3 users, load average: 1.39, 1.15, 1.04 -@end example - -The precise method of calculation of load average varies somewhat -between systems. Some systems calculate it as the average number of -runnable processes over the last 1, 5 and 15 minutes, but some systems -also include processes in the uninterruptible sleep state (that is, -those processes which are waiting for device I/O). The Linux kernel -includes uninterruptible processes. - -@command{uptime} is installed only on platforms with infrastructure -for obtaining the boot time, and other packages also supply an -@command{uptime} command, so portable scripts should not rely on its -existence or on the exact behavior documented above. - -@exitstatus - @node SELinux context @chapter SELinux context @@ -17497,11 +17411,11 @@ This section describes commands for oper contexts. @menu -* chcon invocation:: Change SELinux context of file -* runcon invocation:: Run a command in specified SELinux context +* chcon:: Change SELinux context of file +* runcon:: Run a command in specified SELinux context @end menu -@node chcon invocation +@node chcon @section @command{chcon}: Change SELinux context of file @pindex chcon @@ -17604,7 +17518,7 @@ Set range @var{range} in the target secu @exitstatus -@node runcon invocation +@node runcon @section @command{runcon}: Run a command in specified SELinux context @pindex runcon @@ -17697,16 +17611,16 @@ different than the current one: a modifi user, etc. @menu -* chroot invocation:: Modify the root directory. -* env invocation:: Modify environment variables. -* nice invocation:: Modify niceness. -* nohup invocation:: Immunize to hangups. -* stdbuf invocation:: Modify buffering of standard streams. -* timeout invocation:: Run with time limit. +* chroot:: Modify the root directory. +* env:: Modify environment variables. +* nice:: Modify niceness. +* nohup:: Immunize to hangups. +* stdbuf:: Modify buffering of standard streams. +* timeout:: Run with time limit. @end menu -@node chroot invocation +@node chroot @section @command{chroot}: Run a command with a different root directory @pindex chroot @@ -17822,7 +17736,7 @@ the exit status of @var{command} otherwi @end display -@node env invocation +@node env @section @command{env}: Run a command in a modified environment @pindex env @@ -18451,7 +18365,7 @@ OLDUSER=gordon -@node nice invocation +@node nice @section @command{nice}: Run a command with modified niceness @pindex nice @@ -18582,7 +18496,7 @@ $ sudo nice -n -1 nice @end example -@node nohup invocation +@node nohup @section @command{nohup}: Run a command immune to hangups @pindex nohup @@ -18656,7 +18570,7 @@ If @env{POSIXLY_CORRECT} is set, interna instead of 125. -@node stdbuf invocation +@node stdbuf @section @command{stdbuf}: Run a command with modified I/O stream buffering @pindex stdbuf @@ -18752,7 +18666,7 @@ the exit status of @var{command} otherwi @end display -@node timeout invocation +@node timeout @section @command{timeout}: Run a command with a time limit @pindex timeout @@ -18888,90 +18802,6 @@ timeout -s INT 5s env --ignore-signal=IN timeout -s INT -k 3s 5s env --ignore-signal=INT sleep 20 @end example -@node Process control -@chapter Process control - -@cindex processes, commands for controlling -@cindex commands for controlling processes - -@menu -* kill invocation:: Sending a signal to processes. -@end menu - - -@node kill invocation -@section @command{kill}: Send a signal to processes - -@pindex kill -@cindex send a signal to processes - -The @command{kill} command sends a signal to processes, causing them -to terminate or otherwise act upon receiving the signal in some way. -Alternatively, it lists information about signals. Synopses: - -@example -kill [-s @var{signal} | --signal @var{signal} | -@var{signal}] @var{pid}@dots{} -kill [-l | --list | -t | --table] [@var{signal}]@dots{} -@end example - -@mayConflictWithShellBuiltIn{kill} - -The first form of the @command{kill} command sends a signal to all -@var{pid} arguments. The default signal to send if none is specified -is @samp{TERM}@. The special signal number @samp{0} does not denote a -valid signal, but can be used to test whether the @var{pid} arguments -specify processes to which a signal could be sent. - -If @var{pid} is positive, the signal is sent to the process with the -process ID @var{pid}. If @var{pid} is zero, the signal is sent to all -processes in the process group of the current process. If @var{pid} -is @minus{}1, the signal is sent to all processes for which the user has -permission to send a signal. If @var{pid} is less than @minus{}1, the signal -is sent to all processes in the process group that equals the absolute -value of @var{pid}. - -If @var{pid} is not positive, a system-dependent set of system -processes is excluded from the list of processes to which the signal -is sent. - -If a negative @var{pid} argument is desired as the first one, it -should be preceded by @option{--}. However, as a common extension to -POSIX, @option{--} is not required with @samp{kill --@var{signal} -@var{pid}}. The following commands are equivalent: - -@example -kill -15 -1 -kill -TERM -1 -kill -s TERM -- -1 -kill -- -1 -@end example - -The first form of the @command{kill} command succeeds if every @var{pid} -argument specifies at least one process that the signal was sent to. - -The second form of the @command{kill} command lists signal information. -Either the @option{-l} or @option{--list} option, or the @option{-t} -or @option{--table} option must be specified. Without any -@var{signal} argument, all supported signals are listed. The output -of @option{-l} or @option{--list} is a list of the signal names, one -per line; if @var{signal} is already a name, the signal number is -printed instead. The output of @option{-t} or @option{--table} is a -table of signal numbers, names, and descriptions. This form of the -@command{kill} command succeeds if all @var{signal} arguments are valid -and if there is no output error. - -The @command{kill} command also supports the @option{--help} and -@option{--version} options. @xref{Common options}. - -A @var{signal} may be a signal name like @samp{HUP}, or a signal -number like @samp{1}, or an exit status of a process terminated by the -signal. A signal name can be given in canonical form or prefixed by -@samp{SIG}@. The case of the letters is ignored, except for the -@option{-@var{signal}} option which must use upper case to avoid -ambiguity with lower case option letters. -@xref{Signal specifications}, for a list of supported -signal names and numbers. - @node Delaying @chapter Delaying @@ -18981,11 +18811,11 @@ signal names and numbers. @c Perhaps @command{wait} or other commands should be described here also? @menu -* sleep invocation:: Delay for a specified time. +* sleep:: Delay for a specified time. @end menu -@node sleep invocation +@node sleep @section @command{sleep}: Delay for a specified time @pindex sleep @@ -19048,13 +18878,13 @@ options}. These programs do numerically-related operations. @menu -* factor invocation:: Show factors of numbers. -* numfmt invocation:: Reformat numbers. -* seq invocation:: Print sequences of numbers. +* factor:: Show factors of numbers. +* numfmt:: Reformat numbers. +* seq:: Print sequences of numbers. @end menu -@node factor invocation +@node factor @section @command{factor}: Print prime factors @pindex factor @@ -19119,7 +18949,7 @@ are the product of two large primes), ot @exitstatus -@node numfmt invocation +@node numfmt @section @command{numfmt}: Reformat numbers @pindex numfmt @@ -19475,7 +19305,7 @@ $ LC_ALL=ta_IN numfmt --from=iec --forma @end example -@node seq invocation +@node seq @section @command{seq}: Print numeric sequences @pindex seq @@ -19650,7 +19480,7 @@ Naively, a file's atime, mtime, and ctim whenever you read, write, or change the attributes of the file respectively, and searching a directory counts as reading it. A file's atime and mtime can also be set directly, via the -@command{touch} command (@pxref{touch invocation}). In practice, +@command{touch} command (@pxref{touch}). In practice, though, timestamps are not updated quite that way. For efficiency reasons, many systems are lazy about updating atimes: