Files
oldlinux-files/Ref-docs/POSIX/susv3/basedefs/xbd_chap10.html
2024-02-19 00:21:47 -05:00

534 lines
13 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
<title>Directory Structure and Devices</title>
</head>
<body bgcolor="white">
<basefont size="3"> <!--header start-->
<center><font size="2">The Open Group Base Specifications Issue 6<br>
IEEE Std 1003.1-2001<br>
Copyright &copy; 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
<!--header end-->
<hr size="2" noshade>
<h2><a name="tag_10"></a>Directory Structure and Devices</h2>
<h3><a name="tag_10_01"></a>Directory Structure and Files</h3>
<p>The following directories shall exist on conforming systems and conforming applications shall make use of them only as
described. Strictly conforming applications shall not assume the ability to create files in any of these directories, unless
specified below.</p>
<dl compact>
<dt><b>/</b></dt>
<dd>The root directory.</dd>
<dt><b>/dev</b></dt>
<dd>Contains <b>/dev/console</b>, <b>/dev/null</b>, and <b>/dev/tty</b>, described below.</dd>
</dl>
<p>The following directory shall exist on conforming systems and shall be used as described:</p>
<dl compact>
<dt><b>/tmp</b></dt>
<dd>A directory made available for applications that need a place to create temporary files. Applications shall be allowed to
create files in this directory, but shall not assume that such files are preserved between invocations of the application.</dd>
</dl>
<p>The following files shall exist on conforming systems and shall be both readable and writable:</p>
<dl compact>
<dt><b>/dev/null</b></dt>
<dd>An infinite data source and data sink. Data written to <b>/dev/null</b> shall be discarded. Reads from <b>/dev/null</b> shall
always return end-of-file (EOF).</dd>
<dt><b>/dev/tty</b></dt>
<dd>In each process, a synonym for the controlling terminal associated with the process group of that process, if any. It is useful
for programs or shell procedures that wish to be sure of writing messages to or reading data from the terminal no matter how output
has been redirected. It can also be used for applications that demand the name of a file for output, when typed output is desired
and it is tiresome to find out what terminal is currently in use.</dd>
</dl>
<p>The following file shall exist on conforming systems and need not be readable or writable:</p>
<dl compact>
<dt><b>/dev/console</b></dt>
<dd>The <b>/dev/console</b> file is a generic name given to the system console (see <a href="xbd_chap03.html#tag_03_382"><i>System
Console</i></a> ). It is usually linked to an implementation-defined special file. It shall provide an interface to the system
console conforming to the requirements of the Base Definitions volume of IEEE&nbsp;Std&nbsp;1003.1-2001, <a href=
"../basedefs/xbd_chap11.html#tag_11">Chapter 11, General Terminal Interface</a>.</dd>
</dl>
<h3><a name="tag_10_02"></a>Output Devices and Terminal Types</h3>
<p>The utilities in the Shell and Utilities volume of IEEE&nbsp;Std&nbsp;1003.1-2001 historically have been implemented on a wide
range of terminal types, but a conforming implementation need not support all features of all utilities on every conceivable
terminal. IEEE&nbsp;Std&nbsp;1003.1-2001 states which features are optional for certain classes of terminals in the individual
utility description sections. The implementation shall document which terminal types it supports and which of these features and
utilities are not supported by each terminal.</p>
<p>When a feature or utility is not supported on a specific terminal type, as allowed by IEEE&nbsp;Std&nbsp;1003.1-2001, and the
implementation considers such a condition to be an error preventing use of the feature or utility, the implementation shall
indicate such conditions through diagnostic messages or exit status values or both (as appropriate to the specific utility
description) that inform the user that the terminal type lacks the appropriate capability.</p>
<p>IEEE&nbsp;Std&nbsp;1003.1-2001 uses a notational convention based on historical practice that identifies some of the control
characters defined in <a href="xbd_chap07.html#tag_07_03_01"><i>LC_CTYPE</i></a> in a manner easily remembered by users on many
terminals. The correspondence between this &quot; &lt;control&gt;- <i>char</i>&quot; notation and the actual control characters is shown in
the following table. When IEEE&nbsp;Std&nbsp;1003.1-2001 refers to a character by its &lt;control&gt;- <i>name</i>, it is referring
to the actual control character shown in the Value column of the table, which is not necessarily the exact control key sequence on
all terminals. Some terminals have keyboards that do not allow the direct transmission of all the non-alphanumeric characters
shown. In such cases, the system documentation shall describe which data sequences transmitted by the terminal are interpreted by
the system as representing the special characters.<br>
</p>
<center><b><a name="tagtcjh_6"></a> Table: Control Character Names</b></center>
<center>
<table border="1" cellpadding="3" align="center">
<tr valign="top">
<th align="center">
<p class="tent"><b>Name</b></p>
</th>
<th align="center">
<p class="tent"><b>Value</b></p>
</th>
<th align="center">
<p class="tent"><b>Symbolic Name</b></p>
</th>
<th align="left">
<p class="tent">Name</p>
</th>
<th align="center">
<p class="tent"><b>Value</b></p>
</th>
<th align="center">
<p class="tent"><b>Symbolic Name</b></p>
</th>
<th align="center">
<p class="tent"><b>&nbsp;</b></p>
</th>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-A</p>
</td>
<td align="left">
<p class="tent">&lt;SOH&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;SOH&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-Q</p>
</td>
<td align="left">
<p class="tent">&lt;DC1&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;DC1&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-B</p>
</td>
<td align="left">
<p class="tent">&lt;STX&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;STX&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-R</p>
</td>
<td align="left">
<p class="tent">&lt;DC2&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;DC2&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-C</p>
</td>
<td align="left">
<p class="tent">&lt;ETX&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;ETX&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-S</p>
</td>
<td align="left">
<p class="tent">&lt;DC3&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;DC3&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-D</p>
</td>
<td align="left">
<p class="tent">&lt;EOT&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;EOT&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-T</p>
</td>
<td align="left">
<p class="tent">&lt;DC4&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;DC4&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-E</p>
</td>
<td align="left">
<p class="tent">&lt;ENQ&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;ENQ&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-U</p>
</td>
<td align="left">
<p class="tent">&lt;NAK&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;NAK&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-F</p>
</td>
<td align="left">
<p class="tent">&lt;ACK&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;ACK&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-V</p>
</td>
<td align="left">
<p class="tent">&lt;SYN&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;SYN&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-G</p>
</td>
<td align="left">
<p class="tent">&lt;BEL&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;alert&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-W</p>
</td>
<td align="left">
<p class="tent">&lt;ETB&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;ETB&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-H</p>
</td>
<td align="left">
<p class="tent">&lt;BS&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;backspace&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-X</p>
</td>
<td align="left">
<p class="tent">&lt;CAN&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;CAN&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-I</p>
</td>
<td align="left">
<p class="tent">&lt;HT&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;tab&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-Y</p>
</td>
<td align="left">
<p class="tent">&lt;EM&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;EM&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-J</p>
</td>
<td align="left">
<p class="tent">&lt;LF&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;linefeed&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-Z</p>
</td>
<td align="left">
<p class="tent">&lt;SUB&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;SUB&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-K</p>
</td>
<td align="left">
<p class="tent">&lt;VT&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;vertical-tab&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-[</p>
</td>
<td align="left">
<p class="tent">&lt;ESC&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;ESC&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-L</p>
</td>
<td align="left">
<p class="tent">&lt;FF&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;form-feed&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-\</p>
</td>
<td align="left">
<p class="tent">&lt;FS&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;FS&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-M</p>
</td>
<td align="left">
<p class="tent">&lt;CR&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;carriage-return&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-]</p>
</td>
<td align="left">
<p class="tent">&lt;GS&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;GS&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-N</p>
</td>
<td align="left">
<p class="tent">&lt;SO&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;SO&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-^</p>
</td>
<td align="left">
<p class="tent">&lt;RS&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;RS&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-O</p>
</td>
<td align="left">
<p class="tent">&lt;SI&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;SI&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-_</p>
</td>
<td align="left">
<p class="tent">&lt;US&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;US&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
<tr valign="top">
<td align="left">
<p class="tent">&lt;control&gt;-P</p>
</td>
<td align="left">
<p class="tent">&lt;DLE&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;DLE&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;control&gt;-?</p>
</td>
<td align="left">
<p class="tent">&lt;DEL&gt;</p>
</td>
<td align="left">
<p class="tent">&lt;DEL&gt;</p>
</td>
<td align="left">
<p class="tent">&nbsp;</p>
</td>
</tr>
</table>
</center>
<basefont size="2">
<dl>
<dt><b>Note:</b></dt>
<dd>The notation uses uppercase letters for arbitrary editorial reasons. There is no implication that the keystrokes represent
control-shift-letter sequences.</dd>
</dl>
<basefont size="3">
<hr size="2" noshade>
<center><font size="2"><!--footer start-->
UNIX &reg; is a registered Trademark of The Open Group.<br>
POSIX &reg; is a registered Trademark of The IEEE.<br>
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
]</font></center>
<!--footer end-->
<hr size="2" noshade>
</body>
</html>