Fix failures in texinfo regression tests.
[linux_from_scratch.git] / chapter06 / coreutils.xml
bloba228fdfc8d55d35edadc3aed65374122e4af6dff
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-coreutils" role="wrap">
9   <?dbhtml filename="coreutils.html"?>
11   <sect1info condition="script">
12     <productname>coreutils</productname>
13     <productnumber>&coreutils-version;</productnumber>
14     <address>&coreutils-url;</address>
15   </sect1info>
17   <title>Coreutils-&coreutils-version;</title>
19   <indexterm zone="ch-system-coreutils">
20     <primary sortas="a-Coreutils">Coreutils</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The Coreutils package contains utilities for showing and setting the
27     basic system characteristics.</para>
29     <segmentedlist>
30       <segtitle>&buildtime;</segtitle>
31       <segtitle>&diskspace;</segtitle>
33       <seglistitem>
34         <seg>&coreutils-ch6-sbu;</seg>
35         <seg>&coreutils-ch6-du;</seg>
36       </seglistitem>
37     </segmentedlist>
39   </sect2>
41   <sect2 role="installation">
42     <title>Installation of Coreutils</title>
44     <para>POSIX requires that programs from Coreutils recognize character
45     boundaries correctly even in multibyte locales. The following patch fixes
46     this non-compliance and other internationalization-related bugs.</para>
48 <screen><userinput remap="pre">patch -Np1 -i ../&coreutils-i18n-patch;</userinput></screen>
50     <note>
51       <para>In the past, many bugs were found in this patch. When reporting new
52       bugs to Coreutils maintainers, please check first if they are reproducible
53       without this patch.</para>
54     </note>
56    <!-- this has been fixed in upstream gnulib, when a new version of
57    coreutils is released, please check #4055 to see if the change has been
58    picked up in this package -->
59    <para>Suppress a test which on some machines can loop forever:</para>
61 <screen><userinput remap="pre">sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk</userinput></screen>
63     <para>Now prepare Coreutils for compilation:</para>
65 <screen><userinput remap="configure">autoreconf -fiv
66 FORCE_UNSAFE_CONFIGURE=1 ./configure \
67             --prefix=/usr            \
68             --enable-no-install-program=kill,uptime</userinput></screen>
70     <variablelist>
71       <title>The meaning of the configure options:</title>
73       <varlistentry>
74         <term><command>autoreconf</command></term>
75         <listitem>
76           <para>This command updates generated configuration files 
77           consistent with the latest version of automake.
78           </para>
79         </listitem>
80       </varlistentry>
82       <varlistentry>
83         <term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>
84         <listitem>
85           <para>This environment variable allows the package to be 
86           built as the root user.
87           </para>
88         </listitem>
89       </varlistentry>
91       <varlistentry>
92         <term><parameter>--enable-no-install-program=kill,uptime</parameter></term>
93         <listitem>
94           <para>The purpose of this switch is to prevent Coreutils from
95           installing binaries that will be installed by other packages later.
96           </para>
97         </listitem>
98       </varlistentry>
99     </variablelist>
101     <para>Compile the package:</para>
103 <screen><userinput remap="make">FORCE_UNSAFE_CONFIGURE=1 make</userinput></screen>
105     <para>Skip down to <quote>Install the
106     package</quote> if not running the test suite.</para>
108     <para>Now the test suite is ready to be run. First, run the tests that are
109     meant to be run as user <systemitem class="username">root</systemitem>:</para>
111 <screen><userinput remap="test">make NON_ROOT_USERNAME=nobody check-root</userinput></screen>
113     <para>We're going to run the remainder of the tests as the
114     <systemitem class="username">nobody</systemitem> user. Certain tests,
115     however, require that the user be a member of more than one group. So that
116     these tests are not skipped we'll add a temporary group and make the
117     user <systemitem class="username">nobody</systemitem> a part of it:</para>
119 <screen><userinput remap="test">echo "dummy:x:1000:nobody" &gt;&gt; /etc/group</userinput></screen>
121     <para>Fix some of the permissions so that the non-root user can compile and
122     run the tests:</para>
124 <screen><userinput remap="test">chown -Rv nobody . </userinput></screen>
126     <para>Now run the tests. Make sure the PATH in the <userinput>su</userinput>
127     environment includes /tools/bin.</para>
129 <screen><userinput remap="test">su nobody -s /bin/bash \
130           -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
132     <para>The test program test-getlogin is known to fail in a
133     partially built system environment like the chroot environment here, but
134     passes if run at the end of this chapter.  The test program tty.sh is
135     also known to fail.</para>
137     <para>Remove the temporary group:</para>
139 <screen><userinput remap="test">sed -i '/dummy/d' /etc/group</userinput></screen>
141     <para>Install the package:</para>
143 <screen><userinput remap="install">make install</userinput></screen>
145     <para>Move programs to the locations specified by the FHS:</para>
147 <screen><userinput remap="install">mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
148 mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
149 mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
150 mv -v /usr/bin/chroot /usr/sbin
151 mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
152 sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
154     <para revision="sysv">Some of the scripts in the LFS-Bootscripts package
155     depend on <command>head</command>, <command>sleep</command>, and
156     <command>nice</command>.  As <filename class="directory">/usr</filename>
157     may not be available during the early stages of booting, those binaries
158     need to be on the root partition:</para>
160     <para revision="systemd">Some packages in BLFS and beyond expect the
161     following programs in <filename class="directory">/bin</filename>, so make
162     sure they are placed there:</para>
164 <screen><userinput remap="install">mv -v /usr/bin/{head,sleep,nice} /bin</userinput></screen>
166   </sect2>
168   <sect2 id="contents-coreutils" role="content">
169     <title>Contents of Coreutils</title>
171     <segmentedlist>
172       <segtitle>Installed programs</segtitle>
173       <segtitle>Installed library</segtitle>
174       <segtitle>Installed directory</segtitle>
176       <seglistitem>
177         <seg>[, base32, base64, basename, cat, chcon, chgrp, chmod, chown,
178         chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors,
179         dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups,
180         head, hostid, id, install, join, link, ln, logname, ls, md5sum, mkdir,
181         mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste,
182         pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm,
183         rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha384sum,
184         sha512sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum,
185         sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort,
186         tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, and
187         yes</seg>
188         <seg>libstdbuf.so</seg>
189         <seg>/usr/libexec/coreutils</seg>
190       </seglistitem>
191     </segmentedlist>
193     <variablelist>
194       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
195       <?dbfo list-presentation="list"?>
196       <?dbhtml list-presentation="table"?>
198       <varlistentry id="base32">
199         <term><command>base32</command></term>
200         <listitem>
201           <para>Encodes and decodes data according to the base32 specification
202           (RFC 4648)</para>
203           <indexterm zone="ch-system-coreutils base64">
204             <primary sortas="b-base64">base64</primary>
205           </indexterm>
206         </listitem>
207       </varlistentry>
209       <varlistentry id="base64">
210         <term><command>base64</command></term>
211         <listitem>
212           <para>Encodes and decodes data according to the base64 specification
213           (RFC 4648)</para>
214           <indexterm zone="ch-system-coreutils base64">
215             <primary sortas="b-base64">base64</primary>
216           </indexterm>
217         </listitem>
218       </varlistentry>
220       <varlistentry id="basename">
221         <term><command>basename</command></term>
222         <listitem>
223           <para>Strips any path and a given suffix from a file name</para>
224           <indexterm zone="ch-system-coreutils basename">
225             <primary sortas="b-basename">basename</primary>
226           </indexterm>
227         </listitem>
228       </varlistentry>
230       <varlistentry id="cat">
231         <term><command>cat</command></term>
232         <listitem>
233           <para>Concatenates files to standard output</para>
234           <indexterm zone="ch-system-coreutils cat">
235             <primary sortas="b-cat">cat</primary>
236           </indexterm>
237         </listitem>
238       </varlistentry>
240       <varlistentry id="chcon">
241         <term><command>chcon</command></term>
242         <listitem>
243           <para>Changes security context for files and directories</para>
244           <indexterm zone="ch-system-coreutils chcon">
245             <primary sortas="b-chcon">chcon</primary>
246           </indexterm>
247         </listitem>
248       </varlistentry>
250       <varlistentry id="chgrp">
251         <term><command>chgrp</command></term>
252         <listitem>
253           <para>Changes the group ownership of files and directories</para>
254           <indexterm zone="ch-system-coreutils chgrp">
255             <primary sortas="b-chgrp">chgrp</primary>
256           </indexterm>
257         </listitem>
258       </varlistentry>
260       <varlistentry id="chmod">
261         <term><command>chmod</command></term>
262         <listitem>
263           <para>Changes the permissions of each file to the given mode; the mode
264           can be either a symbolic representation of the changes to make or an
265           octal number representing the new permissions</para>
266           <indexterm zone="ch-system-coreutils chmod">
267             <primary sortas="b-chmod">chmod</primary>
268           </indexterm>
269         </listitem>
270       </varlistentry>
272       <varlistentry id="chown">
273         <term><command>chown</command></term>
274         <listitem>
275           <para>Changes the user and/or group ownership of files and
276           directories</para>
277           <indexterm zone="ch-system-coreutils chown">
278             <primary sortas="b-chown">chown</primary>
279           </indexterm>
280         </listitem>
281       </varlistentry>
283       <varlistentry id="chroot">
284         <term><command>chroot</command></term>
285         <listitem>
286           <para>Runs a command with the specified directory as the
287           <filename class="directory">/</filename> directory</para>
288           <indexterm zone="ch-system-coreutils chroot">
289             <primary sortas="b-chroot">chroot</primary>
290           </indexterm>
291         </listitem>
292       </varlistentry>
294       <varlistentry id="cksum">
295         <term><command>cksum</command></term>
296         <listitem>
297           <para>Prints the Cyclic Redundancy Check (CRC) checksum and the byte
298           counts of each specified file</para>
299           <indexterm zone="ch-system-coreutils cksum">
300             <primary sortas="b-cksum">cksum</primary>
301           </indexterm>
302         </listitem>
303       </varlistentry>
305       <varlistentry id="comm">
306         <term><command>comm</command></term>
307         <listitem>
308           <para>Compares two sorted files, outputting in three columns the lines
309           that are unique and the lines that are common</para>
310           <indexterm zone="ch-system-coreutils comm">
311             <primary sortas="b-comm">comm</primary>
312           </indexterm>
313         </listitem>
314       </varlistentry>
316       <varlistentry id="cp">
317         <term><command>cp</command></term>
318         <listitem>
319           <para>Copies files</para>
320           <indexterm zone="ch-system-coreutils cp">
321             <primary sortas="b-cp">cp</primary>
322           </indexterm>
323         </listitem>
324       </varlistentry>
326       <varlistentry id="csplit">
327         <term><command>csplit</command></term>
328         <listitem>
329           <para>Splits a given file into several new files, separating them
330           according to given patterns or line numbers and outputting the byte
331           count of each new file</para>
332           <indexterm zone="ch-system-coreutils csplit">
333             <primary sortas="b-csplit">csplit</primary>
334           </indexterm>
335         </listitem>
336       </varlistentry>
338       <varlistentry id="cut">
339         <term><command>cut</command></term>
340         <listitem>
341           <para>Prints sections of lines, selecting the parts according to given
342           fields or positions</para>
343           <indexterm zone="ch-system-coreutils cut">
344             <primary sortas="b-cut">cut</primary>
345           </indexterm>
346         </listitem>
347       </varlistentry>
349       <varlistentry id="date">
350         <term><command>date</command></term>
351         <listitem>
352           <para>Displays the current time in the given format, or sets the
353           system date</para>
354           <indexterm zone="ch-system-coreutils date">
355             <primary sortas="b-date">date</primary>
356           </indexterm>
357         </listitem>
358       </varlistentry>
360       <varlistentry id="dd">
361         <term><command>dd</command> </term>
362         <listitem>
363           <para>Copies a file using the given block size and count, while
364           optionally performing conversions on it</para>
365           <indexterm zone="ch-system-coreutils dd">
366             <primary sortas="b-dd">dd</primary>
367           </indexterm>
368         </listitem>
369       </varlistentry>
371       <varlistentry id="df">
372         <term><command>df</command></term>
373         <listitem>
374           <para>Reports the amount of disk space available (and used) on all
375           mounted file systems, or only on the file systems holding the selected
376           files</para>
377           <indexterm zone="ch-system-coreutils df">
378             <primary sortas="b-df">df</primary>
379           </indexterm>
380         </listitem>
381       </varlistentry>
383       <varlistentry id="dir">
384         <term><command>dir</command></term>
385         <listitem>
386           <para>Lists the contents of each given directory (the same as
387           the <command>ls</command> command)</para>
388           <indexterm zone="ch-system-coreutils dir">
389             <primary sortas="b-dir">dir</primary>
390           </indexterm>
391         </listitem>
392       </varlistentry>
394       <varlistentry id="dircolors">
395         <term><command>dircolors</command></term>
396         <listitem>
397           <para>Outputs commands to set the <envar>LS_COLOR</envar>
398           environment variable to change the color scheme used by
399           <command>ls</command></para>
400           <indexterm zone="ch-system-coreutils dircolors">
401             <primary sortas="b-dircolors">dircolors</primary>
402           </indexterm>
403         </listitem>
404       </varlistentry>
406       <varlistentry id="dirname">
407         <term><command>dirname</command></term>
408         <listitem>
409           <para>Strips the non-directory suffix from a file name</para>
410           <indexterm zone="ch-system-coreutils dirname">
411             <primary sortas="b-dirname">dirname</primary>
412           </indexterm>
413         </listitem>
414       </varlistentry>
416       <varlistentry id="du">
417         <term><command>du</command></term>
418         <listitem>
419           <para>Reports the amount of disk space used by the current directory,
420           by each of the given directories (including all subdirectories) or by
421           each of the given files</para>
422           <indexterm zone="ch-system-coreutils du">
423             <primary sortas="b-du">du</primary>
424           </indexterm>
425         </listitem>
426       </varlistentry>
428       <varlistentry id="echo">
429         <term><command>echo</command></term>
430         <listitem>
431           <para>Displays the given strings</para>
432           <indexterm zone="ch-system-coreutils echo">
433             <primary sortas="b-echo">echo</primary>
434           </indexterm>
435         </listitem>
436       </varlistentry>
438       <varlistentry id="env">
439         <term><command>env</command></term>
440         <listitem>
441           <para>Runs a command in a modified environment</para>
442           <indexterm zone="ch-system-coreutils env">
443             <primary sortas="b-env">env</primary>
444           </indexterm>
445         </listitem>
446       </varlistentry>
448       <varlistentry id="expand">
449         <term><command>expand</command></term>
450         <listitem>
451           <para>Converts tabs to spaces</para>
452           <indexterm zone="ch-system-coreutils expand">
453             <primary sortas="b-expand">expand</primary>
454           </indexterm>
455         </listitem>
456       </varlistentry>
458       <varlistentry id="expr">
459         <term><command>expr</command></term>
460         <listitem>
461           <para>Evaluates expressions</para>
462           <indexterm zone="ch-system-coreutils expr">
463             <primary sortas="b-expr">expr</primary>
464           </indexterm>
465         </listitem>
466       </varlistentry>
468       <varlistentry id="factor">
469         <term><command>factor</command></term>
470         <listitem>
471           <para>Prints the prime factors of all specified integer numbers</para>
472           <indexterm zone="ch-system-coreutils factor">
473             <primary sortas="b-factor">factor</primary>
474           </indexterm>
475         </listitem>
476       </varlistentry>
478       <varlistentry id="false">
479         <term><command>false</command></term>
480         <listitem>
481           <para>Does nothing, unsuccessfully; it always exits with a status code
482           indicating failure</para>
483           <indexterm zone="ch-system-coreutils false">
484             <primary sortas="b-false">false</primary>
485           </indexterm>
486         </listitem>
487       </varlistentry>
489       <varlistentry id="fmt">
490         <term><command>fmt</command></term>
491         <listitem>
492           <para>Reformats the paragraphs in the given files</para>
493           <indexterm zone="ch-system-coreutils fmt">
494             <primary sortas="b-fmt">fmt</primary>
495           </indexterm>
496         </listitem>
497       </varlistentry>
499       <varlistentry id="fold">
500         <term><command>fold</command></term>
501         <listitem>
502           <para>Wraps the lines in the given files</para>
503           <indexterm zone="ch-system-coreutils fold">
504             <primary sortas="b-fold">fold</primary>
505           </indexterm>
506         </listitem>
507       </varlistentry>
509       <varlistentry id="groups">
510         <term><command>groups</command></term>
511         <listitem>
512           <para>Reports a user's group memberships</para>
513           <indexterm zone="ch-system-coreutils groups">
514             <primary sortas="b-groups">groups</primary>
515           </indexterm>
516         </listitem>
517       </varlistentry>
519       <varlistentry id="head">
520         <term><command>head</command></term>
521         <listitem>
522           <para>Prints the first ten lines (or the given number of lines)
523           of each given file</para>
524           <indexterm zone="ch-system-coreutils head">
525             <primary sortas="b-head">head</primary>
526           </indexterm>
527         </listitem>
528       </varlistentry>
530       <varlistentry id="hostid">
531         <term><command>hostid</command></term>
532         <listitem>
533           <para>Reports the numeric identifier (in hexadecimal) of the host</para>
534           <indexterm zone="ch-system-coreutils hostid">
535             <primary sortas="b-hostid">hostid</primary>
536           </indexterm>
537         </listitem>
538       </varlistentry>
540       <varlistentry id="id">
541         <term><command>id</command></term>
542         <listitem>
543           <para>Reports the effective user ID, group ID, and group memberships
544           of the current user or specified user</para>
545           <indexterm zone="ch-system-coreutils id">
546             <primary sortas="b-id">id</primary>
547           </indexterm>
548         </listitem>
549       </varlistentry>
551       <varlistentry id="install">
552         <term><command>install</command> </term>
553         <listitem>
554           <para>Copies files while setting their permission modes and, if
555           possible, their owner and group</para>
556           <indexterm zone="ch-system-coreutils install">
557             <primary sortas="b-install">install</primary>
558           </indexterm>
559         </listitem>
560       </varlistentry>
562       <varlistentry id="join">
563         <term><command>join</command></term>
564         <listitem>
565           <para>Joins the lines that have identical join fields from two
566           separate files</para>
567           <indexterm zone="ch-system-coreutils join">
568             <primary sortas="b-join">join</primary>
569           </indexterm>
570         </listitem>
571       </varlistentry>
573       <varlistentry id="link">
574         <term><command>link</command></term>
575         <listitem>
576           <para>Creates a hard link with the given name to a file</para>
577           <indexterm zone="ch-system-coreutils link">
578             <primary sortas="b-link">link</primary>
579           </indexterm>
580         </listitem>
581       </varlistentry>
583       <varlistentry id="ln">
584         <term><command>ln</command></term>
585         <listitem>
586           <para>Makes hard links or soft (symbolic) links between files</para>
587           <indexterm zone="ch-system-coreutils ln">
588             <primary sortas="b-ln">ln</primary>
589           </indexterm>
590         </listitem>
591       </varlistentry>
593       <varlistentry id="logname">
594         <term><command>logname</command></term>
595         <listitem>
596           <para>Reports the current user's login name</para>
597           <indexterm zone="ch-system-coreutils logname">
598             <primary sortas="b-logname">logname</primary>
599           </indexterm>
600         </listitem>
601       </varlistentry>
603       <varlistentry id="ls">
604         <term><command>ls</command></term>
605         <listitem>
606           <para>Lists the contents of each given directory</para>
607           <indexterm zone="ch-system-coreutils ls">
608             <primary sortas="b-ls">ls</primary>
609           </indexterm>
610         </listitem>
611       </varlistentry>
613       <varlistentry id="md5sum">
614         <term><command>md5sum</command></term>
615         <listitem>
616           <para>Reports or checks Message Digest 5 (MD5) checksums</para>
617           <indexterm zone="ch-system-coreutils md5sum">
618             <primary sortas="b-md5sum">md5sum</primary>
619           </indexterm>
620         </listitem>
621       </varlistentry>
623       <varlistentry id="mkdir">
624         <term><command>mkdir</command></term>
625         <listitem>
626           <para>Creates directories with the given names</para>
627           <indexterm zone="ch-system-coreutils mkdir">
628             <primary sortas="b-mkdir">mkdir</primary>
629           </indexterm>
630         </listitem>
631       </varlistentry>
633       <varlistentry id="mkfifo">
634         <term><command>mkfifo</command></term>
635         <listitem>
636           <para>Creates First-In, First-Outs (FIFOs), a "named
637           pipe" in UNIX parlance, with the given names</para>
638           <indexterm zone="ch-system-coreutils mkfifo">
639             <primary sortas="b-mkfifo">mkfifo</primary>
640           </indexterm>
641         </listitem>
642       </varlistentry>
644       <varlistentry id="mknod">
645         <term><command>mknod</command></term>
646         <listitem>
647           <para>Creates device nodes with the given names; a device node is a
648           character special file, a block special file, or a FIFO</para>
649           <indexterm zone="ch-system-coreutils mknod">
650             <primary sortas="b-mknod">mknod</primary>
651           </indexterm>
652         </listitem>
653       </varlistentry>
655       <varlistentry id="mktemp">
656         <term><command>mktemp</command></term>
657         <listitem>
658           <para>Creates temporary files in a secure manner; it is used in scripts</para>
659         <indexterm zone="ch-system-coreutils mktemp">
660           <primary sortas="b-mktemp">mktemp</primary>
661         </indexterm>
662        </listitem>
663      </varlistentry>
665       <varlistentry id="mv">
666         <term><command>mv</command></term>
667         <listitem>
668           <para>Moves or renames files or directories</para>
669           <indexterm zone="ch-system-coreutils mv">
670             <primary sortas="b-mv">mv</primary>
671           </indexterm>
672         </listitem>
673       </varlistentry>
675       <varlistentry id="nice">
676         <term><command>nice</command></term>
677         <listitem>
678           <para>Runs a program with modified scheduling priority</para>
679           <indexterm zone="ch-system-coreutils nice">
680             <primary sortas="b-nice">nice</primary>
681           </indexterm>
682         </listitem>
683       </varlistentry>
685       <varlistentry id="nl">
686         <term><command>nl</command></term>
687         <listitem>
688           <para>Numbers the lines from the given files</para>
689           <indexterm zone="ch-system-coreutils nl">
690             <primary sortas="b-nl">nl</primary>
691           </indexterm>
692         </listitem>
693       </varlistentry>
695       <varlistentry id="nohup">
696         <term><command>nohup</command></term>
697         <listitem>
698           <para>Runs a command immune to hangups, with its output redirected to
699           a log file</para>
700           <indexterm zone="ch-system-coreutils nohup">
701             <primary sortas="b-nohup">nohup</primary>
702           </indexterm>
703         </listitem>
704       </varlistentry>
706       <varlistentry id="nproc">
707         <term><command>nproc</command></term>
708         <listitem>
709           <para>Prints the number of processing units available to a
710           process</para>
711           <indexterm zone="ch-system-coreutils nproc">
712             <primary sortas="b-nproc">nproc</primary>
713           </indexterm>
714         </listitem>
715       </varlistentry>
717       <varlistentry id="numfmt">
718         <term><command>numfmt</command></term>
719         <listitem>
720           <para>Converts numbers to or from human-readable strings</para>
721           <indexterm zone="ch-system-coreutils numfmt">
722             <primary sortas="b-numfmt">numfmt</primary>
723           </indexterm>
724         </listitem>
725       </varlistentry>
727       <varlistentry id="od">
728         <term><command>od</command></term>
729         <listitem>
730           <para>Dumps files in octal and other formats</para>
731           <indexterm zone="ch-system-coreutils od">
732             <primary sortas="b-od">od</primary>
733           </indexterm>
734         </listitem>
735       </varlistentry>
737       <varlistentry id="paste">
738         <term><command>paste</command></term>
739         <listitem>
740           <para>Merges the given files, joining sequentially corresponding lines
741           side by side, separated by tab characters</para>
742           <indexterm zone="ch-system-coreutils paste">
743             <primary sortas="b-paste">paste</primary>
744           </indexterm>
745         </listitem>
746       </varlistentry>
748       <varlistentry id="pathchk">
749         <term><command>pathchk</command></term>
750         <listitem>
751           <para>Checks if file names are valid or portable</para>
752           <indexterm zone="ch-system-coreutils pathchk">
753             <primary sortas="b-pathchk">pathchk</primary>
754           </indexterm>
755         </listitem>
756       </varlistentry>
758       <varlistentry id="pinky">
759         <term><command>pinky</command></term>
760         <listitem>
761           <para>Is a lightweight finger client; it reports some information
762           about the given users</para>
763           <indexterm zone="ch-system-coreutils pinky">
764             <primary sortas="b-pinky">pinky</primary>
765           </indexterm>
766         </listitem>
767       </varlistentry>
769       <varlistentry id="pr">
770         <term><command>pr</command></term>
771         <listitem>
772           <para>Paginates and columnates files for printing</para>
773           <indexterm zone="ch-system-coreutils pr">
774             <primary sortas="b-pr">pr</primary>
775           </indexterm>
776         </listitem>
777       </varlistentry>
779       <varlistentry id="printenv">
780         <term><command>printenv</command></term>
781         <listitem>
782           <para>Prints the environment</para>
783           <indexterm zone="ch-system-coreutils printenv">
784             <primary sortas="b-printenv">printenv</primary>
785           </indexterm>
786         </listitem>
787       </varlistentry>
789       <varlistentry id="printf">
790         <term><command>printf</command></term>
791         <listitem>
792           <para>Prints the given arguments according to the given format, much
793           like the C printf function</para>
794           <indexterm zone="ch-system-coreutils printf">
795             <primary sortas="b-printf">printf</primary>
796           </indexterm>
797         </listitem>
798       </varlistentry>
800       <varlistentry id="ptx">
801         <term><command>ptx</command></term>
802         <listitem>
803           <para>Produces a permuted index from the contents of the given files,
804           with each keyword in its context</para>
805           <indexterm zone="ch-system-coreutils ptx">
806             <primary sortas="b-ptx">ptx</primary>
807           </indexterm>
808         </listitem>
809       </varlistentry>
811       <varlistentry id="pwd">
812         <term><command>pwd</command></term>
813         <listitem>
814           <para>Reports the name of the current working directory</para>
815           <indexterm zone="ch-system-coreutils pwd">
816             <primary sortas="b-pwd">pwd</primary>
817           </indexterm>
818         </listitem>
819       </varlistentry>
821       <varlistentry id="readlink">
822         <term><command>readlink</command></term>
823         <listitem>
824           <para>Reports the value of the given symbolic link</para>
825           <indexterm zone="ch-system-coreutils readlink">
826             <primary sortas="b-readlink">readlink</primary>
827           </indexterm>
828         </listitem>
829       </varlistentry>
831       <varlistentry id="realpath">
832         <term><command>realpath</command></term>
833         <listitem>
834           <para>Prints the resolved path</para>
835           <indexterm zone="ch-system-coreutils realpath">
836             <primary sortas="b-realpath">realpath</primary>
837           </indexterm>
838         </listitem>
839       </varlistentry>
841       <varlistentry id="rm">
842         <term><command>rm</command></term>
843         <listitem>
844           <para>Removes files or directories</para>
845           <indexterm zone="ch-system-coreutils rm">
846             <primary sortas="b-rm">rm</primary>
847           </indexterm>
848         </listitem>
849       </varlistentry>
851       <varlistentry id="rmdir">
852         <term><command>rmdir</command></term>
853         <listitem>
854           <para>Removes directories if they are empty</para>
855           <indexterm zone="ch-system-coreutils rmdir">
856             <primary sortas="b-rmdir">rmdir</primary>
857           </indexterm>
858         </listitem>
859       </varlistentry>
861       <varlistentry id="runcon">
862         <term><command>runcon</command></term>
863         <listitem>
864           <para>Runs a command with specified security context</para>
865           <indexterm zone="ch-system-coreutils runcon">
866             <primary sortas="b-runcon">runcon</primary>
867           </indexterm>
868         </listitem>
869       </varlistentry>
871       <varlistentry id="seq">
872         <term><command>seq</command></term>
873         <listitem>
874           <para>Prints a sequence of numbers within a given range and with a
875           given increment</para>
876           <indexterm zone="ch-system-coreutils seq">
877             <primary sortas="b-seq">seq</primary>
878           </indexterm>
879         </listitem>
880       </varlistentry>
882       <varlistentry id="sha1sum">
883         <term><command>sha1sum</command></term>
884         <listitem>
885           <para>Prints or checks 160-bit Secure Hash Algorithm 1 (SHA1)
886           checksums</para>
887           <indexterm zone="ch-system-coreutils sha1sum">
888             <primary sortas="b-sha1sum">sha1sum</primary>
889           </indexterm>
890         </listitem>
891       </varlistentry>
893       <varlistentry id="sha224sum">
894         <term><command>sha224sum</command></term>
895         <listitem>
896           <para>Prints or checks 224-bit Secure Hash Algorithm checksums</para>
897           <indexterm zone="ch-system-coreutils sha224sum">
898             <primary sortas="b-sha224sum">sha224sum</primary>
899           </indexterm>
900         </listitem>
901       </varlistentry>
903       <varlistentry id="sha256sum">
904         <term><command>sha256sum</command></term>
905         <listitem>
906           <para>Prints or checks 256-bit Secure Hash Algorithm checksums</para>
907           <indexterm zone="ch-system-coreutils sha256sum">
908             <primary sortas="b-sha256sum">sha256sum</primary>
909           </indexterm>
910         </listitem>
911       </varlistentry>
913       <varlistentry id="sha384sum">
914         <term><command>sha384sum</command></term>
915         <listitem>
916           <para>Prints or checks 384-bit Secure Hash Algorithm checksums</para>
917           <indexterm zone="ch-system-coreutils sha384sum">
918             <primary sortas="b-sha384sum">sha384sum</primary>
919           </indexterm>
920         </listitem>
921       </varlistentry>
923       <varlistentry id="sha512sum">
924         <term><command>sha512sum</command></term>
925         <listitem>
926           <para>Prints or checks 512-bit Secure Hash Algorithm checksums</para>
927           <indexterm zone="ch-system-coreutils sha512sum">
928             <primary sortas="b-sha512sum">sha512sum</primary>
929           </indexterm>
930         </listitem>
931       </varlistentry>
933       <varlistentry id="shred">
934         <term><command>shred</command></term>
935         <listitem>
936           <para>Overwrites the given files repeatedly with complex patterns,
937           making it difficult to recover the data</para>
938           <indexterm zone="ch-system-coreutils shred">
939             <primary sortas="b-shred">shred</primary>
940           </indexterm>
941         </listitem>
942       </varlistentry>
944       <varlistentry id="shuf">
945         <term><command>shuf</command></term>
946         <listitem>
947           <para>Shuffles lines of text</para>
948           <indexterm zone="ch-system-coreutils shuf">
949             <primary sortas="b-shuf">shuf</primary>
950           </indexterm>
951         </listitem>
952       </varlistentry>
954       <varlistentry id="sleep">
955         <term><command>sleep</command></term>
956         <listitem>
957           <para>Pauses for the given amount of time</para>
958           <indexterm zone="ch-system-coreutils sleep">
959             <primary sortas="b-sleep">sleep</primary>
960           </indexterm>
961         </listitem>
962       </varlistentry>
964       <varlistentry id="sort">
965         <term><command>sort</command></term>
966         <listitem>
967           <para>Sorts the lines from the given files</para>
968           <indexterm zone="ch-system-coreutils sort">
969             <primary sortas="b-sort">sort</primary>
970           </indexterm>
971         </listitem>
972       </varlistentry>
974       <varlistentry id="split">
975         <term><command>split</command></term>
976         <listitem>
977           <para>Splits the given file into pieces, by size or by number of
978           lines</para>
979           <indexterm zone="ch-system-coreutils split">
980             <primary sortas="b-split">split</primary>
981           </indexterm>
982         </listitem>
983       </varlistentry>
985       <varlistentry id="stat">
986         <term><command>stat</command></term>
987         <listitem>
988           <para>Displays file or filesystem status</para>
989           <indexterm zone="ch-system-coreutils stat">
990             <primary sortas="b-stat">stat</primary>
991           </indexterm>
992         </listitem>
993       </varlistentry>
995       <varlistentry id="stdbuf">
996         <term><command>stdbuf</command></term>
997         <listitem>
998           <para>Runs commands with altered buffering operations for its standard
999           streams</para>
1000           <indexterm zone="ch-system-coreutils stdbuf">
1001             <primary sortas="b-stdbuf">stdbuf</primary>
1002           </indexterm>
1003         </listitem>
1004       </varlistentry>
1006       <varlistentry id="stty">
1007         <term><command>stty</command></term>
1008         <listitem>
1009           <para>Sets or reports terminal line settings</para>
1010           <indexterm zone="ch-system-coreutils stty">
1011             <primary sortas="b-stty">stty</primary>
1012           </indexterm>
1013         </listitem>
1014       </varlistentry>
1016       <varlistentry id="sum">
1017         <term><command>sum</command></term>
1018         <listitem>
1019           <para>Prints checksum and block counts for each given file</para>
1020           <indexterm zone="ch-system-coreutils sum">
1021             <primary sortas="b-sum">sum</primary>
1022           </indexterm>
1023         </listitem>
1024       </varlistentry>
1026       <varlistentry id="sync">
1027         <term><command>sync</command></term>
1028         <listitem>
1029           <para>Flushes file system buffers; it forces changed blocks to disk
1030           and updates the super block</para>
1031           <indexterm zone="ch-system-coreutils sync">
1032             <primary sortas="b-sync">sync</primary>
1033           </indexterm>
1034         </listitem>
1035       </varlistentry>
1037       <varlistentry id="tac">
1038         <term><command>tac</command></term>
1039         <listitem>
1040           <para>Concatenates the given files in reverse</para>
1041           <indexterm zone="ch-system-coreutils tac">
1042             <primary sortas="b-tac">tac</primary>
1043           </indexterm>
1044         </listitem>
1045       </varlistentry>
1047       <varlistentry id="tail">
1048         <term><command>tail</command></term>
1049         <listitem>
1050           <para>Prints the last ten lines (or the given number of lines) of each
1051           given file</para>
1052           <indexterm zone="ch-system-coreutils tail">
1053             <primary sortas="b-tail">tail</primary>
1054           </indexterm>
1055         </listitem>
1056       </varlistentry>
1058       <varlistentry id="tee">
1059         <term><command>tee</command></term>
1060         <listitem>
1061           <para>Reads from standard input while writing both to standard output
1062           and to the given files</para>
1063           <indexterm zone="ch-system-coreutils tee">
1064             <primary sortas="b-tee">tee</primary>
1065           </indexterm>
1066         </listitem>
1067       </varlistentry>
1069       <varlistentry id="test">
1070         <term><command>test</command></term>
1071         <listitem>
1072           <para>Compares values and checks file types</para>
1073           <indexterm zone="ch-system-coreutils test">
1074             <primary sortas="b-test">test</primary>
1075           </indexterm>
1076         </listitem>
1077       </varlistentry>
1079       <varlistentry id="timeout">
1080         <term><command>timeout</command></term>
1081         <listitem>
1082           <para>Runs a command with a time limit</para>
1083           <indexterm zone="ch-system-coreutils timeout">
1084             <primary sortas="b-timeout">timeout</primary>
1085           </indexterm>
1086         </listitem>
1087       </varlistentry>
1089       <varlistentry id="touch">
1090         <term><command>touch</command></term>
1091         <listitem>
1092           <para>Changes file timestamps, setting the access and modification
1093           times of the given files to the current time; files that do not exist
1094           are created with zero length</para>
1095           <indexterm zone="ch-system-coreutils touch">
1096             <primary sortas="b-touch">touch</primary>
1097           </indexterm>
1098         </listitem>
1099       </varlistentry>
1101       <varlistentry id="tr">
1102         <term><command>tr</command></term>
1103         <listitem>
1104           <para>Translates, squeezes, and deletes the given characters from
1105           standard input</para>
1106           <indexterm zone="ch-system-coreutils tr">
1107             <primary sortas="b-tr">tr</primary>
1108           </indexterm>
1109         </listitem>
1110       </varlistentry>
1112       <varlistentry id="true">
1113         <term><command>true</command></term>
1114         <listitem>
1115           <para>Does nothing, successfully; it always exits with a status code
1116           indicating success</para>
1117           <indexterm zone="ch-system-coreutils true">
1118             <primary sortas="b-true">true</primary>
1119           </indexterm>
1120         </listitem>
1121       </varlistentry>
1123       <varlistentry id="truncate">
1124         <term><command>truncate</command></term>
1125         <listitem>
1126           <para>Shrinks or expands a file to the specified size</para>
1127           <indexterm zone="ch-system-coreutils truncate">
1128             <primary sortas="b-truncate">truncate</primary>
1129           </indexterm>
1130         </listitem>
1131       </varlistentry>
1133       <varlistentry id="tsort">
1134         <term><command>tsort</command></term>
1135         <listitem>
1136           <para>Performs a topological sort; it writes a completely ordered list
1137           according to the partial ordering in a given file</para>
1138           <indexterm zone="ch-system-coreutils tsort">
1139             <primary sortas="b-tsort">tsort</primary>
1140           </indexterm>
1141         </listitem>
1142       </varlistentry>
1144       <varlistentry id="tty">
1145         <term><command>tty</command></term>
1146         <listitem>
1147           <para>Reports the file name of the terminal connected to standard
1148           input</para>
1149           <indexterm zone="ch-system-coreutils tty">
1150             <primary sortas="b-tty">tty</primary>
1151           </indexterm>
1152         </listitem>
1153       </varlistentry>
1155       <varlistentry id="uname">
1156         <term><command>uname</command></term>
1157         <listitem>
1158           <para>Reports system information</para>
1159           <indexterm zone="ch-system-coreutils uname">
1160             <primary sortas="b-uname">uname</primary>
1161           </indexterm>
1162         </listitem>
1163       </varlistentry>
1165       <varlistentry id="unexpand">
1166         <term><command>unexpand</command></term>
1167         <listitem>
1168           <para>Converts spaces to tabs</para>
1169           <indexterm zone="ch-system-coreutils unexpand">
1170             <primary sortas="b-unexpand">unexpand</primary>
1171           </indexterm>
1172         </listitem>
1173       </varlistentry>
1175       <varlistentry id="uniq">
1176         <term><command>uniq</command></term>
1177         <listitem>
1178           <para>Discards all but one of successive identical lines</para>
1179           <indexterm zone="ch-system-coreutils uniq">
1180             <primary sortas="b-uniq">uniq</primary>
1181           </indexterm>
1182         </listitem>
1183       </varlistentry>
1185       <varlistentry id="unlink">
1186         <term><command>unlink</command></term>
1187         <listitem>
1188           <para>Removes the given file</para>
1189           <indexterm zone="ch-system-coreutils unlink">
1190             <primary sortas="b-unlink">unlink</primary>
1191           </indexterm>
1192         </listitem>
1193       </varlistentry>
1195       <varlistentry id="users">
1196         <term><command>users</command></term>
1197         <listitem>
1198           <para>Reports the names of the users currently logged on</para>
1199           <indexterm zone="ch-system-coreutils users">
1200             <primary sortas="b-users">users</primary>
1201           </indexterm>
1202         </listitem>
1203       </varlistentry>
1205       <varlistentry id="vdir">
1206         <term><command>vdir</command></term>
1207         <listitem>
1208           <para>Is the same as <command>ls -l</command></para>
1209           <indexterm zone="ch-system-coreutils vdir">
1210             <primary sortas="b-vdir">vdir</primary>
1211           </indexterm>
1212         </listitem>
1213       </varlistentry>
1215       <varlistentry id="wc">
1216         <term><command>wc</command></term>
1217         <listitem>
1218           <para>Reports the number of lines, words, and bytes for each given
1219           file, as well as a total line when more than one file is given</para>
1220           <indexterm zone="ch-system-coreutils wc">
1221             <primary sortas="b-wc">wc</primary>
1222           </indexterm>
1223         </listitem>
1224       </varlistentry>
1226       <varlistentry id="who">
1227         <term><command>who</command></term>
1228         <listitem>
1229           <para>Reports who is logged on</para>
1230           <indexterm zone="ch-system-coreutils who">
1231             <primary sortas="b-who">who</primary>
1232           </indexterm>
1233         </listitem>
1234       </varlistentry>
1236       <varlistentry id="whoami">
1237         <term><command>whoami</command></term>
1238         <listitem>
1239           <para>Reports the user name associated with the current effective
1240           user ID</para>
1241           <indexterm zone="ch-system-coreutils whoami">
1242             <primary sortas="b-whoami">whoami</primary>
1243           </indexterm>
1244         </listitem>
1245       </varlistentry>
1247       <varlistentry id="yes">
1248         <term><command>yes</command></term>
1249         <listitem>
1250           <para>Repeatedly outputs <quote>y</quote> or a given string until
1251           killed</para>
1252           <indexterm zone="ch-system-coreutils yes">
1253             <primary sortas="b-yes">yes</primary>
1254           </indexterm>
1255         </listitem>
1256       </varlistentry>
1258       <varlistentry id="libstdbuf">
1259         <term><filename class="libraryfile">libstdbuf</filename></term>
1260         <listitem>
1261           <para>Library used by <command>stdbuf</command></para>
1262           <indexterm zone="ch-system-coreutils libstdbuf">
1263             <primary sortas="c-libstdbuf">libstdbuf</primary>
1264           </indexterm>
1265         </listitem>
1266       </varlistentry>
1268     </variablelist>
1270   </sect2>
1272 </sect1>