Directories

Information that is needed by several different files or functions is collected into a header file. A header file contains C-language definitions and structures. Centralizing information into a header file facilitates the creation and update of programs. Because #include statements are used to insert header files into a C-language program, header files are often referred to as include files.

Because directories often contain information that should not be available to all users of the system, directory access can be protected. See File ownership and user groups in Operating system and device management for more information.

Understanding Types of Directories

Directories can be defined by the system or the system administrator, or you can define your own directories. The system-defined directories contain specific kinds of system files, such as commands. At the top of the file system hierarchy is the system-defined root directory. The root directory is represented by a / (slash) and usually contains the following standard system-related directories:

Item Description
/admin Filesystem created by the root user at system installation. This filesystem is used for root privilege process for temporary space for security. The /admin filesystem is defined on the implemented /dev/hd11admin system logical volume. The discretionary access control mode of the /admin filesystem is 755. Only the root user can write the /admin directory.
/admin/tmp Root directory used by several root privilege processes to write temporary files. A root privileged process is a process that is started by a command with the setuid or setgid parameter, by a binary, or by a script with root system ownership. The discretionary access control mode of the /admin/tmp directory is 755. Only root users can write the /admin/tmp directory.
/bin Symbolic link to the /usr/bin directory. In prior UNIX file systems, the /bin directory contained user commands that now reside in /usr/bin in the new file structure.
/dev Contains device nodes for special files for local devices. The /dev directory contains special files for tape drives, printers, disk partitions, and terminals.
/etc Contains configuration files that vary for each machine. Examples include:
  • /etc/hosts
  • /etc/passwd

The /etc directory contains the files generally used in system administration. Most of the commands that used to reside in the /etc directory now reside in the /usr/sbin directory. However, for compatibility, it contains symbolic links to the new locations of some executable files. Examples include:

  • /etc/chown is a symbolic link to the /usr/bin/chown.
  • /etc/exportvg is a symbolic link to the /usr/sbin/exportvg.
/export Contains the directories and files on a server that are for remote clients.
/home Serves as a mount point for a file system containing user home directories. The /home file system contains per-user files and directories.

In a standalone machine, a separate local file system is mounted over the /home directory. In a network, a server might contain user files that should be accessible from several machines. In this case, the server's copy of the /home directory is remotely mounted onto a local /home file system.

/lib Symbolic link to the /usr/lib directory, which contains architecture-independent libraries with names in the form lib*.a.
/proc/sys Files in /proc/sys are used internally for kernel tuning and statistics gathering.
/sbin Contains files needed to boot the machine and mount the /usr file system. Most of the commands used during booting come from the boot image's RAM disk file system; therefore, very few commands reside in the /sbin directory.
/tmp Serves as a mount point for a file system that contains system-generated temporary files.
/u Symbolic link to the /home directory.
/usr Serves as a mount point for a file system containing files that do not change and can be shared by machines (such as executables and ASCII documentation).

Standalone machines mount a separate local file system over the /usr directory. Diskless and disk-poor machines mount a directory from a remote server over the /usr file system.

/var Serves as a mount point for files that vary on each machine. The /var file system is configured as a file system since the files it contains tend to grow. For example, it is a symbolic link to the /usr/tmp directory, which contains temporary work files.

Some directories, such as your login or home directory ($HOME), are defined and customized by the system administrator. When you log in to the operating system, the login directory is the current directory. If you change directories using the cd command without specifying a directory name, the login directory becomes the current directory.