source: postlfs/config/profile-systemd.xml@ baf442b0

systemd-11177
Last change on this file since baf442b0 was f81638e, checked in by Krejzi <krejzi@…>, 10 years ago

Begin merging Christophers work into systemd branch part 1.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@13486 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 19.3 KB
RevLine 
[f8d632ac]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[f8d632ac]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
[78b3cd61]8<sect1 id="postlfs-config-profile" xreflabel="The Bash Shell Startup Files">
[2753b70b]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
[384039a]22 the <filename class="directory">/etc</filename> directory generally provide
[2753b70b]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
[384039a]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
[2753b70b]30 startup.</para>
31
32 <para>An interactive non-login shell is normally started at the command-line
[ba0deaad]33 using a shell program (e.g.,
34 <prompt>[prompt]$</prompt><command>/bin/bash</command>) or by the
[2753b70b]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
[a05dbe6]51 <para>Many distributions use <filename>/etc/bashrc</filename> for system wide
52 initialization of non-login shells. This file is usually called from the
53 user's <filename>~/.bashrc</filename> file and is not built directly into
54 <command>bash</command> itself. This convention is followed in this
55 section.</para>
[2753b70b]56
[384039a]57 <para>For more information see <command>info bash</command> --
[2753b70b]58 <emphasis role="strong">Nodes: Bash Startup Files and Interactive
[ba0deaad]59 Shells</emphasis>.</para>
60
61 <note>
62 <para>Most of the instructions below are used to create files located in
63 the <filename class='directory'>/etc</filename> directory structure which
64 requires you to execute the commands as the
65 <systemitem class='username'>root</systemitem> user. If you elect to create
66 the files in user's home directories instead, you should run the commands
67 as an unprivileged user.</para>
68 </note>
[2753b70b]69
70 <sect2 id="etc-profile-profile">
71 <title>/etc/profile</title>
72
73 <indexterm zone="postlfs-config-profile etc-profile-profile">
74 <primary sortas="e-etc-profile">/etc/profile</primary>
75 </indexterm>
76
77 <para>Here is a base <filename>/etc/profile</filename>. This file starts by
78 setting up some helper functions and some basic parameters. It specifies some
[ba0deaad]79 <command>bash</command> history parameters and, for security purposes,
[384039a]80 disables keeping a permanent history file for the <systemitem
[2753b70b]81 class="username">root</systemitem> user. It also sets a
82 default user prompt. It then calls small, single purpose scripts in the
83 <filename class='directory'>/etc/profile.d</filename> directory to provide most
[ba0deaad]84 of the initialization.</para>
[2753b70b]85
86 <para>For more information on the escape sequences you can use for your prompt
[ba0deaad]87 (i.e., the <envar>PS1</envar> environment variable) see <command>info
[2753b70b]88 bash</command> -- <emphasis role="strong">Node: Printing a
[ba0deaad]89 Prompt</emphasis>.</para>
[2753b70b]90
[8e37798]91<screen role="root"><?dbfo keep-together="auto"?><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
[2753b70b]92<literal># Begin /etc/profile
[b554263]93# Written for Beyond Linux From Scratch
94# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
[1a396398]95# modifications by Dagmar d'Surreal &lt;rivyqntzne@pbzpnfg.arg&gt;
[384039a]96
[b554263]97# System wide environment variables and startup programs.
[384039a]98
[b554263]99# System wide aliases and functions should go in /etc/bashrc. Personal
100# environment variables and startup programs should go into
101# ~/.bash_profile. Personal aliases and functions should go into
102# ~/.bashrc.
[384039a]103
[1a396398]104# Functions to help us manage paths. Second argument is the name of the
105# path variable to be modified (default: PATH)
106pathremove () {
107 local IFS=':'
108 local NEWPATH
109 local DIR
110 local PATHVARIABLE=${2:-PATH}
111 for DIR in ${!PATHVARIABLE} ; do
112 if [ "$DIR" != "$1" ] ; then
113 NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
114 fi
115 done
116 export $PATHVARIABLE="$NEWPATH"
[b554263]117}
[384039a]118
[1a396398]119pathprepend () {
120 pathremove $1 $2
121 local PATHVARIABLE=${2:-PATH}
122 export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
123}
[384039a]124
[1a396398]125pathappend () {
126 pathremove $1 $2
127 local PATHVARIABLE=${2:-PATH}
128 export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
129}
[384039a]130
[ec7940be]131export -f pathremove pathprepend pathappend
[e9ef7b5e]132
133# Set the initial path
134export PATH=/bin:/usr/bin
135
[1a396398]136if [ $EUID -eq 0 ] ; then
[e9ef7b5e]137 pathappend /sbin:/usr/sbin
[1a396398]138 unset HISTFILE
[b554263]139fi
[384039a]140
[1a396398]141# Setup some environment variables.
142export HISTSIZE=1000
143export HISTIGNORE="&amp;:[bf]g:exit"
[0d7ec6f1]144
[97c713e]145# Set some defaults for graphical systems
146export XDG_DATA_DIRS=/usr/share
147
[410e228b]148# Setup a red prompt for root and a green one for users.
[0d7ec6f1]149NORMAL="\[\e[0m\]"
150RED="\[\e[1;31m\]"
151GREEN="\[\e[1;32m\]"
152if [[ $EUID == 0 ]] ; then
153 PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
154else
155 PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
156fi
[384039a]157
[1a396398]158for script in /etc/profile.d/*.sh ; do
[d3880c0]159 if [ -r $script ] ; then
[1a396398]160 . $script
161 fi
162done
[384039a]163
[2753b70b]164# End /etc/profile</literal>
165EOF</userinput></screen>
[1a396398]166
[2753b70b]167 <sect3 id="etc-profile.d">
168 <title>The /etc/profile.d Directory</title>
[99e8a229]169
[2753b70b]170 <indexterm zone="postlfs-config-profile etc-profile.d">
171 <primary sortas="e-etc-profile.d">/etc/profile.d</primary>
172 </indexterm>
[1a396398]173
[384039a]174 <para>Now create the <filename class='directory'>/etc/profile.d</filename>
[ba0deaad]175 directory, where the individual initialization scripts are placed:</para>
[1a396398]176
[2753b70b]177<screen role="root"><userinput>install --directory --mode=0755 --owner=root --group=root /etc/profile.d</userinput></screen>
[1a396398]178
[2753b70b]179 </sect3>
[1a396398]180
[2753b70b]181 <sect3 id="etc-profile.d-dircolors.sh">
182 <title>/etc/profile.d/dircolors.sh</title>
183
184 <indexterm zone="postlfs-config-profile etc-profile.d-dircolors.sh">
185 <primary sortas="e-etc-profile.d-dircolors.sh">/etc/profile.d/dircolors.sh</primary>
186 </indexterm>
187
188 <para>This script uses the <filename>~/.dircolors</filename> and
189 <filename>/etc/dircolors</filename> files to control the colors of file names in a
190 directory listing. They control colorized output of things like <command>ls
[ba0deaad]191 --color</command>. The explanation of how to initialize these files is at the
[2753b70b]192 end of this section.</para>
193
194<screen role="root"><userinput>cat &gt; /etc/profile.d/dircolors.sh &lt;&lt; "EOF"
[b5905ae]195<literal># Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
[1a396398]196if [ -f "/etc/dircolors" ] ; then
197 eval $(dircolors -b /etc/dircolors)
[384039a]198
[1a396398]199 if [ -f "$HOME/.dircolors" ] ; then
200 eval $(dircolors -b $HOME/.dircolors)
201 fi
[b554263]202fi
[b5905ae]203alias ls='ls --color=auto'
204alias grep='grep --color=auto'</literal>
[2753b70b]205EOF</userinput></screen>
206
207 </sect3>
208
209 <sect3 id="extrapaths.sh">
210 <title>/etc/profile.d/extrapaths.sh</title>
211
212 <indexterm zone="postlfs-config-profile extrapaths.sh">
213 <primary sortas="e-etc-profile.d-extrapaths.sh">/etc/profile.d/extrapaths.sh</primary>
214 </indexterm>
215
216 <para>This script adds several useful paths to the <envar>PATH</envar> and
[384039a]217 <envar>PKG_CONFIG_PATH</envar> environment variables. If you want, you
218 can uncomment the last section to put a dot at the end of your path. This will
219 allow executables in the current working directory to be executed without
[104733c]220 specifying a ./, however you are warned that this is generally considered a
[2753b70b]221 security hazard.</para>
[384039a]222
[2753b70b]223<screen role="root"><userinput>cat &gt; /etc/profile.d/extrapaths.sh &lt;&lt; "EOF"
224<literal>if [ -d /usr/local/lib/pkgconfig ] ; then
[1a396398]225 pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
226fi
227if [ -d /usr/local/bin ]; then
228 pathprepend /usr/local/bin
[b554263]229fi
[1a396398]230if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then
231 pathprepend /usr/local/sbin
232fi
[d56adcc]233
[1a396398]234if [ -d ~/bin ]; then
235 pathprepend ~/bin
236fi
237#if [ $EUID -gt 99 ]; then
238# pathappend .
[2753b70b]239#fi</literal>
240EOF</userinput></screen>
241
242 </sect3>
243
244 <sect3 id="readline.sh">
245 <title>/etc/profile.d/readline.sh</title>
246
247 <indexterm zone="postlfs-config-profile readline.sh">
248 <primary sortas="e-etc-profile.d-readline.sh">/etc/profile.d/readline.sh</primary>
249 </indexterm>
250
[384039a]251 <para>This script sets up the default <filename>inputrc</filename>
252 configuration file. If the user does not have individual settings, it uses the
[2753b70b]253 global file.</para>
254
255<screen role="root"><userinput>cat &gt; /etc/profile.d/readline.sh &lt;&lt; "EOF"
256<literal># Setup the INPUTRC environment variable.
[b554263]257if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then
[1a396398]258 INPUTRC=/etc/inputrc
[b554263]259fi
[2753b70b]260export INPUTRC</literal>
261EOF</userinput></screen>
262
263 </sect3>
264
265 <sect3 id="umask.sh">
266 <title>/etc/profile.d/umask.sh</title>
267
268 <indexterm zone="postlfs-config-profile umask.sh">
269 <primary sortas="e-etc-profile.d-umask.sh">/etc/profile.d/umask.sh</primary>
270 </indexterm>
[384039a]271
272 <para>Setting the <command>umask</command> value is important for security.
273 Here the default group write permissions are turned off for system users and when
[2753b70b]274 the user name and group name are not the same.</para>
[b554263]275
[2753b70b]276<screen role="root"><userinput>cat &gt; /etc/profile.d/umask.sh &lt;&lt; "EOF"
[ec64d28]277<literal># By default, the umask should be set.
[1a396398]278if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then
279 umask 002
280else
281 umask 022
[2753b70b]282fi</literal>
283EOF</userinput></screen>
284
285 </sect3>
286
[be409f9a]287<!-- This is handled in the Xorg section of the book
[2753b70b]288 <sect3 id="X.sh">
289 <title>/etc/profile.d/X.sh</title>
[1a396398]290
[2753b70b]291 <indexterm zone="postlfs-config-profile X.sh">
292 <primary sortas="e-etc-profile.d-X.sh">/etc/profile.d/X.sh</primary>
293 </indexterm>
[1a396398]294
[384039a]295 <para>If <application>X</application> is installed, the <envar>PATH</envar>
[2753b70b]296 and <envar>PKG_CONFIG_PATH</envar> variables are also updated.</para>
[1a396398]297
[2753b70b]298<screen role="root"><userinput>cat &gt; /etc/profile.d/X.sh &lt;&lt; "EOF"
299<literal>if [ -x /usr/X11R6/bin/X ]; then
[1a396398]300 pathappend /usr/X11R6/bin
301fi
302if [ -d /usr/X11R6/lib/pkgconfig ] ; then
303 pathappend /usr/X11R6/lib/pkgconfig PKG_CONFIG_PATH
[2753b70b]304fi</literal>
305EOF</userinput></screen>
306
307 </sect3>
[be409f9a]308-->
[2753b70b]309 <sect3 id="i18n.sh">
[0d7ec6f1]310 <title>/etc/profile.d/i18n.sh</title>
[2753b70b]311
312 <indexterm zone="postlfs-config-profile i18n.sh">
313 <primary sortas="e-etc-profile.d-i18n.sh">/etc/profile.d/i18n.sh</primary>
314 </indexterm>
315
[f81638e]316 <para>This script sets environment variables necessary for
317 native language support.</para>
[2753b70b]318
319<screen role="root"><userinput>cat &gt; /etc/profile.d/i18n.sh &lt;&lt; "EOF"
[f81638e]320<literal># Begin /etc/profile.d/i18n.sh
321
322unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES \
323 LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
324
325if [ -n "$XDG_CONFIG_HOME" ] &amp;&amp; [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
326 . "$XDG_CONFIG_HOME/locale.conf"
327elif [ -r /etc/locale.conf ]; then
328 . /etc/locale.conf
329fi
330
331export LANG="${LANG:-C}"
332[ -n "$LC_CTYPE" ] &amp;&amp; export LC_CTYPE
333[ -n "$LC_NUMERIC" ] &amp;&amp; export LC_NUMERIC
334[ -n "$LC_TIME" ] &amp;&amp; export LC_TIME
335[ -n "$LC_COLLATE" ] &amp;&amp; export LC_COLLATE
336[ -n "$LC_MONETARY" ] &amp;&amp; export LC_MONETARY
337[ -n "$LC_MESSAGES" ] &amp;&amp; export LC_MESSAGES
338[ -n "$LC_PAPER" ] &amp;&amp; export LC_PAPER
339[ -n "$LC_NAME" ] &amp;&amp; export LC_NAME
340[ -n "$LC_ADDRESS" ] &amp;&amp; export LC_ADDRESS
341[ -n "$LC_TELEPHONE" ] &amp;&amp; export LC_TELEPHONE
342[ -n "$LC_MEASUREMENT" ] &amp;&amp; export LC_MEASUREMENT
343[ -n "$LC_IDENTIFICATION" ] &amp;&amp; export LC_IDENTIFICATION
344
345# End /etc/profile.d/i18n.sh</literal>
[2753b70b]346EOF</userinput></screen>
347
348 </sect3>
349
350 <sect3>
351 <title>Other Initialization Values</title>
352
[384039a]353 <para>Other initialization can easily be added to the
354 <filename>profile</filename> by adding additional scripts to the
[2753b70b]355 <filename class='directory'>/etc/profile.d</filename> directory.</para>
356
357 </sect3>
358
359 </sect2>
360
361 <sect2 id="etc-bashrc-profile">
362 <title>/etc/bashrc</title>
363
364 <indexterm zone="postlfs-config-profile etc-bashrc-profile">
365 <primary sortas="e-etc-bashrc">/etc/bashrc</primary>
366 </indexterm>
367
368 <para>Here is a base <filename>/etc/bashrc</filename>. Comments in the
369 file should explain everything you need.</para>
370
371<screen role="root"><userinput>cat &gt; /etc/bashrc &lt;&lt; "EOF"
[384039a]372<literal># Begin /etc/bashrc
373# Written for Beyond Linux From Scratch
[b554263]374# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
[4e88613]375# updated by Bruce Dubbs &lt;bdubbs@&lfs-domainname;&gt;
[ad33bab6]376
[b554263]377# System wide aliases and functions.
378
379# System wide environment variables and startup programs should go into
380# /etc/profile. Personal environment variables and startup programs
381# should go into ~/.bash_profile. Personal aliases and functions should
382# go into ~/.bashrc
383
[b5905ae]384# Provides colored /bin/ls and /bin/grep commands. Used in conjunction
385# with code in /etc/profile.
[1a396398]386
[b554263]387alias ls='ls --color=auto'
[b5905ae]388alias grep='grep --color=auto'
[b554263]389
[1a396398]390# Provides prompt for non-login shells, specifically shells started
[2753b70b]391# in the X environment. [Review the LFS archive thread titled
[384039a]392# PS1 Environment Variable for a great case study behind this script
[dd362e5]393# addendum.]
[1a396398]394
[0d7ec6f1]395NORMAL="\[\e[0m\]"
396RED="\[\e[1;31m\]"
397GREEN="\[\e[1;32m\]"
398if [[ $EUID == 0 ]] ; then
399 PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
400else
401 PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
402fi
[28a9992]403
[2753b70b]404# End /etc/bashrc</literal>
405EOF</userinput></screen>
406
407 </sect2>
408
409 <sect2 id="bash_profile-profile">
410 <title>~/.bash_profile</title>
411
412 <indexterm zone="postlfs-config-profile bash_profile-profile">
413 <primary sortas="e-AA.bash_profile">~/.bash_profile</primary>
414 </indexterm>
415
416 <para>Here is a base <filename>~/.bash_profile</filename>. If you want each
417 new user to have this file automatically, just change the output of
418 the command to <filename>/etc/skel/.bash_profile</filename> and check the
419 permissions after the command is run. You can then copy
420 <filename>/etc/skel/.bash_profile</filename> to the home directories of already
[384039a]421 existing users, including <systemitem class="username">root</systemitem>,
[2753b70b]422 and set the owner and group appropriately.</para>
423
424<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
425<literal># Begin ~/.bash_profile
[b554263]426# Written for Beyond Linux From Scratch
427# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
[4e88613]428# updated by Bruce Dubbs &lt;bdubbs@&lfs-domainname;&gt;
[b554263]429
[64d97b7c]430# Personal environment variables and startup programs.
[b554263]431
432# Personal aliases and functions should go in ~/.bashrc. System wide
433# environment variables and startup programs are in /etc/profile.
434# System wide aliases and functions are in /etc/bashrc.
435
[1a396398]436append () {
437 # First remove the directory
438 local IFS=':'
439 local NEWPATH
440 for DIR in $PATH; do
441 if [ "$DIR" != "$1" ]; then
[3f1b51a]442 NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
[384039a]443 fi
[1a396398]444 done
[384039a]445
[1a396398]446 # Then append the directory
447 export PATH=$NEWPATH:$1
448}
449
[b554263]450if [ -f "$HOME/.bashrc" ] ; then
[76d61ba]451 source $HOME/.bashrc
[b554263]452fi
453
454if [ -d "$HOME/bin" ] ; then
[384039a]455 append $HOME/bin
[b554263]456fi
457
[1a396398]458unset append
[b554263]459
[2753b70b]460# End ~/.bash_profile</literal>
461EOF</userinput></screen>
462
463 </sect2>
[384039a]464
[2753b70b]465 <sect2 id="bashrc-profile">
466 <title>~/.bashrc</title>
467
468 <indexterm zone="postlfs-config-profile bashrc-profile">
469 <primary sortas="e-AA.bashrc">~/.bashrc</primary>
470 </indexterm>
471
472 <para>Here is a base <filename>~/.bashrc</filename>. The comments and
473 instructions for using <filename class="directory">/etc/skel</filename> for
474 <filename>.bash_profile</filename> above also apply here. Only the target file
475 names are different.</para>
476
477<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
478<literal># Begin ~/.bashrc
[b554263]479# Written for Beyond Linux From Scratch
480# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
481
482# Personal aliases and functions.
483
484# Personal environment variables and startup programs should go in
[64d97b7c]485# ~/.bash_profile. System wide environment variables and startup
[b554263]486# programs are in /etc/profile. System wide aliases and functions are
[384039a]487# in /etc/bashrc.
[b554263]488
489if [ -f "/etc/bashrc" ] ; then
[76d61ba]490 source /etc/bashrc
[b554263]491fi
492
[2753b70b]493# End ~/.bashrc</literal>
494EOF</userinput></screen>
495
496 </sect2>
[384039a]497
498
[2753b70b]499 <sect2 id="bash_logout-profile">
500 <title>~/.bash_logout</title>
501
502 <indexterm zone="postlfs-config-profile bash_logout-profile">
503 <primary sortas="e-AA.bash_logout">~/.bash_logout</primary>
504 </indexterm>
505
506 <para>This is an empty <filename>~/.bash_logout</filename> that can be used as
507 a template. You will notice that the base <filename>~/.bash_logout</filename>
508 does not include a <userinput>clear</userinput> command. This is because the
509 clear is handled in the <filename>/etc/issue</filename> file.</para>
510
511<screen><userinput>cat &gt; ~/.bash_logout &lt;&lt; "EOF"
512<literal># Begin ~/.bash_logout
[b554263]513# Written for Beyond Linux From Scratch
514# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
515
516# Personal items to perform on logout.
517
[2753b70b]518# End ~/.bash_logout</literal>
519EOF</userinput></screen>
520
521 </sect2>
[384039a]522
523
[2753b70b]524 <sect2 id="etc-dircolors-profile">
525 <title>/etc/dircolors</title>
526
527 <indexterm zone="postlfs-config-profile etc-dircolors-profile">
528 <primary sortas="e-etc-dircolors">/etc/dircolors</primary>
529 </indexterm>
530
531 <indexterm zone="postlfs-config-profile etc-dircolors-profile">
532 <primary sortas="e-AA.dircolors">~/.dircolors</primary>
533 </indexterm>
534
535 <para> If you want to use the <filename>dircolors</filename> capability, then
536 run the following command. The <filename class="directory">/etc/skel</filename>
[ba0deaad]537 setup steps shown above also can be used here to provide a
[384039a]538 <filename>~/.dircolors</filename> file when a new user is set up. As before,
[2753b70b]539 just change the output file name on the following command and assure the
[384039a]540 permissions, owner, and group are correct on the files created and/or
[2753b70b]541 copied.</para>
542
543<screen role="root"><userinput>dircolors -p > /etc/dircolors</userinput></screen>
544
545 <para>If you wish to customize the colors used for different file types, you can
[384039a]546 edit the <filename>/etc/dircolors</filename> file. The instructions for setting
[2753b70b]547 the colors are embedded in the file.</para>
548
549
550 <para>Finally, Ian Macdonald has written an excellent collection of tips and
551 tricks to enhance your shell environment. You can read it online at
[ba0deaad]552 <ulink url="http://www.caliban.org/bash/index.shtml"/>.</para>
[2753b70b]553
554 </sect2>
555
[b554263]556</sect1>
Note: See TracBrowser for help on using the repository browser.