Typically, initialisation files are shell scripts known as ``run command'' (rc) files. Different shells often have different rc files which they run. These files typically do things like set or adjust the $PATH, $MANPATH (for finding man pages), $TERM (for defining the terminal) and setting the umask.
The umask is a way of setting the default permissions that apply to any file you create. Shell permissions are best thought of as a 3 digit, base 8 (octal) number. The umask is 777 minus whatever you want for default permissions (no, I don't know why it is backwards). If you want your files to have default permissions of read (4), write (2) for owner; read (4) for members of the same group; and none for everyone else, the umask would be:
umask = 777 - 640 = 137This is probably a pretty safe value for most people to use as a umask (137).
The Bourne shell (sh), if invoked in a ``magic'' way during login, will read a system wide file called /etc/profile and then it will read a file in the users home directory called $HOME/.profile. Users should ``customize'' their run-time environment by editing $HOME/.profile.
The C shell (csh) will read the system-wide file /etc/login and the following 2 personal files: $HOME/.login and $HOME/.cshrc. As with the Bourne shell and the two profile files, the file login files are only read on logging in. The cshrc file(s) are read when starting a csh at any time.
The Korn shell (ksh) uses the same files as the Bourne shell does, and the TC shell (tcsh) uses the same files as csh.
The Bourne Again shell (bash) uses the same files as the Bourne shell, and adds a file called bashrc.
The system administrator (or the person(s) who assembled the Linux distribution you are using) often have a set of default initialisation files which are copied to a users home directory when the account is first made. These files are found in /etc/skel/.