Penguin
Diff: FileSystemHierarchy
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of FileSystemHierarchy.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 16 Last edited on Thursday, October 6, 2005 10:09:01 pm by AristotlePagaltzis
Older page: version 13 Last edited on Thursday, July 21, 2005 1:53:11 pm by AristotlePagaltzis Revert
@@ -1,11 +1,13 @@
-A Linux machine has typical locations for the storage of most common things a system needs to run . Their contents:  
+In [Unix]/[ Linux], there is nothing like the registry or some other kind of magic database. It's all just files. Understanding the FileSystem and learning what goes where, roughly, is an important step in finding your way around your system.  
+  
+The following is a list of the conventional locations for the most common things. 
  
 __<tt>/</tt>__: 
  The FileSystem root where all of the directory tree "grows out of." 
  
 __<tt>/boot</tt>__: 
- The [Kernel] goes here. This is often a separate [Partition] at the beginning of the HardDrive
+ The [Kernel] goes here. This is often a separate [Partition] at the beginning of the HardDisk
  
 __<tt>/bin</tt>__: 
  System executable files for use by all users. 
  
@@ -24,8 +26,11 @@
  Libraries needed to run the programs in <tt>/bin</tt> and <tt>/sbin</tt>. 
  
 __<tt>/mnt</tt>__: 
  MountPoint for temporary FileSystem~s (eg [CDROM], FloppyDisk). 
+  
+__<tt>/media</tt>__:  
+ MountPoint for temporary FileSystem~s that FedoraCore uses in latest versions (eg [CDROM], [DVD]).  
  
 __<tt>/opt</tt>__: 
  Intended for additional, self-contained software packages in subdirectories, such as TarBall~s which contain binaries rather than source. [KDE] is often found in <tt>/opt/kde</tt>, even though it doesn't fit the "self-contained" criterion. Some people install source TarBall~s in here too, especially beta software. 
  
@@ -53,12 +58,16 @@
 __<tt>/var</tt>__: 
  Variable data files, such as logs, mailboxen, printer spools, cached data, databases and the like. Things that will change, but which need to be remembered across invocations of a program. Scratch space, if you will. 
  
 __<tt>/tmp</tt>__: 
- The place for temporary files -- that is, ''literally'' temporary files. On some systems this directory is frequently purged, and on machines with modern [Linux] kernels it may be mounted as [Tmpfs] FileSystem that exists only in memory. When VirtualMemory subsystems were not as good as they are today, many userland programs had to explicitly balance memory and disk consumption in <tt>/tmp</tt>, and some (such as find(1)) still do. 
+ The place for temporary files -- that is, ''literally'' temporary files. On some systems this directory is frequently purged, and on machines with modern [Linux] kernels it may be mounted as [Tmpfs] FileSystem that exists only in memory. When VirtualMemory subsystems were not as good as they are today, many userland programs had to explicitly balance memory and disk consumption in <tt>/tmp</tt>, and some still do.  
+  
+The other part that's important to remember are EnvironmentVariable~s, many of which are dedicated to telling applications where they should look for certain kinds of files. The most notable example would be <tt>PATH</tt>, which specifies which directories programs can be found in.  
+  
+Note that all of these choices are arbitrary. You could put anything anywhere at all, as long as you have write permissions, and still make things work, though only someone who enjoys headaches would do that. The important lesson in the arbitrariness is that, again, there is nothing magical about any of this. They are social conventions, not mechanical necessities. A [Unix] system is ultimately just a bunch of files and a handful of processes
  
 See also: 
 * hier(7) 
 * [Filesystem hierarchy standard | http://www.pathname.com/fhs/] 
  
 ---- 
 CategoryBeginners