The idea of a path is popular one with many operating systems. Generally speaking, a path can be defined as a string (that is, a series of characters) that will uniquely identify a file within a system. Paths are different from filenames in that multiple files can have the same name within a system, but a path specifies a particular file. Many programs expect input or provide output in terms of paths.

In the general case of a hierarchical file system, a path is a series of names (or path components) separated by a path delimiter. The delimiter is usually a special character that is not valid within any component. To retrieve the file based on a path, the operating system will start from a point in the file system, and locate the directory (or folder, or what-have-you) that has the name of the first path coomponent. Then, it will find locate the directory within that directory that has the name of the second path component. It will continue as such until either it locates a file, as opposed to a directory, or until there are no more path components.

There are two kinds of paths that are important to distinguish. An absolute path is a true path: it identifies a file unambiguously, and should identify the same file to any process attempting to use it. A relative path identifies a file unambiguously, but only relative to some state of the system beyond what is encapsulated in the path itself. For example, many operating systems maintain a default, or current, directory for each process; relative paths are evaluated beginning at that point rather than beginning at the top of the file system hierarchy. Although conventions differ, frequently an absolute path may be distinguished by beginning with a path delimiter, whereas a relative path will not.


To make things a bit more concrete, let us consider a few particular operating systems.

Unix is the canonical example. Under Unix operating systems, the slash (/) character is the path delimiter. Absolute path evaluation is simple because there is one file system hierarchy. In addition, the special names . (period) and .. (double period) refer to the directory currently being traversed in path evaluation, and the parent (that is, the directory at the previous hierarchy level) of that directory, respectively. There is some ambiguity in the latter of these special terms, because Unix allows symbolic links to directories, and depending on your operating system, shell, and configuration, the "parent" of a directory that has been evaluated through a symbolic link may return the directory through which it was reached, or its physical parent. Here are some examples of Unix path names:

  • /etc/passwd
  • ../bin/grep
  • /home/bob/data/resume.txt
  • ./fsck

MS-DOS and its derivatives base their file system on Unix, but there are many important differences. First of all, they use the backslash (\) character as a path delimiter. Unlike Unix, DOS has a separate file system root for each drive that it has mounted. To refer to a particular mounted drive, you must prefix the path with the unique letter assigned to that drive, followed by a colon. The operating system maintains a current directory for each drive, as well as a current drive. Therefore, both absolute paths and relative paths may or may not specify the drive letter, although clearly absolute paths are really only absolute if they do. Here are some examples of MS-DOS path names:

  • C:\TEMP\SMOOT.TXT
  • ..\BIN\GREP.EXE
  • \AUTOEXEC.BAT
  • A:IBMIO.SYS

The Macintosh operating system, MacOS, does not expose paths to the user, and they are used only within programs and the operating system. It uses a colon (:) as a path delimiter.

Entirely distinct from the pathname documented above (I know that's an E2 faux paus) by Wicker808 is the concept of the search path used in Unix and other systems to locate the program that you have requested to run.

A Unix command line interpreter (aka a shell) uses the search path to find the program, unless it is one of the commands that that shell implements itself. The search path is found in the environment under the well-known name PATH, and consists of a colon-delimited list of pathnames (each of which should refer to a directory). The shell looks for the program in each of these directories, starting with the first and working its way through the list, until it finds an executable file with that name, and attempts to execute it. Whether it is successful or not, the search ends there.

A user's initial path is set by the system login procedure, and generally includes directories such as /bin, /usr/bin, and others which contain the standard programs provided with the system. Thus, you can use the command date to query the system clock, rather than explicitly requesting /bin/date. This is not only more convenient, but allows for some variations in the location of standard programs among different Unix and Unix-like operating systems. It is common for a user's login profile to add more pathnames to the system-supplied value; these are usually appended, to ensure that a standard program name indeed refers to the standard program, and not another program with the same name.

The pathnames listed in $PATH may be relative or absolute. However, relative pathnames are discouraged, because of the ambiguity. Thus, for security reasons, a program that gives you a shell with elevated privilege (e.g., sudo) will generally either filter relative pathnames out of the path that it provides to the child shell, or will provide it an entirely new path referring only to system-supplied directories.

The PATH variable is also used by the POSIX.1 functions execlp and execvp, which then accept only a simple filename, rather than a pathname, from their caller as the name of the program to execute. Standard Unix shells do the search themselves rather than using these functions, because of optimizations they do. (See the hash command in Bourne and compatible shells.)


A comment on one point in Wicker808's very nice writeup above about pathnames. The names . and .. are not actually treated as special names by Unix itself (though I expect they probably are by MS-DOS); the . that refers to the current directory is an actual entry and is a link to the directory that contains it. Similarly, .. is also an entry referring to another directory. They are, however, added to a directory when it is created by mkdir, and rmdir, which requires a directory to be empty in order to remove it, nonetheless allows it to contain these two entries.

In a general topological space X , a path h x to y is a continuous map h:[0,1]→X such that h(0)=x and h(1)=y.

In this deliberately simple formulation, much of the interesting behaviour is necessarily considered at the level of the space as a whole - for instance, X is described as path connected iff every pair of points in X are joined by a path; and this immediately implies the property of connectedness.

Throw geometry and calculus into the mix, and much more can be said. The notion of a path is central to integration in the complex plane, where many powerful results are formulated in terms of path integrals. To do so, however, requires a bewildering array of qualifiers for the type of path being considered.

A first and vital observation to make is that the path is not the curve or contour itself (or, in non-mathematical terms, the ground you would walk upon during your travels along a 'path'), but a function mapping to that curve (a rule for where to walk next). It is also convenient to work on a general interval [a,b] rather than the [0,1] suggested in the topological defintion; but these turn out to be equivalent approaches.

Types of paths

A path given by a continous map γ[a,b]→C may be described as:

  • Simple If γ is injective.
    This means that the function never takes the same value twice, so someone following the path would never visit the same point twice. This means that the curve created does not cross itself, which turns out to be useful for obtaining a sense of direction.
  • Closed If γ(a)=γ(b).
    This means the curve starts and ends in the same place, such as a circle.
  • Simple closed If γ(s)=γ(t) ⇒ s=t or {s,t}={a,b}; equivalently, γ is a closed path that is injective on (a,b).
    A path couldn't be both closed and simple as defined above, as the start and end point is visited twice. So this is the next best thing- a circle is simple closed, but a figure-8 is only closed.

The image Γ of γ on [a,b] (that is, the points traced out in the complex plane by this rule) is named a Jordan curve: if γ was simple, we call it a simple Jordan curve; if γ was closed, we call it a closed Jordan curve; and if γ was simple closed then, unsurprisingly, Γ is called a simple closed Jordan curve. The seemingly-obvious but difficult to prove Jordan curve theorem asserts that for a simple closed Jordan curve Γ, C\Γ is the disjoint union of two domains (open and connected subsets), namely the interior and exterior of Γ.

We allowed ourselves the luxury of calculus, so let's put that to good use. A path is described as:

  • Smooth If the derivative γ'(t) exists for all t in [a,b] and is a continuous function on [a,b]
    A path integral does not make sense without the ability to differentiate the path
  • Regular If the path is smooth with non-zero derivative.
  • Piecewise smooth/regular If it is the composition (see later) of finitely many paths, all smooth/regular.
    This is handy for building fancy contours such as squares

The image of a piecewise regular path γ is called a contour - as before we may describe it as being simple, closed or simple closed.

New Paths from old

Reparametrisation

I claimed earlier that it didn't matter if we worked on [a,b] or [0,1]. It turns out that one is simply a reparametrisation of the other (depending on which you consider to be the more natural): If γ[a,b]→C is a regular path parametrising Γ, and h:[c,d]→[a,b] is surjective and regular, then β=γoh:[c,d]→C, where o denotes composition, gives a new regular parametrisation of Γ. Intuitively, a route is the same regardless of how fast you walk it - the path describes the curve for a walking pace determined, effectively, by the interval [a,b].

Restriction of a path

Feeling lazy? If γ[a,b]→C is a path and [c,d] a subinterval of [a,b], then β[c,d]→C, β(t)=γ(t) is also a path. Some caution is needed, however, as not all the properties above are preserved- in particular, you're almost certain to break the closed property of a simple closed curve.

Inverse paths

If you can get there, you can get back: given a path γ[a,b]→C the reversed path γ-[a,b]→C, γ-(t)=γ(b+a-t) is also a path. It describes the same curve, but going in the opposite direction; which raises the question of how to orientate a curve.

Path composition

Given two curves such that one begins where the other ends, it is natural to consider one, large path that traces out their combined curve. To this end, let γ[a,b]→C, β[c,d]→C be paths such that γ(b)=β(c). Then we can define γ#β:[a,b+(d-c)]→C by
t→ γ#β(t) = γ(t) for t in [a,b], β(t+c-b) for t in [b,b+(d-c)].

Some examples and a note on orientation

It turns out that the value of a path integral depends on the parametrisation only as far as a change of sign - namely, the integral over the reversed path has the same magnitude and opposite sign to that of the original path. For a simple closed curve, we refer to the orientation, which is the direction around the loop (this can be uniquely determined due to the simplicity). Conventionally, curves are parametrised so as to be traced out in an anti-clockwise direction from the starting point.

A very easy parametrisation is the straight line joining two points. In the real numbers, this wasn't even an issue, but for the complex plane there are infinitely many ways to get from one point to another besides this obvious one. Working with [0,1] turns out to be convenient here- for the straight line from a complex point x to another, y, we can take the path γ(t)=x+t(y-x).

A more difficult result that requires some background with complex geometry is the parametrisation of a circle around a point. For a circle of radius r, centre z, the path γ[0,2π]→C given by γ(t)=z+r*exp(i*t) traces out the desired curve anticlockwise from z+r, the rightmost point.


Mathematical notation, especially when there are several related ideas or meanings, cann often vary. The terms here are what I've encountered during my studies of complex analysis (British university, German lecturer), but in ordinary vector calculus we simply referred to line integrals, and unperson notes that the complex plane integral is often called contour integration, with what I describe as a path being called a curve. I drew a distinction between the function (path) and image (curve) that seems worthwhile, but if this causes confusion with your own sources I apologise! Swap also points out that the term Jordan curve often implicitly means simple closed since these are the most useful ones.

patch space = P = pathological

path n.

1. A bang path or explicitly routed Internet address; a node-by-node specification of a link between two machines. Though these are now obsolete as a form of addressing, they still show up in diagnostics and trace headers occasionally (e.g. in NNTP headers). 2. [Unix] A filename, fully specified relative to the root directory (as opposed to relative to the current directory; the latter is sometimes called a `relative path'). This is also called a `pathname'. 3. [Unix and MS-DOS] The `search path', an environment variable specifying the directories in which the shell (COMMAND.COM, under MS-DOS) should look for commands. Other, similar constructs abound under Unix (for example, the C preprocessor has a `search path' it uses in looking for #include files).

--The Jargon File version 4.3.1, ed. ESR, this entry manually entered by rootbeer277.

PATH: a catalyst for global health

PATH is an international, nonprofit organization that creates sustainable, culturally relevant solutions, enabling communities worldwide to break longstanding cycles of poor health. By collaborating with diverse public- and private-sector partners, we help provide appropriate health technologies and vital strategies that change the way people think and act. Our work improves global health and well-being.
-- http://www.path.org

PATH is a charity working to find solutions to the worlds biggest health problems. PATH invents new technologies, collects and distributes health information, works with local populations to disseminate information and materials, and partners with other organizations to provide whatever is needed. They work not only in underdeveloped areas in third world countries, but also run programs in America and other developed countries.

Some of their projects include:

  • Providing AIDS education and services to AIDS-positive individuals. They have developed a type of syringe that cannot be reused and can be disposed of safely.
  • Working with partners to develop and deliver vaccinations for meningitis, pneumonia, Shigella and, enterotoxigenic Escherichia coli. They have also developed safer needles and more stable and protective vaccination delivery and storage systems.
  • Simple, in field screening for health problems such as cervical cancer and vitamin A deficiency. They are also working to develop a "lab-on-a-card", a small piece of plastic that has microchannels to draw a blood sample through a series of various chemicals that will react to tell doctors working in the field what exactly is wrong. This is very important for making diagnoses in underdeveloped countries where traditional labs are not available. These are being tested in America and should be available soon.
  • Educating women about available methods of contraception and family planning. They also have developed culturally appropriate and easy to use female condoms, diaphragms, and a gel that will protect against contracting HIV.
  • Providing technologies and information to help make birthing safer for both the mother and the child. This includes equipment from portable baby resuscitators to scales to help identify low-birthweight infants. They have also developed a simple and effective Nevirapine delivery system for AIDS-positive mothers.
  • Working to provide good nutrition. PATH has developed "Ultra Rice", a dietary supplement made from highly enriched rice flour. It is specially designed to be basically indistinguishable from real rice, and thus easy to introduce into local diets. It can be mixed into any rice dish without affecting the taste.
  • PATH is currently starting up a program to provide clean, safe water to needy populations in India, and then on in to other areas of the world.

Before I donate to any charity, I always check out http://www.charitynavigator.org; according to CN, PATH shapes up very well. They have been working since 1977, and their accounts are all in order. They have an excellent 'fundraising efficiency' (ratio of money spent on fundraising to money spent on the program) -- so small that it rounds down to zero. This unfortunately means that they have a low public profile. They have high administration costs, but they are hiring trained professionals, and they get results for their investment. Their president makes $335,562 a year, which is on the high end for a major charity.

Visit them at http://www.path.org

Path (?), n.; pl. Paths (#). [As. , ; akin to D. pad, G. pfad, of uncertain origin; cf. Gr. , Skr. patha, path.]

1.

A trodden way; a footway.

The dewy paths of meadows we will tread. Dryden.

2.

A way, course, or track, in which anything moves or has moved; route; passage; an established way; as, the path of a meteor, of a caravan, of a storm, of a pestilence. Also used figuratively, of a course of life or action.

All the paths of the Lord are mercy and truth. Ps. xxv. 10.

The paths of glory lead but to the grave. Gray.

© Webster 1913.


Path (?), v. t. [imp. & p. p. Pathed (?); pr.p. & vb. n. Pathing.]

To make a path in, or on (something), or for (some one).

[R.] "Pathing young Henry's unadvised ways."

Drayton.

© Webster 1913.


Path, v. i.

To walk or go.

[R.]

Shak.

© Webster 1913.

Log in or register to write something here or to contact authors.