CentOS 7 File System Overview

Here is the basic layout of any CentOS 7 system here at CIMS:

Location Description
/data/user123 Data directories are mounted via NFS.  That is, data directories exist on another dedicated data directory server, and whenever a user navigates to /data/user123 (where user123 is a username), the data directory of that user is automatically mounted and made accessible on the local host.  Users who have a data directory typically have a symlink in their home directory called "data" which points to their data directory. What is a data directory?  Apply for a data directory here: Data Directory Request Form.  Data directories are universal: what you modify/create/delete on one host in your data directory will be reflected on all other hosts.
/home/user123 Like data directories, home directories are mounted via NFS.  Home directories exist on another dedicated home directory server, and whenever a user either logs in or navigates to /home/user123 (where user123 is a username), the home directory of that user is automatically mounted and made accessible on the local host.  Home directories are universal: what you modify/create/delete on one host in your data directory will be reflected on all other hosts.
/web/user123 Like data and home directories, web directories are mounted via NFS.  Web directories exist on another dedicated web directory server, and whenever a user navigates to /web/user123 (where user123 is a username), the web directory of that user is automatically mounted and made accessible on a local host.  Note that most users have a "public_html" symlink in their home directory, which simply points to their /web directory.  Content placed in a web directory is made accessible via https://cims.nyu.edu/~user123.  Web directories are universal: what you modify/create/delete on one host in your data directory will be reflected on all other hosts.
/scratch This local directory makes up the extra hard disk space that was not needed by the operating system (see /scratch).
/usr/bin
/usr/include
/usr/lib
/usr/lib64
/usr/sbin
/usr/share
Directories local to each host.  These are the primary directories where the contents of RPMs are installed to (see Software).  Typically, what is provided here is what is provided to us by external repositories.  We do our best to ensure that these directories are the same across all CIMS systems.
/usr/local /usr/local is NFS mounted directory which contains content either created by or compiled by the CIMS systems group.  Everything under /usr/local was put in place by us.  Because this is a single NFS mounted directory, it's contents are guaranteed to be the same on every CIMS machine (assuming NFS mounting is working and there is a stable network connection).
/usr/local/stow This subdirectory of /usr/local contains the software which we've built from source (see Software).  The term "stow" refers to a program we use to manage customly built software, called "Stow."  For those familiar with our structure in RHEL6, this is the new /usr/local/pkg.
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/lib64
/usr/local/sbin
/usr/local/share
These directories contain a mixture of symlinks (created by Stow) to binaries and libraries which we have compiled, custom scripts that we've created for daily tasks and maintenance purposes, and CIMS-specific configuration files such as /usr/local/etc/modulefiles/ (see Module System) and /usr/local/etc/bashrc (see Shells).
/opt Similar to /usr/local, this is an NFS mounted directory which contains certain special software: typically either software that is not free, or software that does not conform to the /usr/local hierarchy.  For example, MATLAB and Mathematica reside here.  As does Google Chrome (who's installer insists on being installed to /opt instead of /usr/local).