Interix maps the root directory (/) to the Windows Services for UNIX installation directory, which is typically C:\SFU. Under the Interix root directory, you will find the subdirectories that would usually exist in UNIX, such as /usr and /etc, and symbolic links that map to Windows drive letters, such as /A and /C. There are also special virtual directories, such as /net for network resources and /dev for devices. In addition to entries for the usual devices, the /dev directory includes entries that correspond to Windows drive letters. For example, fs/A, fs/C, and fs/D correspond to drive A:, drive C:, and drive D:.
Interix includes symbolic links that are based on the XPG4 version 2 specification (Single UNIX Specification). A symbolic link is a file that refers to another file name instead of data. You can create multiple symbolic links to a file to enable access from multiple locations. For example, if you create symbolic links from /tmp/hosts and /usr/hosts to /etc/hosts, you can look up file hosts from either /tmp/hosts or /usr/hosts. You can also use symbolic links with directories. You create symbolic links with the -s option on the ln(1) command.
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 within Interix as /net/Saturn/marketing/report.xls.
This includes the ability to look up, create, delete, read, and write files over network file system (NFS). Also, you can create and resolve symbolic links through NFS.
Interix uses User Name Mapping (when available) to associate Windows users with user identifiers (UIDs) and group identifiers (GIDs) when accessing files using NFS. This ensures that resource ownership information will be consistent across computers.
UNIX domain socket semantics are supported in the subsystem. Your applications can open UNIX domain sockets and use them for inter-process communication.
The Interix subsystem concept of a "principal domain" can now be used to reduce the length of displayed user and group names. The principal domain is separate from the system's primary domain. The primary domain for a system is the domain to which the system is joined; that is, the domain displayed in System Properties. The Interix principal domain is set by default to the system primary domain, but can be altered from it.
For example, when the primary domain for the system is WESTCORP and users are also in the WESTCORP domain, by default, the Interix principal domain will be WESTCORP. A command such as who will display a user named Carl in the WESTCORP domain as just Carl. A user from another domain, such as Susannah in EASTCORP, will be displayed as EASTCORP+Susannah.
You can still start the Korn shell or the C shell from the Windows cmd.exe command line by typing ksh -l or csh -l, respectively. Both commands now call batch files, ksh.bat or csh.bat, instead of executable files. The ksh.bat file consists primarily of posix /u /c /bin/ksh %1 %2 %3 %4 %5 %6 %7 %8 %9; the csh.bat file consists primarily of posix /u /c /bin/csh %1 %2 %3 %4 %5 %6 %7 %8 %9. The /u option enables posix.exe to use a UNIX-style path. These commands also work for starting the Interix shells from a shortcut.
Windows style cmd searching is implemented in the Korn shell using the PATH_WINDOWS environment variable. You can use this variable to specify the directories that require case-insensitive searching and suffix matching. For example, you will see the results of the Windows ipconfig command in a Korn shell, if the PATH_WINDOWS environment variable contains the /dev/fs/C/WINNT/system32 directory.