398 lines
23 KiB
HTML
398 lines
23 KiB
HTML
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
||
<html>
|
||
<head>
|
||
<title>file</title>
|
||
</head>
|
||
<body>
|
||
<h1>file</h1>
|
||
|
||
<p> Команда для работы с файлами и их именами. </p>
|
||
|
||
<pre>
|
||
<strong>file</strong> <em>option</em> <em>name</em> ?<em>arg</em> <em>arg</em>...?
|
||
</pre>
|
||
|
||
<h2>ОПИСАНИЕ</h2>
|
||
|
||
<p> Эта команда осуществляет различные действия с файлами, их
|
||
именами или свойствами. Аргумент <em>name</em> содержит имя
|
||
файла. Если он начинается с символа "~", то перед
|
||
выполнением команды выполняются "тильда"-подстановки,
|
||
как описано в <a href=filename.html><strong>filename</strong></a>.
|
||
Опция команды указывает, какие действия необходимо выполнить с
|
||
файлом. Ниже приведены возможные опции. В команде их имена могут
|
||
быть сокращены до уровня, сохраняющего уникальность их имен.</p>
|
||
|
||
<dl>
|
||
<dt><a name=atime></a><strong>file atime</strong> <em>name</em></dt>
|
||
|
||
<dd> Возвращает десятичную строку, содержащую время последнего
|
||
доступа к файлу <em>name</em>. Время представляется стандартным
|
||
для POSIX образом в числе секунд от фиксированного начального
|
||
момента (обычно, с 1 января 1970 г.). Если файл не существует
|
||
или время последнего доступа не может быть получено, выдается
|
||
сообщение об ошибке.
|
||
</dd>
|
||
|
||
<dt><a name=attributes></a><strong>file attributes</strong>
|
||
<em>name</em></dt>
|
||
|
||
<dt><strong>file attributes</strong> <em>name</em> ?<em>option</em>?</dt>
|
||
|
||
<dt><strong>file attributes</strong> <em>name</em> ?<em>option</em>
|
||
<em>value</em> <em>option</em> <em>value</em>...?</dt>
|
||
|
||
<dd><p>Эта подкоманда возвращает или устанавливает зависящие от
|
||
платформы атрибуты файла. Первая форма возвращает список
|
||
атрибутов и их значений, вторая возвращает значение
|
||
указанного атрибута, а третья - позволяет установить
|
||
значения одного или нескольких атрибутов. Возможные атрибуты
|
||
перечислены ниже.</p>
|
||
|
||
<h3>НА UNIX-ПЛАТФОРМАХ:</h3>
|
||
|
||
<ul>
|
||
<li><strong>-group</strong> - возвращает или устанавливает имя
|
||
группы. В команде группа может быть задана числовым
|
||
идентификатором, но возвращается всегда имя группы.</li>
|
||
|
||
<li><strong>-owner</strong> - возвращает или устанавливает имя
|
||
"хозяина" файла. В команде хозяин может быть задан
|
||
числовым идентификатором, но возвращается всегда имя
|
||
хозяина.</li>
|
||
|
||
<li><strong>-permissions</strong> - возвращает или устанавливает
|
||
восьмеричный код, используемый командой операционной
|
||
системы chmod. Символьное описание соответствующих
|
||
атрибутов файла не поддерживается.</li>
|
||
</ul>
|
||
|
||
<h3>НА WINDOWS-ПЛАТФОРМАХ</h3>
|
||
|
||
<p> На Windows-платформах поддерживаются атрибуты
|
||
<strong>-archive</strong>, <strong>-hidden</strong>, <strong>-longname</strong> (атрибут
|
||
не может быть установлен), <strong>-readonly</strong>,
|
||
<strong>-shortname</strong> (атрибут не может быть установлен),
|
||
<strong>-system</strong>.</p>
|
||
|
||
<h3>НА MACINTOSH-ПЛАТФОРМАХ</h3>
|
||
|
||
<p>На Macintosh-платформах поддерживаются атрибуты
|
||
<strong>-creator</strong>, <strong>-hidden</strong>, <strong>-readonly</strong>,
|
||
<strong>-type</strong>.</p>
|
||
</dd>
|
||
|
||
<dt><a name=copy></a><strong>file copy</strong> ?<em>-force</em>?
|
||
?<em>--</em>? <em>source target</em></dt>
|
||
|
||
<dt><strong>file copy</strong> ?<em>-force</em>? ?<em>--</em>?
|
||
<em>source</em> ?<em>source</em>...? <em>targetDir</em></dt>
|
||
|
||
<dd> Первая форма используется для того, чтобы скопировать файл
|
||
или каталог <em>source</em> соответственно в файл или каталог
|
||
<em>target</em>. Вторая форма используется, чтобы скопировать
|
||
файл(ы) или каталог(и) внутрь существующего каталога
|
||
<em>targetDir</em>. Если один из аргументов <em>source</em> есть имя
|
||
каталога, то этот каталог копируется рекурсивно вместе со всем
|
||
его содержимым. При копировании существующие файлы не
|
||
перезаписываются, если только не указана опция
|
||
<strong>-force</strong>. Попытки перезаписать непустой каталог, а также
|
||
перезаписать каталог файлом или файл каталогом приводят к
|
||
ошибке, даже если опция <strong>-force</strong>
|
||
указана. Аргументы команды обрабатываются в порядке
|
||
перечисления до первой ошибки. Отметка "--" означает конец
|
||
опций. Следующий аргумент считается именем файла или каталога,
|
||
даже если он начинается с символа "-".
|
||
</dd>
|
||
|
||
<dt><a name=delete></a><strong>file delete</strong> ?<em>-force</em>?
|
||
?<em>--</em>? <em>pathname</em> ?<em>pathname</em>...? </dt>
|
||
|
||
<dd> Удаляет файлы или каталоги, заданные аргументами
|
||
<em>pathname</em>. Непустые каталоги удаляются, только если задана
|
||
опция <strong>-force</strong>. Попытка удалить несуществующий
|
||
файл не рассматривается как ошибка. Попытка удалить файл,
|
||
доступный только для чтения, приведет к удаления файла, даже
|
||
если опция <strong>-force</strong> не задана. Аргументы команды
|
||
обрабатываются в порядке перечисления до первой
|
||
ошибки. Отметка "--" означает конец опций. Следующий
|
||
аргумент считается именем файла или каталога, даже если он
|
||
начинается с символа "-".
|
||
</dd>
|
||
|
||
<dt><a name=dirname></a><strong>filedirname</strong> <em>name</em></dt>
|
||
|
||
<dd><p>Возвращает имя, составленное из всех элементов
|
||
<em>name</em>, кроме последнего. Если name - относительное имя
|
||
файла и состоит из единственного элемента, возвращает
|
||
"." (":" для Macintosh). Если имя
|
||
указывает на корневой каталог, возвращается имя корневого
|
||
каталога.</p>
|
||
|
||
<p>Например:</p>
|
||
<pre>
|
||
file dirname c:/
|
||
</pre>
|
||
<p>вернет <strong>c:/</strong>.</p>
|
||
|
||
<p>"Тильда"-подстановки выполняются, только если они
|
||
необходимы для формирования правильного результата.</p>
|
||
|
||
<p>Например:</p>
|
||
<pre>
|
||
file dirname ~/src/foo.c
|
||
</pre>
|
||
<p>вернет <strong>~/src</strong>, тогда как </p>
|
||
<pre>
|
||
file dirname ~
|
||
</pre>
|
||
<p>вернет <strong>/home</strong> (или что-то подобное).</p>
|
||
</dd>
|
||
|
||
<dt><a name=executable></a><strong>file executable</strong>
|
||
<em>name</em> </dt>
|
||
|
||
<dd>Возвращает <strong>1</strong>, если файл <em>name</em> исполнимый, и
|
||
<strong>0</strong> в противном случае.</dd>
|
||
|
||
<dt><strong>file exists</strong> <em>name</em></dt>
|
||
|
||
<dd> Возвращает <strong>1</strong>, если файл <em>name</em> существует,
|
||
и пользователь имеет права на просмотр каталога, в котором
|
||
лежит файл, и <strong>0</strong> в противном случае.
|
||
</dd>
|
||
|
||
<dt><a name=extension></a><strong>file extension</strong>
|
||
<em>name</em> </dt>
|
||
|
||
<dd> Возвращает все символы в <em>name</em>, начиная с последней
|
||
точки в последнем элементе. Если в последнем элементе нет
|
||
точек, возвращается пустая строка.
|
||
</dd>
|
||
|
||
<dt> <strong>file isdirectory</strong> <em>name</em> </dt>
|
||
|
||
<dd><p>Возвращает <strong>1</strong>, если <em>name</em> - имя каталога,
|
||
и <strong>0</strong> в противном случае.</p>
|
||
<pre>
|
||
file isfile <em>name</em>
|
||
</pre>
|
||
<p>Возвращает <strong>1</strong>, если файл <em>name</em> -
|
||
регулярный файл, и <strong>0</strong> в противном случае.</p>
|
||
</dd>
|
||
|
||
<dt><a name=join></a><strong>file join</strong> <em>name</em>
|
||
?<em>name</em>...?</dt>
|
||
|
||
<dd><p> Соединяет аргументы <em>name</em> в одно имя с помощью
|
||
разделителя, используемого на данной платформе. Если
|
||
очередной аргумент <em>name</em> представляет собой
|
||
относительное имя, он присоединяется к предыдущим, в
|
||
противном случае предыдущие аргументы отбрасываются, и
|
||
процесс формирования имени начинается заново с текущего
|
||
аргумента.</p>
|
||
|
||
<p>Например:</p>
|
||
<pre>
|
||
file join a b /foo bar
|
||
</pre>
|
||
<p>вернет <strong>/foo/bar</strong>.</p>
|
||
|
||
<p>Аргументы <em>name</em> могут содержать разделитель, это не
|
||
помешает получить правильный результат для используемой
|
||
платформы ("/" для Unix и Windows, ":"
|
||
для Macintosh).</p>
|
||
</dd>
|
||
|
||
<dt><a name=lstat></a><strong>file lstat</strong> <em>name</em>
|
||
<em>varName</em></dt>
|
||
|
||
<dd> То же самое, что опция <strong>stat</strong>, описанная ниже, за
|
||
исключением того, что используется команда ядра <strong>lstat</strong>
|
||
вместо <strong>stat</strong>. Это означает, что если <em>name</em> есть
|
||
имя связи, то команда вернет данные о связи, а не об исходном
|
||
файле. Для платформ, не поддерживающих связи, команды
|
||
полностью идентичны.
|
||
</dd>
|
||
|
||
|
||
<dt> <a name=mkdir></a><strong>file mkdir</strong> <em>dir</em>
|
||
?<em>dir</em>...? </dt>
|
||
|
||
<dd> Создает все перечисленные каталоги. Для каждого аргумента
|
||
<em>dir</em> команда создает все несуществующие родительские
|
||
каталоги и сам каталог <em>dir</em>. Если указан существующий
|
||
каталог, ничего не происходит. При этом команда считается
|
||
выполненной успешно. Попытка перезаписать существующий файл
|
||
каталогом приведет к ошибке. Аргументы команды обрабатываются
|
||
в порядке перечисления до первой ошибки.
|
||
</dd>
|
||
|
||
<dt><a name=mtime></a><strong>file mtime</strong> <em>name</em> </dt>
|
||
|
||
<dd> Возвращает десятичную строку, содержащую время последнего
|
||
изменения файла <em>name</em>. Время представляется стандартным
|
||
для POSIX образом в числе секунд от фиксированного начального
|
||
момента (обычно, с 1 января 1970 г.). Если файл не существует
|
||
или время последнего изменения не может быть получено,
|
||
выдается сообщение об ошибке.
|
||
</dd>
|
||
|
||
<dt> <strong>file nativename</strong> <em>name</em> </dt>
|
||
|
||
<dd> Возвращает имя файла в виде, характерном для используемой
|
||
платформы. Опция полезна для подготовки исполнения файла с
|
||
помощью команды <a href=exec.html><strong>exec</strong></a> под
|
||
Windows.
|
||
</dd>
|
||
|
||
<dt><strong>file owned</strong> <em>name</em></dt>
|
||
|
||
<dd> Возвращает <strong>1</strong>, если файл <em>name</em> принадлежит
|
||
пользователю, и 0 в противном случае.
|
||
</dd>
|
||
|
||
<dt><strong>file pathtype</strong> <em>name</em></dt>
|
||
|
||
<dd> Возвращает одно из значений <strong>absolute</strong>,
|
||
<strong>relative</strong>, <strong>volumerelative</strong>. Если <em>name</em>
|
||
указывает на определенный файл в определенном томе,
|
||
возвращается <strong>absolute</strong>. Если <em>name</em> указывает на
|
||
имя файла относительно текущего рабочего каталога -
|
||
возвращается <strong>relative</strong>. Если <em>name</em> указывает имя
|
||
файла относительно текущего рабочего каталога в определенном
|
||
томе или на определенный файл в текущем рабочем томе,
|
||
возвращается <strong>volumerelative</strong>.
|
||
</dd>
|
||
|
||
<dt> <strong>file readable</strong> <em>name</em> </dt>
|
||
|
||
<dd> Возвращает <strong>1</strong>, если файл <em>name</em> доступен для
|
||
чтения пользователю, и <strong>0</strong> в противном случае.
|
||
</dd>
|
||
|
||
<dt> <strong>file readlink</strong> <em>name</em></dt>
|
||
|
||
<dd> Возвращает имя связи <em>name</em> (например, имя файла, на
|
||
который указывает <em>name</em>). Если <em>name</em> не есть
|
||
связь, или ее невозможно прочитать, возвращает ошибку. На
|
||
платформах, на которых связи не поддерживаются, опция не
|
||
определена.
|
||
</dd>
|
||
|
||
<dt><strong>file rename</strong> ?<em>-force</em>? ?<em>--</em>?
|
||
<em>source</em> <em>target</em> </dt>
|
||
|
||
<dt><strong>file rename</strong> ?<em>-force</em>? ?<em>--</em>?
|
||
<em>source</em> ?<em>source</em>...? <em>targetDir</em></dt>
|
||
|
||
<dd> Первая форма используется для того, чтобы переименовать
|
||
файл или каталог <em>source</em> соответственно в файл или
|
||
каталог <em>target</em> (и переместить их в соответствующий
|
||
каталог, если это необходимо). Вторая форма используется,
|
||
чтобы переместить файл(ы) или каталог(и) внутрь существующего
|
||
каталога <em>targetDir</em>. Если один из аргументов
|
||
<em>source</em> есть имя каталога, то этот каталог перемещается
|
||
рекурсивно вместе со всем его содержимым. При перемещении
|
||
существующие файлы не перезаписываются, если только не указана
|
||
опция <em>-force</em>. Попытки перезаписать непустой каталог, а
|
||
также перезаписать каталог файлом или файл каталогом приводят
|
||
к ошибке, даже если опция <em>-force</em> указана. Аргументы
|
||
команды обрабатываются в порядке перечисления до первой
|
||
ошибки. Отметка "-" означает конец опций. Следующий
|
||
аргумент считается именем файла или каталога, даже если он
|
||
начинается с символа "-".
|
||
</dd>
|
||
|
||
<dt><a name=rootname></a><strong>file rootname</strong>
|
||
<em>name</em></dt>
|
||
|
||
<dd> Возвращает все символы в <em>name</em> за исключением
|
||
последней точки в последнем элементе. Если в последнем
|
||
элементе нет точек, возвращается <em>name</em>.
|
||
</dd>
|
||
|
||
<dt> <strong>file size</strong> <em>name</em></dt>
|
||
|
||
<dd> Возвращает десятичную строку, содержащую размер файла в
|
||
байтах. Если файл не существует или его размер не может быть
|
||
получен, выдается ошибка.
|
||
</dd>
|
||
|
||
<dt><a name=split></a><strong>file split</strong> <em>name</em></dt>
|
||
|
||
<dd><p>Возвращает список элементов пути name. Первый элемент
|
||
списка при этом имеет тот же тип пути, что и name. Все
|
||
остальные элементы - относительные. Разделители удаляются,
|
||
если только они не необходимы для указания на относительный
|
||
тип элементов. Например, под Unix</p>
|
||
<pre>
|
||
file split /foo/~bar/baz
|
||
</pre>
|
||
<p>вернет <strong>/ foo/~bar baz</strong>, чтобы гарантировать, что
|
||
последующие команды не попытаются выполнить "тильда"-
|
||
подстановку в третьем элементе.</p>
|
||
</dd>
|
||
|
||
<dt><strong>file stat</strong> <em>name</em> <em>varName</em></dt>
|
||
|
||
<dd> Исполняет вызов функции ядра <strong>stat</strong> и записывает
|
||
возвращаемую информацию о <em>name</em> в элементы массива
|
||
<em>varName</em>. Формируются следующие элементы массива:
|
||
<strong>atime</strong>, <strong>ctime</strong>, <strong>dev</strong>, <strong>gid</strong>,
|
||
<strong>ino</strong>, <strong>mode</strong>, <strong>mtime</strong>, <strong>nlink</strong>,
|
||
<strong>size</strong>, <strong>type</strong>, <strong>uid</strong>. Значения всех элементов,
|
||
кроме <strong>type</strong>, - десятичные строки. Описания их приведены
|
||
в описании команды ядра <strong>stat</strong>. Элемент <strong>type</strong>
|
||
содержит тип файла в том же виде, в каком он возвращается
|
||
командой <strong>file type</strong>. Команда <strong>file stat</strong> возвращает
|
||
пустую строку.
|
||
</dd>
|
||
|
||
<dt><a name=tail></a><strong>file tail</strong> <em>name</em> </dt>
|
||
|
||
<dd> Возвращает все символы в <em>name</em> после последнего
|
||
разделителя каталогов. Если в <em>name</em> нет каталогов,
|
||
возвращает <em>name</em>.
|
||
</dd>
|
||
|
||
<dt><strong>file type</strong> <em>name</em> </dt>
|
||
|
||
<dd> Возвращает строку, содержащую тип файла. Возможные значения
|
||
<strong>file</strong>, <strong>directory</strong>, <strong>characterSpecial</strong>,
|
||
<strong>blockSpecial</strong>, <strong>fifo</strong>, <strong>link</strong> или <a
|
||
href=socket.html><strong>socket</strong></a>.
|
||
</dd>
|
||
|
||
<dt> <strong>file volume</strong> </dt>
|
||
|
||
<dd> Возвращает список, содержащий абсолютные пути ко всем
|
||
подмонтированным томам. На Macintosh-платформах это список
|
||
всех подмонтированных дисков, локальных и сетевых. На
|
||
Unix-платформах команда всегда возвращает '<strong>/</strong>',
|
||
поскольку все файловые системы монтируются как локальные. На
|
||
Windows-платформах команда возвращает список локальных дисков
|
||
(например, {a:/ c:/}).
|
||
</dd>
|
||
|
||
<dt> <strong>file writable</strong> <em>name</em> </dt>
|
||
|
||
<dd> Возвращает <strong>1</strong>, если файл <em>name</em> доступен для
|
||
записи, и <strong>0</strong> в противном случае.
|
||
</dd>
|
||
</dl>
|
||
|
||
<h2>ПРОБЛЕМЫ ПЕРЕНОСИМОСТИ</h2>
|
||
|
||
<dl>
|
||
<dt> <strong>Unix</strong> </dt>
|
||
|
||
<dd>На Unix-платформах эти команды всегда используют реальные, а
|
||
не эффективные идентификаторы пользователя и группы.</dd>
|
||
</dl>
|
||
|
||
<p>См. также <a href=filename.html><strong>filename</strong></a>.</p>
|
||
</body>
|
||
</html>
|
||
|