source: postlfs/config/profile.xml@ ba0deaad

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since ba0deaad was ba0deaad, checked in by Randy McMurchy <randy@…>, 19 years ago

Minor textual updates to the 'Shell Startup files' and 'System Users and Groups' sections

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4761 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 22.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="postlfs-config-profile" xreflabel="The Bash Shell Startup Files">
9 <?dbhtml filename="profile.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
16 <title>The Bash Shell Startup Files</title>
17
18 <para>The shell program <filename>/bin/bash</filename> (hereafter
19 referred to as just "the shell") uses a collection of startup files to
20 help create an environment. Each file has a specific use and
21 may affect login and interactive environments differently. The files in
22 the <filename class="directory">/etc</filename> directory generally provide
23 global settings. If an equivalent file exists in your home directory it may
24 override the global settings.</para>
25
26 <para>An interactive login shell is started after a successful login, using
27 <filename>/bin/login</filename>, by reading the <filename>/etc/passwd</filename>
28 file. This shell invocation normally reads <filename>/etc/profile</filename>
29 and its private equivalent <filename>~/.bash_profile</filename> upon
30 startup.</para>
31
32 <para>An interactive non-login shell is normally started at the command-line
33 using a shell program (e.g.,
34 <prompt>[prompt]$</prompt><command>/bin/bash</command>) or by the
35 <command>/bin/su</command> command. An interactive non-login shell is also
36 started with a terminal program such as <command>xterm</command> or
37 <command>konsole</command> from within a graphical environment. This type of
38 shell invocation normally copies the parent environment and then reads the
39 user's <filename>~/.bashrc</filename> file for additional startup configuration
40 instructions.</para>
41
42 <para>A non-interactive shell is usually present when a shell script is
43 running. It is non-interactive because it is processing a script and not
44 waiting for user input between commands. For these shell invocations, only
45 the environment inherited from the parent shell is used.</para>
46
47 <para> The file <filename>~/.bash_logout</filename> is not used for an
48 invocation of the shell. It is read and executed when a user exits from an
49 interactive login shell.</para>
50
51 <para>To the standard files, <filename>/etc/bashrc</filename> is called from
52 the user's <filename>~/.bashrc</filename> for system wide initialization of
53 non-login shells.</para>
54
55 <para>For more information see <command>info bash</command> --
56 <emphasis role="strong">Nodes: Bash Startup Files and Interactive
57 Shells</emphasis>.</para>
58
59 <note>
60 <para>Most of the instructions below are used to create files located in
61 the <filename class='directory'>/etc</filename> directory structure which
62 requires you to execute the commands as the
63 <systemitem class='username'>root</systemitem> user. If you elect to create
64 the files in user's home directories instead, you should run the commands
65 as an unprivileged user.</para>
66 </note>
67
68 <sect2 id="etc-profile-profile">
69 <title>/etc/profile</title>
70
71 <indexterm zone="postlfs-config-profile etc-profile-profile">
72 <primary sortas="e-etc-profile">/etc/profile</primary>
73 </indexterm>
74
75 <para>Here is a base <filename>/etc/profile</filename>. This file starts by
76 setting up some helper functions and some basic parameters. It specifies some
77 <command>bash</command> history parameters and, for security purposes,
78 disables keeping a permanent history file for the <systemitem
79 class="username">root</systemitem> user. It also sets a
80 default user prompt. It then calls small, single purpose scripts in the
81 <filename class='directory'>/etc/profile.d</filename> directory to provide most
82 of the initialization.</para>
83
84 <para>For more information on the escape sequences you can use for your prompt
85 (i.e., the <envar>PS1</envar> environment variable) see <command>info
86 bash</command> -- <emphasis role="strong">Node: Printing a
87 Prompt</emphasis>.</para>
88
89<screen role="root"><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
90<literal># Begin /etc/profile
91# Written for Beyond Linux From Scratch
92# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
93# modifications by Dagmar d'Surreal &lt;rivyqntzne@pbzpnfg.arg&gt;
94
95# System wide environment variables and startup programs.
96
97# System wide aliases and functions should go in /etc/bashrc. Personal
98# environment variables and startup programs should go into
99# ~/.bash_profile. Personal aliases and functions should go into
100# ~/.bashrc.
101
102# Functions to help us manage paths. Second argument is the name of the
103# path variable to be modified (default: PATH)
104pathremove () {
105 local IFS=':'
106 local NEWPATH
107 local DIR
108 local PATHVARIABLE=${2:-PATH}
109 for DIR in ${!PATHVARIABLE} ; do
110 if [ "$DIR" != "$1" ] ; then
111 NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
112 fi
113 done
114 export $PATHVARIABLE="$NEWPATH"
115}
116
117pathprepend () {
118 pathremove $1 $2
119 local PATHVARIABLE=${2:-PATH}
120 export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
121}
122
123pathappend () {
124 pathremove $1 $2
125 local PATHVARIABLE=${2:-PATH}
126 export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
127}
128
129
130# Set the initial path
131export PATH=/bin:/usr/bin
132
133if [ $EUID -eq 0 ] ; then
134 pathappend /sbin:/usr/sbin
135 unset HISTFILE
136fi
137
138# Setup some environment variables.
139export HISTSIZE=1000
140export HISTIGNORE="&amp;:[bf]g:exit"
141#export PS1="[\u@\h \w]\\$ "
142export PS1='\u@\h:\w\$ '
143
144for script in /etc/profile.d/*.sh ; do
145 if [ -r $script ] ; then
146 . $script
147 fi
148done
149
150# Now to clean up
151unset pathremove pathprepend pathappend
152
153# End /etc/profile</literal>
154EOF</userinput></screen>
155
156 <sect3 id="etc-profile.d">
157 <title>The /etc/profile.d Directory</title>
158
159 <indexterm zone="postlfs-config-profile etc-profile.d">
160 <primary sortas="e-etc-profile.d">/etc/profile.d</primary>
161 </indexterm>
162
163 <para>Now create the <filename class='directory'>/etc/profile.d</filename>
164 directory, where the individual initialization scripts are placed:</para>
165
166<screen role="root"><userinput>install --directory --mode=0755 --owner=root --group=root /etc/profile.d</userinput></screen>
167
168 </sect3>
169
170 <sect3 id="etc-profile.d-dircolors.sh">
171 <title>/etc/profile.d/dircolors.sh</title>
172
173 <indexterm zone="postlfs-config-profile etc-profile.d-dircolors.sh">
174 <primary sortas="e-etc-profile.d-dircolors.sh">/etc/profile.d/dircolors.sh</primary>
175 </indexterm>
176
177 <para>This script uses the <filename>~/.dircolors</filename> and
178 <filename>/etc/dircolors</filename> files to control the colors of file names in a
179 directory listing. They control colorized output of things like <command>ls
180 --color</command>. The explanation of how to initialize these files is at the
181 end of this section.</para>
182
183<screen role="root"><userinput>cat &gt; /etc/profile.d/dircolors.sh &lt;&lt; "EOF"
184<literal># Setup for /bin/ls to support color, the alias is in /etc/bashrc.
185if [ -f "/etc/dircolors" ] ; then
186 eval $(dircolors -b /etc/dircolors)
187
188 if [ -f "$HOME/.dircolors" ] ; then
189 eval $(dircolors -b $HOME/.dircolors)
190 fi
191fi
192alias ls='ls --color=auto'</literal>
193EOF</userinput></screen>
194
195 </sect3>
196
197 <sect3 id="extrapaths.sh">
198 <title>/etc/profile.d/extrapaths.sh</title>
199
200 <indexterm zone="postlfs-config-profile extrapaths.sh">
201 <primary sortas="e-etc-profile.d-extrapaths.sh">/etc/profile.d/extrapaths.sh</primary>
202 </indexterm>
203
204 <para>This script adds several useful paths to the <envar>PATH</envar> and
205 <envar>PKG_CONFIG_PATH</envar> environment variables. If you want, you
206 can uncomment the last section to put a dot at the end of your path. This will
207 allow executables in the current working directory to be executed without
208 specifiying a ./, however you are warned that this is generally considered a
209 security hazard.</para>
210
211<screen role="root"><userinput>cat &gt; /etc/profile.d/extrapaths.sh &lt;&lt; "EOF"
212<literal>if [ -d /usr/local/lib/pkgconfig ] ; then
213 pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
214fi
215if [ -d /usr/local/bin ]; then
216 pathprepend /usr/local/bin
217fi
218if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then
219 pathprepend /usr/local/sbin
220fi
221for directory in $(find /opt/*/lib/pkgconfig -type d 2>/dev/null); do
222 pathappend $directory PKG_CONFIG_PATH
223done
224for directory in $(find /opt/*/bin -type d 2>/dev/null); do
225 pathappend $directory
226done
227if [ -d ~/bin ]; then
228 pathprepend ~/bin
229fi
230#if [ $EUID -gt 99 ]; then
231# pathappend .
232#fi</literal>
233EOF</userinput></screen>
234
235 </sect3>
236
237 <sect3 id="readline.sh">
238 <title>/etc/profile.d/readline.sh</title>
239
240 <indexterm zone="postlfs-config-profile readline.sh">
241 <primary sortas="e-etc-profile.d-readline.sh">/etc/profile.d/readline.sh</primary>
242 </indexterm>
243
244 <para>This script sets up the default <filename>inputrc</filename>
245 configuration file. If the user does not have individual settings, it uses the
246 global file.</para>
247
248<screen role="root"><userinput>cat &gt; /etc/profile.d/readline.sh &lt;&lt; "EOF"
249<literal># Setup the INPUTRC environment variable.
250if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then
251 INPUTRC=/etc/inputrc
252fi
253export INPUTRC</literal>
254EOF</userinput></screen>
255
256 </sect3>
257
258 <sect3 id="tinker-term.sh">
259 <title>/etc/profile.d/tinker-term.sh</title>
260
261 <indexterm zone="postlfs-config-profile tinker-term.sh">
262 <primary sortas="e-etc-profile.d-tinker-term.sh">/etc/profile.d/tinker-term.sh</primary>
263 </indexterm>
264
265 <para>Some applications need a specific <envar>TERM</envar> setting to
266 support color.</para>
267
268<screen role="root"><userinput>cat &gt; /etc/profile.d/tinker-term.sh &lt;&lt; "EOF"
269<literal># This will tinker with the value of TERM in order to convince certain
270# apps that we can, indeed, display color in their window.
271
272if [ -n "$COLORTERM" ]; then
273 export TERM=xterm-color
274fi
275
276if [ "$TERM" = "xterm" ]; then
277 export TERM=xterm-color
278fi</literal>
279EOF</userinput></screen>
280
281 </sect3>
282
283 <sect3 id="umask.sh">
284 <title>/etc/profile.d/umask.sh</title>
285
286 <indexterm zone="postlfs-config-profile umask.sh">
287 <primary sortas="e-etc-profile.d-umask.sh">/etc/profile.d/umask.sh</primary>
288 </indexterm>
289
290 <para>Setting the <command>umask</command> value is important for security.
291 Here the default group write permissions are turned off for system users and when
292 the user name and group name are not the same.</para>
293
294<screen role="root"><userinput>cat &gt; /etc/profile.d/umask.sh &lt;&lt; "EOF"
295<literal># By default we want the umask to get set.
296if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then
297 umask 002
298else
299 umask 022
300fi</literal>
301EOF</userinput></screen>
302
303 </sect3>
304
305 <sect3 id="X.sh">
306 <title>/etc/profile.d/X.sh</title>
307
308 <indexterm zone="postlfs-config-profile X.sh">
309 <primary sortas="e-etc-profile.d-X.sh">/etc/profile.d/X.sh</primary>
310 </indexterm>
311
312 <para>If <application>X</application> is installed, the <envar>PATH</envar>
313 and <envar>PKG_CONFIG_PATH</envar> variables are also updated.</para>
314
315<screen role="root"><userinput>cat &gt; /etc/profile.d/X.sh &lt;&lt; "EOF"
316<literal>if [ -x /usr/X11R6/bin/X ]; then
317 pathappend /usr/X11R6/bin
318fi
319if [ -d /usr/X11R6/lib/pkgconfig ] ; then
320 pathappend /usr/X11R6/lib/pkgconfig PKG_CONFIG_PATH
321fi</literal>
322EOF</userinput></screen>
323
324 </sect3>
325
326 <sect3 id="extra-prompt.sh">
327 <title>/etc/profile.d/extra-prompt.sh</title>
328
329 <indexterm zone="postlfs-config-profile extra-prompt.sh">
330 <primary sortas="e-etc-profile.d-prompt.sh">/etc/profile.d/extra-prompt.sh</primary>
331 </indexterm>
332
333 <para>This script shows an example of a different way of setting the
334 prompt. The normal variable, <envar>PS1</envar>, is supplemented by
335 <envar>PROMPT_COMMAND</envar>. If set, the value of
336 <envar>PROMPT_COMMAND</envar> is executed as a command prior to issuing
337 each primary prompt. The sequence \e is an ESC character. \a is a
338 BEL character. For a reference on <command>xterm</command> escape
339 sequences, see <ulink
340 url="http://rtfm.etla.org/xterm/ctlseq.html"/>.</para>
341
342<screen role="root"><userinput>cat &gt; /etc/profile.d/extra-prompt.sh &lt;&lt; "EOF"
343<literal>PROMPT_COMMAND="echo -ne '\e[1m${USER}@${HOSTNAME} : ${PWD}\e[0m\a'"
344export PROMPT_COMMAND</literal>
345EOF</userinput></screen>
346
347 <para>The escape sequences above are BOLD, NORMAL, and BEL.</para>
348
349 </sect3>
350
351 <sect3 id="i18n.sh">
352 <title>'/etc/profile.d/i18n.sh'</title>
353
354 <indexterm zone="postlfs-config-profile i18n.sh">
355 <primary sortas="e-etc-profile.d-i18n.sh">/etc/profile.d/i18n.sh</primary>
356 </indexterm>
357
358 <para>This script shows how to set some environment variables necessary for
359 native language support. Setting these variables properly gives you:</para>
360
361 <itemizedlist>
362 <listitem>
363 <para>the output of programs translated into your native language</para>
364 </listitem>
365 <listitem>
366 <para>correct classification of characters into letters, digits and
367 other classes &ndash; this is necessary for <application>Bash</application>
368 to accept keystrokes properly in non-English locales</para>
369 </listitem>
370 <listitem>
371 <para>the alphabetical sorting order correct for your country</para>
372 </listitem>
373 <listitem>
374 <para>proper default paper size</para>
375 </listitem>
376 <listitem>
377 <para>correct formatting of monetary, time and date values</para>
378 </listitem>
379 </itemizedlist>
380
381 <para>Replace <replaceable>[ll]</replaceable> with the two-letter code for
382 your language (e.g., <quote>en</quote>) and
383 <replaceable>[CC]</replaceable> with the two-letter code for your country
384 (e.g., <quote>GB</quote>). Also you may need to specify (and this is actually
385 the preferred form) your character encoding (e.g., <quote>iso8859-1</quote>)
386 after a dot (so that the result is <quote>en_GB.iso8859-1</quote>). Issue the
387 following command for more information:</para>
388
389<screen><userinput>man 3 setlocale</userinput></screen>
390
391 <para>The list of all locales supported by <application>Glibc</application>
392 can be obtained by running the following command:</para>
393
394<screen><userinput>locale -a</userinput></screen>
395
396 <para>After you are sure about your locale settings, create the
397 <filename>/etc/profile.d/i18n.sh</filename> file:</para>
398
399<screen role="root"><userinput>cat &gt; /etc/profile.d/i18n.sh &lt;&lt; "EOF"
400<literal># Set up i18n variables
401export LC_ALL=<replaceable>[ll]</replaceable>_<replaceable>[CC]</replaceable>
402export LANG=<replaceable>[ll]</replaceable>_<replaceable>[CC]</replaceable>
403export G_FILENAME_ENCODING=@locale</literal>
404EOF</userinput></screen>
405
406 <para>The <envar>LC_ALL</envar> variable sets the same value for all locale
407 categories. For better control, you may prefer to set values individually for
408 all categories listed in the output of the <command>locale</command>
409 command.</para>
410
411 <para>The <envar>G_FILENAME_ENCODING</envar> variable tells applications
412 such as <application>Glib</application> and <application>GTK+</application>
413 that filenames are in the default locale encoding and not in UTF-8 as
414 assumed by default.</para>
415
416 </sect3>
417
418 <sect3>
419 <title>Other Initialization Values</title>
420
421 <para>Other initialization can easily be added to the
422 <filename>profile</filename> by adding additional scripts to the
423 <filename class='directory'>/etc/profile.d</filename> directory.</para>
424
425 </sect3>
426
427 </sect2>
428
429 <sect2 id="etc-bashrc-profile">
430 <title>/etc/bashrc</title>
431
432 <indexterm zone="postlfs-config-profile etc-bashrc-profile">
433 <primary sortas="e-etc-bashrc">/etc/bashrc</primary>
434 </indexterm>
435
436 <para>Here is a base <filename>/etc/bashrc</filename>. Comments in the
437 file should explain everything you need.</para>
438
439<screen role="root"><userinput>cat &gt; /etc/bashrc &lt;&lt; "EOF"
440<literal># Begin /etc/bashrc
441# Written for Beyond Linux From Scratch
442# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
443# updated by Bruce Dubbs &lt;bdubbs@linuxfromscratch.org&gt;
444
445# Make sure that the terminal is set up properly for each shell
446
447if [ -f /etc/profile.d/tinker-term.sh ]; then
448 source /etc/profile.d/tinker-term.sh
449fi
450
451# System wide aliases and functions.
452
453# System wide environment variables and startup programs should go into
454# /etc/profile. Personal environment variables and startup programs
455# should go into ~/.bash_profile. Personal aliases and functions should
456# go into ~/.bashrc
457
458# Provides a colored /bin/ls command. Used in conjunction with code in
459# /etc/profile.
460
461alias ls='ls --color=auto'
462
463# Provides prompt for non-login shells, specifically shells started
464# in the X environment. [Review the LFS archive thread titled
465# PS1 Environment Variable for a great case study behind this script
466# addendum.]
467
468#export PS1="[\u@\h \w]\\$ "
469export PS1='\u@\h:\w\$ '
470
471# End /etc/bashrc</literal>
472EOF</userinput></screen>
473
474 </sect2>
475
476 <sect2 id="bash_profile-profile">
477 <title>~/.bash_profile</title>
478
479 <indexterm zone="postlfs-config-profile bash_profile-profile">
480 <primary sortas="e-AA.bash_profile">~/.bash_profile</primary>
481 </indexterm>
482
483 <para>Here is a base <filename>~/.bash_profile</filename>. If you want each
484 new user to have this file automatically, just change the output of
485 the command to <filename>/etc/skel/.bash_profile</filename> and check the
486 permissions after the command is run. You can then copy
487 <filename>/etc/skel/.bash_profile</filename> to the home directories of already
488 existing users, including <systemitem class="username">root</systemitem>,
489 and set the owner and group appropriately.</para>
490
491<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
492<literal># Begin ~/.bash_profile
493# Written for Beyond Linux From Scratch
494# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
495# updated by Bruce Dubbs &lt;bdubbs@linuxfromscratch.org&gt;
496
497# Personal environment variables and startup programs.
498
499# Personal aliases and functions should go in ~/.bashrc. System wide
500# environment variables and startup programs are in /etc/profile.
501# System wide aliases and functions are in /etc/bashrc.
502
503append () {
504 # First remove the directory
505 local IFS=':'
506 local NEWPATH
507 for DIR in $PATH; do
508 if [ "$DIR" != "$1" ]; then
509 NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
510 fi
511 done
512
513 # Then append the directory
514 export PATH=$NEWPATH:$1
515}
516
517if [ -f "$HOME/.bashrc" ] ; then
518 source $HOME/.bashrc
519fi
520
521if [ -d "$HOME/bin" ] ; then
522 append $HOME/bin
523fi
524
525unset append
526
527# End ~/.bash_profile</literal>
528EOF</userinput></screen>
529
530 </sect2>
531
532 <sect2 id="bashrc-profile">
533 <title>~/.bashrc</title>
534
535 <indexterm zone="postlfs-config-profile bashrc-profile">
536 <primary sortas="e-AA.bashrc">~/.bashrc</primary>
537 </indexterm>
538
539 <para>Here is a base <filename>~/.bashrc</filename>. The comments and
540 instructions for using <filename class="directory">/etc/skel</filename> for
541 <filename>.bash_profile</filename> above also apply here. Only the target file
542 names are different.</para>
543
544<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
545<literal># Begin ~/.bashrc
546# Written for Beyond Linux From Scratch
547# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
548
549# Personal aliases and functions.
550
551# Personal environment variables and startup programs should go in
552# ~/.bash_profile. System wide environment variables and startup
553# programs are in /etc/profile. System wide aliases and functions are
554# in /etc/bashrc.
555
556if [ -f "/etc/bashrc" ] ; then
557 source /etc/bashrc
558fi
559
560# End ~/.bashrc</literal>
561EOF</userinput></screen>
562
563 </sect2>
564
565
566 <sect2 id="bash_logout-profile">
567 <title>~/.bash_logout</title>
568
569 <indexterm zone="postlfs-config-profile bash_logout-profile">
570 <primary sortas="e-AA.bash_logout">~/.bash_logout</primary>
571 </indexterm>
572
573 <para>This is an empty <filename>~/.bash_logout</filename> that can be used as
574 a template. You will notice that the base <filename>~/.bash_logout</filename>
575 does not include a <userinput>clear</userinput> command. This is because the
576 clear is handled in the <filename>/etc/issue</filename> file.</para>
577
578<screen><userinput>cat &gt; ~/.bash_logout &lt;&lt; "EOF"
579<literal># Begin ~/.bash_logout
580# Written for Beyond Linux From Scratch
581# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
582
583# Personal items to perform on logout.
584
585# End ~/.bash_logout</literal>
586EOF</userinput></screen>
587
588 </sect2>
589
590
591 <sect2 id="etc-dircolors-profile">
592 <title>/etc/dircolors</title>
593
594 <indexterm zone="postlfs-config-profile etc-dircolors-profile">
595 <primary sortas="e-etc-dircolors">/etc/dircolors</primary>
596 </indexterm>
597
598 <indexterm zone="postlfs-config-profile etc-dircolors-profile">
599 <primary sortas="e-AA.dircolors">~/.dircolors</primary>
600 </indexterm>
601
602 <para> If you want to use the <filename>dircolors</filename> capability, then
603 run the following command. The <filename class="directory">/etc/skel</filename>
604 setup steps shown above also can be used here to provide a
605 <filename>~/.dircolors</filename> file when a new user is set up. As before,
606 just change the output file name on the following command and assure the
607 permissions, owner, and group are correct on the files created and/or
608 copied.</para>
609
610<screen role="root"><userinput>dircolors -p > /etc/dircolors</userinput></screen>
611
612 <para>If you wish to customize the colors used for different file types, you can
613 edit the <filename>/etc/dircolors</filename> file. The instructions for setting
614 the colors are embedded in the file.</para>
615
616
617 <para>Finally, Ian Macdonald has written an excellent collection of tips and
618 tricks to enhance your shell environment. You can read it online at
619 <ulink url="http://www.caliban.org/bash/index.shtml"/>.</para>
620
621 </sect2>
622
623</sect1>
Note: See TracBrowser for help on using the repository browser.