LFS-systemd-7.8
[linux_from_scratch.git] / chapter06 / coreutils.xml
blob3715ea8dde293c80fd30961f982e4dd119a364b4
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>
43 <!--
44     <para>First, fix a segfault in <command>shuf</command> program:</para>
46 <screen><userinput remap="pre">patch -Np1 -i ../&coreutils-shuf-segfault-patch;</userinput></screen>
47 -->
49     <para>POSIX requires that programs from Coreutils recognize character
50     boundaries correctly even in multibyte locales. The following patch fixes
51     this non-compliance and other internationalization-related bugs.
52     <!--Afterwards make sure the timestamp for <filename>Makefile.in</filename> is
53     later than all other files to prevent a <command>make</command>
54     error:</para>-->
55     Afterwards disable a test that fails with the current version of perl.</para>
57 <screen><userinput remap="pre">patch -Np1 -i ../&coreutils-i18n-patch; 
58 sed -i '/tests\/misc\/sort.pl/ d' Makefile.in</userinput></screen>
60 <!--touch Makefile.in</userinput></screen>-->
62     <note>
63       <para>In the past, many bugs were found in this patch. When reporting new
64       bugs to Coreutils maintainers, please check first if they are reproducible
65       without this patch.</para>
66     </note>
68     <para>Now prepare Coreutils for compilation:</para>
70 <screen><userinput remap="configure">FORCE_UNSAFE_CONFIGURE=1 ./configure \
71             --prefix=/usr            \
72             --enable-no-install-program=kill,uptime</userinput></screen>
74     <variablelist>
75       <title>The meaning of the configure options:</title>
77       <varlistentry>
78         <term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>
79         <listitem>
80           <para>This environment variable allows the package to be 
81           built as the root user.
82           </para>
83         </listitem>
84       </varlistentry>
86       <varlistentry>
87         <term><parameter>--enable-no-install-program=kill,uptime</parameter></term>
88         <listitem>
89           <para>The purpose of this switch is to prevent Coreutils from
90           installing binaries that will be installed by other packages later.
91           </para>
92         </listitem>
93       </varlistentry>
94     </variablelist>
96     <para>Compile the package:</para>
98 <screen><userinput remap="make">make</userinput></screen>
100     <para>Skip down to <quote>Install the
101     package</quote> if not running the test suite.</para>
103     <para>Now the test suite is ready to be run. First, run the tests that are
104     meant to be run as user <systemitem class="username">root</systemitem>:</para>
106 <screen><userinput remap="test">make NON_ROOT_USERNAME=nobody check-root</userinput></screen>
108     <para>We're going to run the remainder of the tests as the
109     <systemitem class="username">nobody</systemitem> user. Certain tests,
110     however, require that the user be a member of more than one group. So that
111     these tests are not skipped we'll add a temporary group and make the
112     user <systemitem class="username">nobody</systemitem> a part of it:</para>
114 <screen><userinput remap="test">echo "dummy:x:1000:nobody" &gt;&gt; /etc/group</userinput></screen>
116     <para>Fix some of the permissions so that the non-root user can compile and
117     run the tests:</para>
119 <screen><userinput remap="test">chown -Rv nobody . </userinput></screen>
121     <para>Now run the tests. Make sure the PATH in the <userinput>su</userinput>
122     environment includes /tools/bin.</para>
124 <screen><userinput remap="test">su nobody -s /bin/bash \
125           -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
127     <para>The stty-pairs test is known to fail on a virtual console, but
128     passes if run in a X terminal.</para>
130     <para>Remove the temporary group:</para>
132 <screen><userinput remap="test">sed -i '/dummy/d' /etc/group</userinput></screen>
134     <para>Install the package:</para>
136 <screen><userinput remap="install">make install</userinput></screen>
138     <para>Move programs to the locations specified by the FHS:</para>
140 <screen><userinput remap="install">mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
141 mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
142 mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
143 mv -v /usr/bin/chroot /usr/sbin
144 mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
145 sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
147     <para>Some packages in BLFS and beyond expect the following
148     programs in <filename class="directory">/bin</filename>, so
149     make sure they are placed there:</para>
151 <screen><userinput remap="install">mv -v /usr/bin/{head,sleep,nice,test,[} /bin</userinput></screen>
153   </sect2>
155   <sect2 id="contents-coreutils" role="content">
156     <title>Contents of Coreutils</title>
158     <segmentedlist>
159       <segtitle>Installed programs</segtitle>
160       <segtitle>Installed library</segtitle>
161       <segtitle>Installed directory</segtitle>
163       <seglistitem>
164         <seg>[, base64, basename, cat, chcon, chgrp, chmod, chown, chroot, cksum,
165         comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo,
166         env, expand, expr, factor, false, fmt, fold, groups, head, hostid,
167         id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod,
168         mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr,
169         printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, runcon, seq,
170         sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep,
171         sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test,
172         timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq,
173         unlink, users, vdir, wc, who, whoami, and yes</seg>
174         <seg>libstdbuf.so</seg>
175         <seg>/usr/libexec/coreutils</seg>
176       </seglistitem>
177     </segmentedlist>
179     <variablelist>
180       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
181       <?dbfo list-presentation="list"?>
182       <?dbhtml list-presentation="table"?>
184       <varlistentry id="base64">
185         <term><command>base64</command></term>
186         <listitem>
187           <para>Encodes and decodes data according to the base64 (RFC 3548)
188             specification</para>
189           <indexterm zone="ch-system-coreutils base64">
190             <primary sortas="b-base64">base64</primary>
191           </indexterm>
192         </listitem>
193       </varlistentry>
195       <varlistentry id="basename">
196         <term><command>basename</command></term>
197         <listitem>
198           <para>Strips any path and a given suffix from a file name</para>
199           <indexterm zone="ch-system-coreutils basename">
200             <primary sortas="b-basename">basename</primary>
201           </indexterm>
202         </listitem>
203       </varlistentry>
205       <varlistentry id="cat">
206         <term><command>cat</command></term>
207         <listitem>
208           <para>Concatenates files to standard output</para>
209           <indexterm zone="ch-system-coreutils cat">
210             <primary sortas="b-cat">cat</primary>
211           </indexterm>
212         </listitem>
213       </varlistentry>
215       <varlistentry id="chcon">
216         <term><command>chcon</command></term>
217         <listitem>
218           <para>Changes security context for files and directories</para>
219           <indexterm zone="ch-system-coreutils chcon">
220             <primary sortas="b-chcon">chcon</primary>
221           </indexterm>
222         </listitem>
223       </varlistentry>
225       <varlistentry id="chgrp">
226         <term><command>chgrp</command></term>
227         <listitem>
228           <para>Changes the group ownership of files and directories</para>
229           <indexterm zone="ch-system-coreutils chgrp">
230             <primary sortas="b-chgrp">chgrp</primary>
231           </indexterm>
232         </listitem>
233       </varlistentry>
235       <varlistentry id="chmod">
236         <term><command>chmod</command></term>
237         <listitem>
238           <para>Changes the permissions of each file to the given mode; the mode
239           can be either a symbolic representation of the changes to make or an
240           octal number representing the new permissions</para>
241           <indexterm zone="ch-system-coreutils chmod">
242             <primary sortas="b-chmod">chmod</primary>
243           </indexterm>
244         </listitem>
245       </varlistentry>
247       <varlistentry id="chown">
248         <term><command>chown</command></term>
249         <listitem>
250           <para>Changes the user and/or group ownership of files and
251           directories</para>
252           <indexterm zone="ch-system-coreutils chown">
253             <primary sortas="b-chown">chown</primary>
254           </indexterm>
255         </listitem>
256       </varlistentry>
258       <varlistentry id="chroot">
259         <term><command>chroot</command></term>
260         <listitem>
261           <para>Runs a command with the specified directory as the
262           <filename class="directory">/</filename> directory</para>
263           <indexterm zone="ch-system-coreutils chroot">
264             <primary sortas="b-chroot">chroot</primary>
265           </indexterm>
266         </listitem>
267       </varlistentry>
269       <varlistentry id="cksum">
270         <term><command>cksum</command></term>
271         <listitem>
272           <para>Prints the Cyclic Redundancy Check (CRC) checksum and the byte
273           counts of each specified file</para>
274           <indexterm zone="ch-system-coreutils cksum">
275             <primary sortas="b-cksum">cksum</primary>
276           </indexterm>
277         </listitem>
278       </varlistentry>
280       <varlistentry id="comm">
281         <term><command>comm</command></term>
282         <listitem>
283           <para>Compares two sorted files, outputting in three columns the lines
284           that are unique and the lines that are common</para>
285           <indexterm zone="ch-system-coreutils comm">
286             <primary sortas="b-comm">comm</primary>
287           </indexterm>
288         </listitem>
289       </varlistentry>
291       <varlistentry id="cp">
292         <term><command>cp</command></term>
293         <listitem>
294           <para>Copies files</para>
295           <indexterm zone="ch-system-coreutils cp">
296             <primary sortas="b-cp">cp</primary>
297           </indexterm>
298         </listitem>
299       </varlistentry>
301       <varlistentry id="csplit">
302         <term><command>csplit</command></term>
303         <listitem>
304           <para>Splits a given file into several new files, separating them
305           according to given patterns or line numbers and outputting the byte
306           count of each new file</para>
307           <indexterm zone="ch-system-coreutils csplit">
308             <primary sortas="b-csplit">csplit</primary>
309           </indexterm>
310         </listitem>
311       </varlistentry>
313       <varlistentry id="cut">
314         <term><command>cut</command></term>
315         <listitem>
316           <para>Prints sections of lines, selecting the parts according to given
317           fields or positions</para>
318           <indexterm zone="ch-system-coreutils cut">
319             <primary sortas="b-cut">cut</primary>
320           </indexterm>
321         </listitem>
322       </varlistentry>
324       <varlistentry id="date">
325         <term><command>date</command></term>
326         <listitem>
327           <para>Displays the current time in the given format, or sets the
328           system date</para>
329           <indexterm zone="ch-system-coreutils date">
330             <primary sortas="b-date">date</primary>
331           </indexterm>
332         </listitem>
333       </varlistentry>
335       <varlistentry id="dd">
336         <term><command>dd</command> </term>
337         <listitem>
338           <para>Copies a file using the given block size and count, while
339           optionally performing conversions on it</para>
340           <indexterm zone="ch-system-coreutils dd">
341             <primary sortas="b-dd">dd</primary>
342           </indexterm>
343         </listitem>
344       </varlistentry>
346       <varlistentry id="df">
347         <term><command>df</command></term>
348         <listitem>
349           <para>Reports the amount of disk space available (and used) on all
350           mounted file systems, or only on the file systems holding the selected
351           files</para>
352           <indexterm zone="ch-system-coreutils df">
353             <primary sortas="b-df">df</primary>
354           </indexterm>
355         </listitem>
356       </varlistentry>
358       <varlistentry id="dir">
359         <term><command>dir</command></term>
360         <listitem>
361           <para>Lists the contents of each given directory (the same as
362           the <command>ls</command> command)</para>
363           <indexterm zone="ch-system-coreutils dir">
364             <primary sortas="b-dir">dir</primary>
365           </indexterm>
366         </listitem>
367       </varlistentry>
369       <varlistentry id="dircolors">
370         <term><command>dircolors</command></term>
371         <listitem>
372           <para>Outputs commands to set the <envar>LS_COLOR</envar>
373           environment variable to change the color scheme used by
374           <command>ls</command></para>
375           <indexterm zone="ch-system-coreutils dircolors">
376             <primary sortas="b-dircolors">dircolors</primary>
377           </indexterm>
378         </listitem>
379       </varlistentry>
381       <varlistentry id="dirname">
382         <term><command>dirname</command></term>
383         <listitem>
384           <para>Strips the non-directory suffix from a file name</para>
385           <indexterm zone="ch-system-coreutils dirname">
386             <primary sortas="b-dirname">dirname</primary>
387           </indexterm>
388         </listitem>
389       </varlistentry>
391       <varlistentry id="du">
392         <term><command>du</command></term>
393         <listitem>
394           <para>Reports the amount of disk space used by the current directory,
395           by each of the given directories (including all subdirectories) or by
396           each of the given files</para>
397           <indexterm zone="ch-system-coreutils du">
398             <primary sortas="b-du">du</primary>
399           </indexterm>
400         </listitem>
401       </varlistentry>
403       <varlistentry id="echo">
404         <term><command>echo</command></term>
405         <listitem>
406           <para>Displays the given strings</para>
407           <indexterm zone="ch-system-coreutils echo">
408             <primary sortas="b-echo">echo</primary>
409           </indexterm>
410         </listitem>
411       </varlistentry>
413       <varlistentry id="env">
414         <term><command>env</command></term>
415         <listitem>
416           <para>Runs a command in a modified environment</para>
417           <indexterm zone="ch-system-coreutils env">
418             <primary sortas="b-env">env</primary>
419           </indexterm>
420         </listitem>
421       </varlistentry>
423       <varlistentry id="expand">
424         <term><command>expand</command></term>
425         <listitem>
426           <para>Converts tabs to spaces</para>
427           <indexterm zone="ch-system-coreutils expand">
428             <primary sortas="b-expand">expand</primary>
429           </indexterm>
430         </listitem>
431       </varlistentry>
433       <varlistentry id="expr">
434         <term><command>expr</command></term>
435         <listitem>
436           <para>Evaluates expressions</para>
437           <indexterm zone="ch-system-coreutils expr">
438             <primary sortas="b-expr">expr</primary>
439           </indexterm>
440         </listitem>
441       </varlistentry>
443       <varlistentry id="factor">
444         <term><command>factor</command></term>
445         <listitem>
446           <para>Prints the prime factors of all specified integer numbers</para>
447           <indexterm zone="ch-system-coreutils factor">
448             <primary sortas="b-factor">factor</primary>
449           </indexterm>
450         </listitem>
451       </varlistentry>
453       <varlistentry id="false">
454         <term><command>false</command></term>
455         <listitem>
456           <para>Does nothing, unsuccessfully; it always exits with a status code
457           indicating failure</para>
458           <indexterm zone="ch-system-coreutils false">
459             <primary sortas="b-false">false</primary>
460           </indexterm>
461         </listitem>
462       </varlistentry>
464       <varlistentry id="fmt">
465         <term><command>fmt</command></term>
466         <listitem>
467           <para>Reformats the paragraphs in the given files</para>
468           <indexterm zone="ch-system-coreutils fmt">
469             <primary sortas="b-fmt">fmt</primary>
470           </indexterm>
471         </listitem>
472       </varlistentry>
474       <varlistentry id="fold">
475         <term><command>fold</command></term>
476         <listitem>
477           <para>Wraps the lines in the given files</para>
478           <indexterm zone="ch-system-coreutils fold">
479             <primary sortas="b-fold">fold</primary>
480           </indexterm>
481         </listitem>
482       </varlistentry>
484       <varlistentry id="groups">
485         <term><command>groups</command></term>
486         <listitem>
487           <para>Reports a user's group memberships</para>
488           <indexterm zone="ch-system-coreutils groups">
489             <primary sortas="b-groups">groups</primary>
490           </indexterm>
491         </listitem>
492       </varlistentry>
494       <varlistentry id="head">
495         <term><command>head</command></term>
496         <listitem>
497           <para>Prints the first ten lines (or the given number of lines)
498           of each given file</para>
499           <indexterm zone="ch-system-coreutils head">
500             <primary sortas="b-head">head</primary>
501           </indexterm>
502         </listitem>
503       </varlistentry>
505       <varlistentry id="hostid">
506         <term><command>hostid</command></term>
507         <listitem>
508           <para>Reports the numeric identifier (in hexadecimal) of the host</para>
509           <indexterm zone="ch-system-coreutils hostid">
510             <primary sortas="b-hostid">hostid</primary>
511           </indexterm>
512         </listitem>
513       </varlistentry>
515       <varlistentry id="id">
516         <term><command>id</command></term>
517         <listitem>
518           <para>Reports the effective user ID, group ID, and group memberships
519           of the current user or specified user</para>
520           <indexterm zone="ch-system-coreutils id">
521             <primary sortas="b-id">id</primary>
522           </indexterm>
523         </listitem>
524       </varlistentry>
526       <varlistentry id="install">
527         <term><command>install</command> </term>
528         <listitem>
529           <para>Copies files while setting their permission modes and, if
530           possible, their owner and group</para>
531           <indexterm zone="ch-system-coreutils install">
532             <primary sortas="b-install">install</primary>
533           </indexterm>
534         </listitem>
535       </varlistentry>
537       <varlistentry id="join">
538         <term><command>join</command></term>
539         <listitem>
540           <para>Joins the lines that have identical join fields from two
541           separate files</para>
542           <indexterm zone="ch-system-coreutils join">
543             <primary sortas="b-join">join</primary>
544           </indexterm>
545         </listitem>
546       </varlistentry>
548       <varlistentry id="link">
549         <term><command>link</command></term>
550         <listitem>
551           <para>Creates a hard link with the given name to a file</para>
552           <indexterm zone="ch-system-coreutils link">
553             <primary sortas="b-link">link</primary>
554           </indexterm>
555         </listitem>
556       </varlistentry>
558       <varlistentry id="ln">
559         <term><command>ln</command></term>
560         <listitem>
561           <para>Makes hard links or soft (symbolic) links between files</para>
562           <indexterm zone="ch-system-coreutils ln">
563             <primary sortas="b-ln">ln</primary>
564           </indexterm>
565         </listitem>
566       </varlistentry>
568       <varlistentry id="logname">
569         <term><command>logname</command></term>
570         <listitem>
571           <para>Reports the current user's login name</para>
572           <indexterm zone="ch-system-coreutils logname">
573             <primary sortas="b-logname">logname</primary>
574           </indexterm>
575         </listitem>
576       </varlistentry>
578       <varlistentry id="ls">
579         <term><command>ls</command></term>
580         <listitem>
581           <para>Lists the contents of each given directory</para>
582           <indexterm zone="ch-system-coreutils ls">
583             <primary sortas="b-ls">ls</primary>
584           </indexterm>
585         </listitem>
586       </varlistentry>
588       <varlistentry id="md5sum">
589         <term><command>md5sum</command></term>
590         <listitem>
591           <para>Reports or checks Message Digest 5 (MD5) checksums</para>
592           <indexterm zone="ch-system-coreutils md5sum">
593             <primary sortas="b-md5sum">md5sum</primary>
594           </indexterm>
595         </listitem>
596       </varlistentry>
598       <varlistentry id="mkdir">
599         <term><command>mkdir</command></term>
600         <listitem>
601           <para>Creates directories with the given names</para>
602           <indexterm zone="ch-system-coreutils mkdir">
603             <primary sortas="b-mkdir">mkdir</primary>
604           </indexterm>
605         </listitem>
606       </varlistentry>
608       <varlistentry id="mkfifo">
609         <term><command>mkfifo</command></term>
610         <listitem>
611           <para>Creates First-In, First-Outs (FIFOs), a "named
612           pipe" in UNIX parlance, with the given names</para>
613           <indexterm zone="ch-system-coreutils mkfifo">
614             <primary sortas="b-mkfifo">mkfifo</primary>
615           </indexterm>
616         </listitem>
617       </varlistentry>
619       <varlistentry id="mknod">
620         <term><command>mknod</command></term>
621         <listitem>
622           <para>Creates device nodes with the given names; a device node is a
623           character special file, a block special file, or a FIFO</para>
624           <indexterm zone="ch-system-coreutils mknod">
625             <primary sortas="b-mknod">mknod</primary>
626           </indexterm>
627         </listitem>
628       </varlistentry>
630       <varlistentry id="mktemp">
631         <term><command>mktemp</command></term>
632         <listitem>
633           <para>Creates temporary files in a secure manner; it is used in scripts</para>
634         <indexterm zone="ch-system-coreutils mktemp">
635           <primary sortas="b-mktemp">mktemp</primary>
636         </indexterm>
637        </listitem>
638      </varlistentry>
640       <varlistentry id="mv">
641         <term><command>mv</command></term>
642         <listitem>
643           <para>Moves or renames files or directories</para>
644           <indexterm zone="ch-system-coreutils mv">
645             <primary sortas="b-mv">mv</primary>
646           </indexterm>
647         </listitem>
648       </varlistentry>
650       <varlistentry id="nice">
651         <term><command>nice</command></term>
652         <listitem>
653           <para>Runs a program with modified scheduling priority</para>
654           <indexterm zone="ch-system-coreutils nice">
655             <primary sortas="b-nice">nice</primary>
656           </indexterm>
657         </listitem>
658       </varlistentry>
660       <varlistentry id="nl">
661         <term><command>nl</command></term>
662         <listitem>
663           <para>Numbers the lines from the given files</para>
664           <indexterm zone="ch-system-coreutils nl">
665             <primary sortas="b-nl">nl</primary>
666           </indexterm>
667         </listitem>
668       </varlistentry>
670       <varlistentry id="nohup">
671         <term><command>nohup</command></term>
672         <listitem>
673           <para>Runs a command immune to hangups, with its output redirected to
674           a log file</para>
675           <indexterm zone="ch-system-coreutils nohup">
676             <primary sortas="b-nohup">nohup</primary>
677           </indexterm>
678         </listitem>
679       </varlistentry>
681       <varlistentry id="nproc">
682         <term><command>nproc</command></term>
683         <listitem>
684           <para>Prints the number of processing units available to a
685           process</para>
686           <indexterm zone="ch-system-coreutils nproc">
687             <primary sortas="b-nproc">nproc</primary>
688           </indexterm>
689         </listitem>
690       </varlistentry>
692       <varlistentry id="numfmt">
693         <term><command>numfmt</command></term>
694         <listitem>
695           <para>Converts numbers to or from human-readable strings</para>
696           <indexterm zone="ch-system-coreutils numfmt">
697             <primary sortas="b-numfmt">numfmt</primary>
698           </indexterm>
699         </listitem>
700       </varlistentry>
702       <varlistentry id="od">
703         <term><command>od</command></term>
704         <listitem>
705           <para>Dumps files in octal and other formats</para>
706           <indexterm zone="ch-system-coreutils od">
707             <primary sortas="b-od">od</primary>
708           </indexterm>
709         </listitem>
710       </varlistentry>
712       <varlistentry id="paste">
713         <term><command>paste</command></term>
714         <listitem>
715           <para>Merges the given files, joining sequentially corresponding lines
716           side by side, separated by tab characters</para>
717           <indexterm zone="ch-system-coreutils paste">
718             <primary sortas="b-paste">paste</primary>
719           </indexterm>
720         </listitem>
721       </varlistentry>
723       <varlistentry id="pathchk">
724         <term><command>pathchk</command></term>
725         <listitem>
726           <para>Checks if file names are valid or portable</para>
727           <indexterm zone="ch-system-coreutils pathchk">
728             <primary sortas="b-pathchk">pathchk</primary>
729           </indexterm>
730         </listitem>
731       </varlistentry>
733       <varlistentry id="pinky">
734         <term><command>pinky</command></term>
735         <listitem>
736           <para>Is a lightweight finger client; it reports some information
737           about the given users</para>
738           <indexterm zone="ch-system-coreutils pinky">
739             <primary sortas="b-pinky">pinky</primary>
740           </indexterm>
741         </listitem>
742       </varlistentry>
744       <varlistentry id="pr">
745         <term><command>pr</command></term>
746         <listitem>
747           <para>Paginates and columnates files for printing</para>
748           <indexterm zone="ch-system-coreutils pr">
749             <primary sortas="b-pr">pr</primary>
750           </indexterm>
751         </listitem>
752       </varlistentry>
754       <varlistentry id="printenv">
755         <term><command>printenv</command></term>
756         <listitem>
757           <para>Prints the environment</para>
758           <indexterm zone="ch-system-coreutils printenv">
759             <primary sortas="b-printenv">printenv</primary>
760           </indexterm>
761         </listitem>
762       </varlistentry>
764       <varlistentry id="printf">
765         <term><command>printf</command></term>
766         <listitem>
767           <para>Prints the given arguments according to the given format, much
768           like the C printf function</para>
769           <indexterm zone="ch-system-coreutils printf">
770             <primary sortas="b-printf">printf</primary>
771           </indexterm>
772         </listitem>
773       </varlistentry>
775       <varlistentry id="ptx">
776         <term><command>ptx</command></term>
777         <listitem>
778           <para>Produces a permuted index from the contents of the given files,
779           with each keyword in its context</para>
780           <indexterm zone="ch-system-coreutils ptx">
781             <primary sortas="b-ptx">ptx</primary>
782           </indexterm>
783         </listitem>
784       </varlistentry>
786       <varlistentry id="pwd">
787         <term><command>pwd</command></term>
788         <listitem>
789           <para>Reports the name of the current working directory</para>
790           <indexterm zone="ch-system-coreutils pwd">
791             <primary sortas="b-pwd">pwd</primary>
792           </indexterm>
793         </listitem>
794       </varlistentry>
796       <varlistentry id="readlink">
797         <term><command>readlink</command></term>
798         <listitem>
799           <para>Reports the value of the given symbolic link</para>
800           <indexterm zone="ch-system-coreutils readlink">
801             <primary sortas="b-readlink">readlink</primary>
802           </indexterm>
803         </listitem>
804       </varlistentry>
806       <varlistentry id="realpath">
807         <term><command>realpath</command></term>
808         <listitem>
809           <para>Prints the resolved path</para>
810           <indexterm zone="ch-system-coreutils realpath">
811             <primary sortas="b-realpath">realpath</primary>
812           </indexterm>
813         </listitem>
814       </varlistentry>
816       <varlistentry id="rm">
817         <term><command>rm</command></term>
818         <listitem>
819           <para>Removes files or directories</para>
820           <indexterm zone="ch-system-coreutils rm">
821             <primary sortas="b-rm">rm</primary>
822           </indexterm>
823         </listitem>
824       </varlistentry>
826       <varlistentry id="rmdir">
827         <term><command>rmdir</command></term>
828         <listitem>
829           <para>Removes directories if they are empty</para>
830           <indexterm zone="ch-system-coreutils rmdir">
831             <primary sortas="b-rmdir">rmdir</primary>
832           </indexterm>
833         </listitem>
834       </varlistentry>
836       <varlistentry id="runcon">
837         <term><command>runcon</command></term>
838         <listitem>
839           <para>Runs a command with specified security context</para>
840           <indexterm zone="ch-system-coreutils runcon">
841             <primary sortas="b-runcon">runcon</primary>
842           </indexterm>
843         </listitem>
844       </varlistentry>
846       <varlistentry id="seq">
847         <term><command>seq</command></term>
848         <listitem>
849           <para>Prints a sequence of numbers within a given range and with a
850           given increment</para>
851           <indexterm zone="ch-system-coreutils seq">
852             <primary sortas="b-seq">seq</primary>
853           </indexterm>
854         </listitem>
855       </varlistentry>
857       <varlistentry id="sha1sum">
858         <term><command>sha1sum</command></term>
859         <listitem>
860           <para>Prints or checks 160-bit Secure Hash Algorithm 1 (SHA1)
861           checksums</para>
862           <indexterm zone="ch-system-coreutils sha1sum">
863             <primary sortas="b-sha1sum">sha1sum</primary>
864           </indexterm>
865         </listitem>
866       </varlistentry>
868       <varlistentry id="sha224sum">
869         <term><command>sha224sum</command></term>
870         <listitem>
871           <para>Prints or checks 224-bit Secure Hash Algorithm checksums</para>
872           <indexterm zone="ch-system-coreutils sha224sum">
873             <primary sortas="b-sha224sum">sha224sum</primary>
874           </indexterm>
875         </listitem>
876       </varlistentry>
878       <varlistentry id="sha256sum">
879         <term><command>sha256sum</command></term>
880         <listitem>
881           <para>Prints or checks 256-bit Secure Hash Algorithm checksums</para>
882           <indexterm zone="ch-system-coreutils sha256sum">
883             <primary sortas="b-sha256sum">sha256sum</primary>
884           </indexterm>
885         </listitem>
886       </varlistentry>
888       <varlistentry id="sha384sum">
889         <term><command>sha384sum</command></term>
890         <listitem>
891           <para>Prints or checks 384-bit Secure Hash Algorithm checksums</para>
892           <indexterm zone="ch-system-coreutils sha384sum">
893             <primary sortas="b-sha384sum">sha384sum</primary>
894           </indexterm>
895         </listitem>
896       </varlistentry>
898       <varlistentry id="sha512sum">
899         <term><command>sha512sum</command></term>
900         <listitem>
901           <para>Prints or checks 512-bit Secure Hash Algorithm checksums</para>
902           <indexterm zone="ch-system-coreutils sha512sum">
903             <primary sortas="b-sha512sum">sha512sum</primary>
904           </indexterm>
905         </listitem>
906       </varlistentry>
908       <varlistentry id="shred">
909         <term><command>shred</command></term>
910         <listitem>
911           <para>Overwrites the given files repeatedly with complex patterns,
912           making it difficult to recover the data</para>
913           <indexterm zone="ch-system-coreutils shred">
914             <primary sortas="b-shred">shred</primary>
915           </indexterm>
916         </listitem>
917       </varlistentry>
919       <varlistentry id="shuf">
920         <term><command>shuf</command></term>
921         <listitem>
922           <para>Shuffles lines of text</para>
923           <indexterm zone="ch-system-coreutils shuf">
924             <primary sortas="b-shuf">shuf</primary>
925           </indexterm>
926         </listitem>
927       </varlistentry>
929       <varlistentry id="sleep">
930         <term><command>sleep</command></term>
931         <listitem>
932           <para>Pauses for the given amount of time</para>
933           <indexterm zone="ch-system-coreutils sleep">
934             <primary sortas="b-sleep">sleep</primary>
935           </indexterm>
936         </listitem>
937       </varlistentry>
939       <varlistentry id="sort">
940         <term><command>sort</command></term>
941         <listitem>
942           <para>Sorts the lines from the given files</para>
943           <indexterm zone="ch-system-coreutils sort">
944             <primary sortas="b-sort">sort</primary>
945           </indexterm>
946         </listitem>
947       </varlistentry>
949       <varlistentry id="split">
950         <term><command>split</command></term>
951         <listitem>
952           <para>Splits the given file into pieces, by size or by number of
953           lines</para>
954           <indexterm zone="ch-system-coreutils split">
955             <primary sortas="b-split">split</primary>
956           </indexterm>
957         </listitem>
958       </varlistentry>
960       <varlistentry id="stat">
961         <term><command>stat</command></term>
962         <listitem>
963           <para>Displays file or filesystem status</para>
964           <indexterm zone="ch-system-coreutils stat">
965             <primary sortas="b-stat">stat</primary>
966           </indexterm>
967         </listitem>
968       </varlistentry>
970       <varlistentry id="stdbuf">
971         <term><command>stdbuf</command></term>
972         <listitem>
973           <para>Runs commands with altered buffering operations for its standard
974           streams</para>
975           <indexterm zone="ch-system-coreutils stdbuf">
976             <primary sortas="b-stdbuf">stdbuf</primary>
977           </indexterm>
978         </listitem>
979       </varlistentry>
981       <varlistentry id="stty">
982         <term><command>stty</command></term>
983         <listitem>
984           <para>Sets or reports terminal line settings</para>
985           <indexterm zone="ch-system-coreutils stty">
986             <primary sortas="b-stty">stty</primary>
987           </indexterm>
988         </listitem>
989       </varlistentry>
991       <varlistentry id="sum">
992         <term><command>sum</command></term>
993         <listitem>
994           <para>Prints checksum and block counts for each given file</para>
995           <indexterm zone="ch-system-coreutils sum">
996             <primary sortas="b-sum">sum</primary>
997           </indexterm>
998         </listitem>
999       </varlistentry>
1001       <varlistentry id="sync">
1002         <term><command>sync</command></term>
1003         <listitem>
1004           <para>Flushes file system buffers; it forces changed blocks to disk
1005           and updates the super block</para>
1006           <indexterm zone="ch-system-coreutils sync">
1007             <primary sortas="b-sync">sync</primary>
1008           </indexterm>
1009         </listitem>
1010       </varlistentry>
1012       <varlistentry id="tac">
1013         <term><command>tac</command></term>
1014         <listitem>
1015           <para>Concatenates the given files in reverse</para>
1016           <indexterm zone="ch-system-coreutils tac">
1017             <primary sortas="b-tac">tac</primary>
1018           </indexterm>
1019         </listitem>
1020       </varlistentry>
1022       <varlistentry id="tail">
1023         <term><command>tail</command></term>
1024         <listitem>
1025           <para>Prints the last ten lines (or the given number of lines) of each
1026           given file</para>
1027           <indexterm zone="ch-system-coreutils tail">
1028             <primary sortas="b-tail">tail</primary>
1029           </indexterm>
1030         </listitem>
1031       </varlistentry>
1033       <varlistentry id="tee">
1034         <term><command>tee</command></term>
1035         <listitem>
1036           <para>Reads from standard input while writing both to standard output
1037           and to the given files</para>
1038           <indexterm zone="ch-system-coreutils tee">
1039             <primary sortas="b-tee">tee</primary>
1040           </indexterm>
1041         </listitem>
1042       </varlistentry>
1044       <varlistentry id="test">
1045         <term><command>test</command></term>
1046         <listitem>
1047           <para>Compares values and checks file types</para>
1048           <indexterm zone="ch-system-coreutils test">
1049             <primary sortas="b-test">test</primary>
1050           </indexterm>
1051         </listitem>
1052       </varlistentry>
1054       <varlistentry id="timeout">
1055         <term><command>timeout</command></term>
1056         <listitem>
1057           <para>Runs a command with a time limit</para>
1058           <indexterm zone="ch-system-coreutils timeout">
1059             <primary sortas="b-timeout">timeout</primary>
1060           </indexterm>
1061         </listitem>
1062       </varlistentry>
1064       <varlistentry id="touch">
1065         <term><command>touch</command></term>
1066         <listitem>
1067           <para>Changes file timestamps, setting the access and modification
1068           times of the given files to the current time; files that do not exist
1069           are created with zero length</para>
1070           <indexterm zone="ch-system-coreutils touch">
1071             <primary sortas="b-touch">touch</primary>
1072           </indexterm>
1073         </listitem>
1074       </varlistentry>
1076       <varlistentry id="tr">
1077         <term><command>tr</command></term>
1078         <listitem>
1079           <para>Translates, squeezes, and deletes the given characters from
1080           standard input</para>
1081           <indexterm zone="ch-system-coreutils tr">
1082             <primary sortas="b-tr">tr</primary>
1083           </indexterm>
1084         </listitem>
1085       </varlistentry>
1087       <varlistentry id="true">
1088         <term><command>true</command></term>
1089         <listitem>
1090           <para>Does nothing, successfully; it always exits with a status code
1091           indicating success</para>
1092           <indexterm zone="ch-system-coreutils true">
1093             <primary sortas="b-true">true</primary>
1094           </indexterm>
1095         </listitem>
1096       </varlistentry>
1098       <varlistentry id="truncate">
1099         <term><command>truncate</command></term>
1100         <listitem>
1101           <para>Shrinks or expands a file to the specified size</para>
1102           <indexterm zone="ch-system-coreutils truncate">
1103             <primary sortas="b-truncate">truncate</primary>
1104           </indexterm>
1105         </listitem>
1106       </varlistentry>
1108       <varlistentry id="tsort">
1109         <term><command>tsort</command></term>
1110         <listitem>
1111           <para>Performs a topological sort; it writes a completely ordered list
1112           according to the partial ordering in a given file</para>
1113           <indexterm zone="ch-system-coreutils tsort">
1114             <primary sortas="b-tsort">tsort</primary>
1115           </indexterm>
1116         </listitem>
1117       </varlistentry>
1119       <varlistentry id="tty">
1120         <term><command>tty</command></term>
1121         <listitem>
1122           <para>Reports the file name of the terminal connected to standard
1123           input</para>
1124           <indexterm zone="ch-system-coreutils tty">
1125             <primary sortas="b-tty">tty</primary>
1126           </indexterm>
1127         </listitem>
1128       </varlistentry>
1130       <varlistentry id="uname">
1131         <term><command>uname</command></term>
1132         <listitem>
1133           <para>Reports system information</para>
1134           <indexterm zone="ch-system-coreutils uname">
1135             <primary sortas="b-uname">uname</primary>
1136           </indexterm>
1137         </listitem>
1138       </varlistentry>
1140       <varlistentry id="unexpand">
1141         <term><command>unexpand</command></term>
1142         <listitem>
1143           <para>Converts spaces to tabs</para>
1144           <indexterm zone="ch-system-coreutils unexpand">
1145             <primary sortas="b-unexpand">unexpand</primary>
1146           </indexterm>
1147         </listitem>
1148       </varlistentry>
1150       <varlistentry id="uniq">
1151         <term><command>uniq</command></term>
1152         <listitem>
1153           <para>Discards all but one of successive identical lines</para>
1154           <indexterm zone="ch-system-coreutils uniq">
1155             <primary sortas="b-uniq">uniq</primary>
1156           </indexterm>
1157         </listitem>
1158       </varlistentry>
1160       <varlistentry id="unlink">
1161         <term><command>unlink</command></term>
1162         <listitem>
1163           <para>Removes the given file</para>
1164           <indexterm zone="ch-system-coreutils unlink">
1165             <primary sortas="b-unlink">unlink</primary>
1166           </indexterm>
1167         </listitem>
1168       </varlistentry>
1170       <varlistentry id="users">
1171         <term><command>users</command></term>
1172         <listitem>
1173           <para>Reports the names of the users currently logged on</para>
1174           <indexterm zone="ch-system-coreutils users">
1175             <primary sortas="b-users">users</primary>
1176           </indexterm>
1177         </listitem>
1178       </varlistentry>
1180       <varlistentry id="vdir">
1181         <term><command>vdir</command></term>
1182         <listitem>
1183           <para>Is the same as <command>ls -l</command></para>
1184           <indexterm zone="ch-system-coreutils vdir">
1185             <primary sortas="b-vdir">vdir</primary>
1186           </indexterm>
1187         </listitem>
1188       </varlistentry>
1190       <varlistentry id="wc">
1191         <term><command>wc</command></term>
1192         <listitem>
1193           <para>Reports the number of lines, words, and bytes for each given
1194           file, as well as a total line when more than one file is given</para>
1195           <indexterm zone="ch-system-coreutils wc">
1196             <primary sortas="b-wc">wc</primary>
1197           </indexterm>
1198         </listitem>
1199       </varlistentry>
1201       <varlistentry id="who">
1202         <term><command>who</command></term>
1203         <listitem>
1204           <para>Reports who is logged on</para>
1205           <indexterm zone="ch-system-coreutils who">
1206             <primary sortas="b-who">who</primary>
1207           </indexterm>
1208         </listitem>
1209       </varlistentry>
1211       <varlistentry id="whoami">
1212         <term><command>whoami</command></term>
1213         <listitem>
1214           <para>Reports the user name associated with the current effective
1215           user ID</para>
1216           <indexterm zone="ch-system-coreutils whoami">
1217             <primary sortas="b-whoami">whoami</primary>
1218           </indexterm>
1219         </listitem>
1220       </varlistentry>
1222       <varlistentry id="yes">
1223         <term><command>yes</command></term>
1224         <listitem>
1225           <para>Repeatedly outputs <quote>y</quote> or a given string until
1226           killed</para>
1227           <indexterm zone="ch-system-coreutils yes">
1228             <primary sortas="b-yes">yes</primary>
1229           </indexterm>
1230         </listitem>
1231       </varlistentry>
1233       <varlistentry id="libstdbuf">
1234         <term><filename class="libraryfile">libstdbuf</filename></term>
1235         <listitem>
1236           <para>Library used by <command>stdbuf</command></para>
1237           <indexterm zone="ch-system-coreutils libstdbuf">
1238             <primary sortas="c-libstdbuf">libstdbuf</primary>
1239           </indexterm>
1240         </listitem>
1241       </varlistentry>
1243     </variablelist>
1245   </sect2>
1247 </sect1>