Unix/Linux Directory Structure

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Unix/Linux Directory Structure
# 1  
Old 10-25-2001
Question Unix/Linux Directory Structure

Does anyone know of a good Internet source that explains the directory structure of Unix/Linux??


# 2  
Old 10-25-2001
Ok let's have a look !!

1) "/bin" - contains essential system commands and programs (in machine-readable format, or "binary" format, which is what "bin" stands for), such as "ls," "cp" (used to copy files), "mv" (used to move files to a different location), and so on. It also contains "bash," which is most likely the shell you are currently using. The shell is a program that allows you to issue commands to the operating system and view their output. When you are working in a terminal window, you are using the shell.

2) "/boot" - contains files necessary for booting the system. If you're not familiar with this term, it describes the process of starting the system when it is powered on or restarted. During this process, a number of things happen. These might include checking the integrity of your disks, detecting hardware and getting it ready for use by the system, and starting essential programs that help to keep the system running. Also, the kernel (the "guts" of your system) may be stored in "/boot".

3) "/dev" - contains files which represent system devices, such as your hard disks, serial ports, mouse, etc. For example, "/dev/hda" represents the first IDE device on your system, usually your hard drive. If this sounds confusing, don't worry -- understanding what is in this directory is the most important part.

4) "/etc" - contains essential system-wide configuration files. When administering your system, you'll frequently be editing files in this directory. They control many system services and settings. Some examples of files in this directory are "/etc/resolv.conf" (contains your nameserver information) and "/etc/fstab" (a table of devices or directories that hold data and need to be accessed by the system, such as your hard drive or a CD-ROM drive). Program-specific configuration files may be here as well, and are usually identified by the letters "rc" at the end of the filename, for "run commands." An example of this might be "/etc/vimrc" (a system-wide configuration file for the vim text editor).

5) "/home" - contains the home directories for all regular users. A home directory is where a user generally stores personal files. For example, if your username is "tom," then your home directory is "/home/tom." A convenient shortcut for referring to your home directory is "~/" (a tilde, followed by a forward slash). So, for the user "tom," "~/mp3/moby.mp3" actually refers to the file "/home/tom/mp3/moby.mp3".

6) "/lib" - contains system libraries. Libraries are files that contain program code that is common to several applications. For example, a common thing that a program might need to do is write out to a file somewhere on disk. Rather than have to include that code in every program they write, programmers can simply point to a specific library which contains that functionality. Libraries help to keep programs smaller, more efficient, and easier to maintain. Another thing you'll find in this directory, under "/lib/modules/(kernel-version)" are your kernel modules. Modules usually serve as device drivers -- that is, they provide the necessary interface for "talking" to your system hardware, such as a network card or a SCSI CD-ROM drive.

7) "/mnt" - contains "mount points," which are the locations you would use to access files on various different media such as floppies or CD-ROMs. For example, "/mnt/floppy" would be where you would usually access your floppy. All this is defined by the "/etc/fstab" file mentioned above.

8) "/proc" - contains files with system information. For example, "/proc/cpuinfo" has information about your computer's processor, and "/proc/modules" lists which kernel modules are currently loaded in the system.

9) "/root" - contains the "root" user's home directory.

10) "/sbin" - contains commands used by the superuser ("root") for system administration. These include commands such as "shutdown" (used to shutdown or reboot the system) and fsck (a tool for checking and repairing the data on your hard disk, similar to "scandisk" on Windows).

11) "/tmp" - a place to put temporary files. Applications use this directory often, which can be accessed by all users on the system.

12) "/usr" - contains a number of important subdirectories. "/usr/bin" contains the bulk of the programs on your system. "/usr/sbin" contains important commands for system administration that are not already in "/sbin." So, why the difference between "/bin" and "/usr/bin", or "/sbin" and "/usr/sbin"? Well, "/bin" and "/sbin" should contain all the commands necessary for getting the system up and running, without being connected to the network. This allows "/usr" to actually be located on another computer on the network, and remotely accessed. Now, let's take a look at the rest of the "/usr" subdirectories. "/usr/lib" contains more system libraries, (as discussed above). "/usr/include" contains additional common pieces of code, similar to libraries, but used when compiling software. Compiling software is the process of taking "source code" (the human-readable instructions written by programmers using a programming language, such as C), and using a special program called a "compiler" to create a file that can be understood by the computer, called a binary file. "/usr/src" contains source code stored on the system (such as the Linux kernel source, or source code that you may have downloaded so that you can compile a program by hand). Finally, "/usr/local" contains programs and data files that have been added locally to the system, and are intended to be kept separate from the main system directories.

13) "/var" - contains administrative files (such as system logs), and data that changes frequently (such as incoming mail and news).
# 3  
Old 10-25-2001

WOW!! Thanks a lot. That helps me out a lot.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Create Directory structure

Hello ; ) again Now I have my file like this : DIR2/DIR3 DIR2 DIR2/DIR3/DIR4/DIR5 I am looking for help to create a loop that will create the directory structure. I need something like this : If "DIR2" does not exist > Create IF "DIR2" exist already > check if onther "DIR"... (5 Replies)
Discussion started by: Aswex
5 Replies

2. Shell Programming and Scripting

printing a directory structure

Hey everyone I am just trying print a directory structure but I am not getting the desired output. I am using AIX. Script : input file contains : TNP\\ECOM\\test\\1 input_file=folders.txt cat $input_file | while read line do echo $line done (3 Replies)
Discussion started by: rocker_me2002
3 Replies

3. UNIX for Dummies Questions & Answers

Linux Server Network Settings - Share Directory Structure

Hello Unix Gurus Who I Hope Reads This, I have quasi-inherited control over a Linux cluster at a university research lab. The post-doc that set it up is gone, and the person in charge of administering the cluster doesn't know a ton about Linux. Amongst other things, I want to use the cluster... (0 Replies)
Discussion started by: mbl
0 Replies

4. UNIX for Dummies Questions & Answers

Tree directory structure of Unix to get final node path

Hi, I want to list all the last directories from mentioned base path. for eg: If i have a base path say /base/base1/ How can i get the path till last node in tree like directory structure of unix by applying any command. so that i will get following output. ... (7 Replies)
Discussion started by: Shiv@jad
7 Replies

5. UNIX for Dummies Questions & Answers

Directory Structure

Hi... I have a directory which has multiple directories and sub directories inside... what command should i use to get a list of all these directories, without the filenames.... (2 Replies)
Discussion started by: saharookiedba
2 Replies

6. Shell Programming and Scripting

stop unix find on a directory structure after finding 1st occurrence

Hi, Has anyone tried to restrict Solaris 10 unix find on a large directory structure based on time to stop running after finding the first occurrence of a matching query. Basically I'm trying to build up a usage map of user workspaces based on file modification (week/month/3 months/year etc) and... (3 Replies)
Discussion started by: jm0221
3 Replies

7. Shell Programming and Scripting

Need help in Directory Structure

I have writen the following code to show the dirctory structure. Can any body help me for using the recursive function in this code? echo "-(0)" echo "$HOME-(1)" cd ~ set * for i in `ls $HOME` do if then echo ".....${i}" cd... (5 Replies)
Discussion started by: murtaza
5 Replies

8. UNIX for Advanced & Expert Users

MV files from one directory structure(multiple level) to other directory structure

Hi, I am trying to write a script that will move all the files from source directory structure(multiple levels might exist) to destination directory structure. If a sub folder is source doesnot exist in destination then I have to skip and goto next level. I also need to delete the files in... (4 Replies)
Discussion started by: srmadab
4 Replies

9. UNIX for Dummies Questions & Answers

Copying a Directory Structure to a new structure

Hi all Is it possible to copy a structure of a directory only. e.g. I have a file with the following entries that is a result of a find :- /dir1/dir2/file.dbf /dir1/dir2/dir3/file1.dbf /dir1/file.dbf I want to copy these to a directory and keep the structure however starting at a new dir... (8 Replies)
Discussion started by: jhansrod
8 Replies
Login or Register to Ask a Question