User Tools

Site Tools


user:ccaccia:portfolio:fssafari

Project: FILESYSTEM SAFARI

A project for UNIX/Linux Fundamentals by Christopher M. Caccia during the Fall 2011 Semester.

This project was started on September 20th, 2011 and is has taken one week to complete.

Objectives

The purpose of this project was to explore the filesystem of UNIX/Linux for a greater understanding of the hierarchal tree of UNIX. I will determine what file types are stored within each directory, and also what there purpose or value is to the hierarchal tree of UNIX. I hope to accomplish an increased level of knowledge in the operational process of UNIX.

Prerequisites

In order to successfully accomplish/perform this project, the listed resources/experiences need to be consulted/achieved:

  • cd command
  • ls
  • -l argument to ls
  • understanding of paths, absolute and relative

Background

The purpose of this project was to increase my understanding of how the hierarchal directory tree works in UNIX. Understanding the UNIX filesystem and how devices, files, and programs are stored and accessed is really important. Specifically with operating systems that are more command line based and executable commands need to be memorized. UNIX/Linux in my opinion is one of the easiest systems to understand operational procedure. Everything is a file, is small, and does one thing very well. This project explores the application of the UNIX philosophy.

Scope

To get a better understanding of the layout and structure of the UNIX filesystem, an exploration is in order. Using your observation skills and references, explore the various major directories on the system (starting with '/') and describing the intended purpose of each directory:

  1. what types of files does it contain (regular, directory, special)
  2. what is the organizational value of that directory (config files, basic tools, admin tools, etc.)

Some of the directories you will want to explore are:

  • /
  • /bin
  • /dev
  • /etc
  • /home
  • /lib (/lib32 vs. /lib64)
  • /mnt
  • /proc
  • /root
  • /sbin
  • /tmp
  • /usr
  • /var
  • /var/log
  • /usr/bin
  • /usr/sbin
  • /usr/src
  • /usr/local
  • /usr/local/bin
  • /usr/lib

Attributes

State and justify the attributes you'd like to receive upon successful approval and completion of this project.

  • files and directories: files and directories are the focus of analysis in this exercise
  • Commands: Commands like “ls” were used with arguments like “-l” or “-all” to list all file properties
  • The UNIX development environment: Files were discovered and explored that are used as development tools
  • Groups: Some directories where permitted to be accessed by groups and others were not. Using the ls command I was able to see group permissions.
  • Security: Exploring root directories and files would have required security level permission.
  • System Administration: Throughout the project I explored new services and resources and how the utilization and implementation of these services worked.

Procedure

The actual steps taken to accomplish the project. Include images, code snippets, command-line excerpts; whatever is useful for intuitively communicating important information for accomplishing the project.

  • / - This is the “home” directory. This base or home directory is comprised of all other directories on the operating system. It would be organized as a admin tool because this directory would only typically be used by a system administrator.
  • /bin - This directory contains regular text files and symbolic link directories. This directory is the home of the UNIX commands and utilities for all users. The directory would be categorized as basic tool utilities.
  • /dev - This directory is the home for all the special device files that are responsible for peripheral devices and system hardware. The organizational value for this directory is an administrative tool. System administrators access this directory when installing device drivers.
  • /etc - This directory contains regular files and some subdirectories containing more regular files. This directory organizes and houses the system configuration files.
  • /lib (/lib32 vs. /lib64) - This directory is referred to as a library file. It contains regular files, special files, and also more directory files. The purpose of this directory is to provide code instructions for terminal commands or arguments. When a process or program is run at the command prompt, the library directory is the source for program instructions. When a command is called, it will refer to the appropriate library files for instructions on it's execution.
    • /lib32 vs. /lib64 - The only difference between these two directories is that the lib32 directory contains program instructions for a 32-bit operating system, and the lib64 directory contains program instructions for a 64-bit operating system.
  • /mnt - For class purposes is empty. However this directory would contain regular files, special files, and directory files. This directory serves as a reserved directory to organize the installation or mounting of another filesystem such as a CD-ROM, or flash drive.
  • /proc - This directory contains both regular files and directory files. This directory is an admin tool that allows peripheral devices connected to the system to be stored or modified.
  • /root - Contains Directory files. This directory is the home directory for the system administrator. From here the system administrator can see and access all home directories of all users on the local host.
  • /sbin - This directory contains directory and regular files. This directory serves as a basic tool for super users (root user), storing commands to be executed.
  • /tmp - This directory contains regular files, special files, and directory files. This directory serves as a storage area for temporary files created by computer programs, typically when installation is in process.
  • /usr - This directory houses directory files. At one point this directory was the storage place for all user home directories on the server. Now it's purpose within the UNIX filesystem is to store and organize executable, library, and shared resources such as local files.
  • /var - This directory houses more directory files. This directory is an admin tool because it's purpose in the UNIX filesystem is to store files that change frequently. Backup files for example, will change each time a backup is run and therefore are stored in the /var directory.
  • /var/log - Contains regular files and directory files. This directory is an admin tool because it stores system log files. Being that the directory is within the /var directory, the system log files will periodically change.
  • /usr/bin - Contains symbolic link files and regular files. This directory is a basic tool because it stores binary executable programs that were distributed with the O.S.
  • /usr/sbin - Contains regular files and symbolic link directory files. It stores admin programs needed for system recovery, repair, or maintenance. This directory is only used by the system administrator or super user.
  • /usr/src - The home to directory files. This is a sub-directory file that stores kernel source code for admin reference.
  • /usr/local - Contains directory files. Another sub-directory of the /usr directory, used as an admin tool for installation of software locally. This directory stores programs and data that can be shared among a group of local hosts.
  • /usr/local/bin - Contains regular files. This group of sub-directories stores regular files used by system administrators for referencing local programs on the server, such as the message of the day (motd) or class attendance.
  • /usr/lib - This sub-directory is home to both directory files and regular files. This directory is used to store object files, libraries, and internal binaries that are not directly executed by users or shell scripts.

Reflection

In this project I looked at all major directories that impact any operations required for the UNIX/Linux operating system. I have a much better understanding of the hierarchal filesystem that is the “trunk” of UNIX. Everything has a place and purpose in UNIX, and the fact that all files and programs are organized in a manor that makes them work together very well.

References

In performing this project, the following resources were referenced:

Explained what the different types of files where in UNIX.

      http://en.wikipedia.org/wiki/Unix_file_types
      "Harley Hahn's Guide to Unix and Linux" Chapter 23 pgs. 628-629.
      Mounting: "/mnt"
      http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/mnt.html
      Unix Command: /proc
      http://linux.about.com/od/commands/l/blcmdl5_proc.htm
      Overview of Unix/Linux commands
      http://www.computerhope.com/unix/overview.htm
      Home Directory and /root Information
      http://en.wikipedia.org/wiki/Home_directory
      Unix Directory Structure
      http://en.wikipedia.org/wiki/Unix_directory_structure
      Filesystem Hierarchy Standard
      http://en.wikipedia.org/wiki//usr/sbin
      http://www.pathname.com/fhs/pub/fhs-2.3.html#USRSBINNONESSENTIALSTANDARDSY
user/ccaccia/portfolio/fssafari.txt · Last modified: 2011/12/14 21:42 by ccaccia