UNIX systems have a file system with a single, top-level
directory called the root directory. The root directory, which is
referred to with a forward slash (/), contains both files
and subdirectories. All files in the file system are located below
the root directory (/).
In the Interix environment, the root directory is mapped to a
specific directory on your Windows file system, which would be
either a file-allocation table (FAT) file system, or, more likely,
an NTFS file system. The Interix root directory is mapped to the
directory in which you installed Windows Services for UNIX, which
is normally C:\SFU.
When you view the contents of the root directory with a command
such as ls /, you will see the files and directories that
are in C:\SFU. Many of these files and directories, such as
/etc and /usr, would normally appear on a UNIX
system. Since / is treated in a special way by Interix, it
also contains other files and directories (virtual files). These
are described in the following table:
Virtual directories under the Interix root directory
Directory
Contents
/dev
Devices such as /dev/null, /dev/tty, and
/dev/tape. All Windows logical drives can be accessed as
/dev/fs/A through /dev/fs/Z.
/net
The /net virtual directory provides a mechanism for
accessing files on the network that is similar to the Windows
Universal Naming Convention (UNC). For example, the file
\\Saturn\marketing\report.xls can be referred to in Interix
as /net/Saturn/marketing/report.xls.
Directories under /net represent the names of computers
in the network. Printers and other networked devices are not
represented with a directory.
/proc
Contains information for each process. For example, suppose
that you run and suspend the ping command. You then run
ps and see that its process identifier (PID) is 9601. If you
run ls /proc/9601 you will see the files cmdline,
environ, psinfo, stat, and status, all
of which contain detailed information about process 9601.
If you installed Windows Services for UNIX as an upgrade to
Microsoft Interix 2.2, directories /dev/fs/A through
/dev/fs/Z can be accessed using symbolic links created by
Windows Services for UNIX Setup, depending on the drives that were
present when Windows Services for UNIX was installed. For example,
if drives A:, C:, and D: were present, the
symbolic links /A, /C, and /D will be
available and mapped to /dev/fs/A, /dev/fs/C, and
/dev/fs/D, respectively.
The Interix shell interprets the back slash (\) as an
escape character for the subsequent character. This causes Windows
path names to work incorrectly in the Interix shell
environment.
Both relative and absolute path names work in the Interix
subsystem. For example, suppose you are in an Interix shell and are
currently in the / directory. If you want to move to
/usr/lib, both the relative command cd usr/lib and
the absolute command cd /usr/lib work. If you are in
/usr/examples and want to move to /usr/lib, you can
use cd ../lib.
Path names in the Interix subsystem are case-sensitive. Files
with the names /carl/report and /carl/Report refer to
different files. If you are in the Interix subsystem, the command
cd /usr/LIB does not move you into the /usr/lib
directory, but cd /usr/lib does. If you installed Windows
Services for UNIX on a computer running Windows XP, Interix
path names are case-sensitive only if you elected during the
installation to change the default behavior of the computer to
support case-sensitive file names.
A path name that begins with more than one forward slash
(/) is treated as though it begins with just one.
The Interix character set for file names is the same character
set specified by POSIX. For more information, see Interix file
system features.
Interix does not support the Universal Naming Convention (UNC)
syntax.
The winpath2unix(1) and unixpath2win(1)
utilities convert the format of a specified path name between the
Interix format (such as /dev/fs/C/Cat/dog) and the Windows
format (such as C:\Cat\dog).