Содержание

E.2.3. Перемещение файлов. E.2.4. Переименование файлов. E.2.5. Удаление файлов. E.2.6. Восстановление файлов. E.2.7. Изменение атрибутов файла.

E.2.3. Перемещение файлов.

Перемещение файлов является важной операцией по манипуляции информацией на диске. На уровне операционной системы эта операция реализуется в два этапа:

- копирование файлов или каталогов из одной директории в другую, не изменяя никаких атрибутов;

- удаление всех файлов или каталогов в старой директории.

Соответственно, нельзя перемещать файлы с установленными атрибутами "только чтение", "системный", "скрытый" средствами одной только операционной системы . Некоторые программные оболочки позволяют перемещать такие файлы. Как это делается, смотри описание перемещения файлов в файловых оболочках.

Процесс перемещения файлов очень похож на процесс их копирования. Ниже, в подразделах, будет рассказано о синтаксисе команд перемещения файлов и отличия этих команд от соответствующих команд копирования.

E.2.3.1. Перемещение в MS-DOS.

E.2.3.1.1. Версии DOS до 6.00 включительно.

До появления версии MS-DOS версии 6.0 перемещение файлов осуществлялось, как указано во введении: сначала проходило копирование файлов, а затем - удаление старых копий. В качестве командного файла для осуществления этой операции можно привести следующий пример:

@echo off
rem Файл Move.bat предназначен для перемещения
rem файлов командами copy и del.
echo Usage: move <old_file> <new_file>
rem Синтаксис: move <старое_место> <новое_место>

copy %1 %2 /V
del %1

rem Конец файла

E.2.3.1.2. Версии MS-DOS старше 6.0 и команды Microsoft Windows 95/98/2000

У этих версий операционной системы появилась внешняя команда для перемещения файлов - move.exe. Эта команда перемещает один или несколько файлов в указанное на диске место.

Формат команды:

move {<файлы>} <директория_назначения>,

где {<файлы>} - один и более полных или кратких имен файлов, либо шаблоны файлов.

<директория_назначения> - указание нового местоположения файла или новый каталог.

Допустимо переименовывание файлов командой move. Это делается следующим образом:

move <старое_имя> <новое имя>.

При этом запрещено использовать шаблоны!

Замечания:

1. При попытке перемещения нескольких файлов в один выведется сообщение:

Cannot move multiple files to a single file

Не могу переместить несколько файлов в один.

2. Перемещать этим способом можно не только файлы, но и каталоги.

3. Как и при копировании, запрещено циклическое перемещение.

Команда выдает следующие значения:

0 - произошло успешное перемещение всех файлов;

1 - при перемещении одного или нескольких файлов обнаружена ошибка.

E.2.3.2. Перемещение в IBM OS/2 Warp

В оболочке IBM OS/2 Warp синтаксис команды Move несколько изменился. Ее формат стал следующим:

move <имя_файла1> <имя_файла2> [<опции>],

где <имя_файла1> - полное или краткое имя файла либо шаблон файлов, которые перемещают.

<имя_файла2> - полное, краткое имя файлов либо шаблон файлов назначения.

Опции:

/Y - не запрашивать подтверждение создания директорий и записи новых файлов с именем существующих.

E.2.3.3. Перемещение файлов в операционной системе Linux.

Команды перемещения файлов в Linux имеют тот же формат, что и команды копирования. В частности, они имеют те же опции.

E.2.3.3.1. Команда mv.

Для перемещения файлов используется команда mv - аналог команды cp для копирования. Ее синтаксис:

mv <текущее_имя_файла> <новое_имя_файла>

где <текущее_имя_файла> - полные, краткие имена файлов, шаблоны и директории. Их может быть больше одного.

<новое_имя_файла> - полное, краткое имя файла, шаблон файлов или каталог назначения.

Ограничения и опции - что и у команды cp.

E.2.4. Переименование файлов.

Переименование файла в общем случае сводится к операции перемещения одного и того же файла в том же каталоге, только ему дается новое имя. Поэтому, как правило, операция переименования сходна с операцией перемещения. Рассмотрим реализацию команд переименования в разных операционных системах.

E.2.4.1. Переименование файлов в MS-DOS.

E.2.4.1.1. Команда ren

Синтаксис команды:

ren <старое_имя_файла> <новое_имя_файла>

где <старое_имя_файла> - краткое, полное имя файла либо шаблон файлов;

<новое_имя_файлов> - краткое имя файла либо шаблон.

Замечания:

1. Программа меняет только имена файлов,но не их местоположение.

Пример: команда

ren C;\util\myfile.old newfile.old

переименовывает файл myfile.old в каталоге c:\util\ в файл newfile.old, который будет располагаться в том же каталоге. Следующая же команда выдаст сообщение об ошибке:

ren C:\util\myfile.old C:\dos\newfile.old

2. Если в качестве имени указывается шаблон файлов, то шаблон должен указываться и в новом имени.

Пример:

ren *.doc *.txt

Команда переименовывает все файлы с расширением doc в текущей директории в файлы с тем же именем и расширением txt. Следующая же команда выдаст сообщение об ошибке (или, что еще хуже, уничтожит все файлы с расширением doc):

ren *.doc my.txt

Сообщения:

a) Dublicate filename or File not found

Появляется при попытке присвоения файлу уже существующего имени или при необнаружении в каталоге файла со старым именем.

b) Invalid number of parameters.

Неправильное число параметров.

Указано более двух параметров в команде или неправильно записано имя файла.

c) Missing file name

Потеряно имя файла

Не определено либо не указано новое имя файла.

E.2.4.1.2. Переименование файла командой move.

Данная операция описана в разделе E.2.3.1.2., посвященном описанию команды move.

E.2.4.1.3. Переименование метки диска.

В операционной системе MS-DOS версий 4.0 и старше появилась так называемая метка диска. Она представляет собой 11 алфавитно-цифровых символов и предназначена для информирования пользователя о своем содержимом.

Метка устанавливается при высокоуровневом форматировании дисков (см. выпуск, посвященный файловым системам). Однако и в MS-DOS, и в IBM OS/2 ее можно сменить командой label.

Ее синтаксис

label [<дисковод>:] [<метка>]

где <дисковод> - буква диска, на котором надо просмотреть/изменить метку.

<метка> - метка, устанавливаемая командой.

Замечания:

1. Метка не должна содержать символы:

* ? / \ | . , ; : + = < > [ ] (пробел)

2. При вызове команды label без параметров появляется надпись:

Volume in drive <диск> is <метка>


Volume label (11 characters, ENTER for none)?

Метка на диске <диск> - <метка>

Метка диска (11 символов, ENTER если нет)?

Если введена новая метка, то она заменит старую метку.

Иначе появляется надпись:

Delete current volume label (Y/N)?

Удалить текущую метку тома (Да/Нет)?

Тогда нажатие клавиши Y удаляет текущую метку тома, а нажатие клавиши N оставляет метку тома без изменения.

Сообщения:

a) Invalid characters in volume label.

Volume label (11 characters, ENTER for none)?

Недопустимые знаки в имени метки (см. замечание 1 к этому разделу.) Введите метку заново.

b) Cannot LABEL a SUBSTed or ASSIGNed drive.

Команда Label не может быть применена на дисководах, определенных командами ASSIGN и SUBST.

c) Cannot label a network drive.

Нельзя назначить метку сетевому диску.

d) Invalid drive specification.

Ошибка при указании буквы тома или дисковода.

e) Delete current volume label (Y/N)?

Запрос на удаление метки у диска. Нажатие клавиши Y удаляет метку, N - отказ от удаления метки.

6. No room in root directory.

В корневом каталоге нет места для нового имени (FAT). В файловой системе метка тома - такой же элемент файловой системы, что и файл или каталог. Для записи метки необходимо удалить какой-либо файл или каталог из корневого каталога.

E.2.4.2. Переименование файлов в IBM OS/2 Warp.

Команды OS/2 Warp ren, move и label аналогичны тем же командам в MS-DOS.

E.2.4.3. Переименование файлов в Linux.

В Linux нет специальной команды для переименования файлов. Все операции по переименованию файлов выполняет команда mv. Однако для работы в Linux c дискетами, отформатированных под систему MS-DOS, используются команды mren и mlabel.

Формат команды mren:

mren <старое_имя_файла> <новое_имя_файла>

По этой команде происходит переименование файла MS-DOS на дискете по правилам команды ren MS-DOS.

Для смены метки диска на дискете в Linux используется команда mlabel, аналогичная команде label MS-DOS.

В UNIX (в частности, в Linux и в IRIX) метка тома НЕ ЗАДАЕТСЯ! (Поскольку отсутствует понятие "дисковод" на уровне редиректора файловой системы.)

E.2.5. Удаление файлов.

При работе с операционными системами возникают ситуации, когда необходимо избавится от "лишних" файлов. "Лишними" могут быть:

1. Временные файлы операционной системы и прикладных программ, не удаленные автоматически при завершении их работы.

2. Файлы резервных копий документов (с расширением *.bak).

3. Файлы пользователя, которые ему более не нужны.

4. Файлы, испорченные после сбоев оборудования и операционной системы.

5. Файлы, у которых уже есть дубликаты.

Для удаления файлов в операционных системах существуют специальные команды, о которых автор сейчас расскажет.

E.2.5.1. Удаление файлов в MS-DOS.

Для удаления файлов в MS-DOS служит внутренняя команда Del (от слова delete - удалять). Ее синоним - команда Erase.

E.2.5.1.1. Команда Del (Erase) до версий DOS 4.0.

Формат команды:

del <имя_файла>

или

erase <имя_файла>

где <имя_файла> - полное, краткое имя файла либо шаблон файлов.

Замечания:

1. Команда удаляет только файлы . Для удаления каталогов служит другая команда.

2. Команда не удаляет файлы с установленными атрибутами Read Only, Hidden, System. Для удаления этих файлов нужно либо снять эти атрибуты командой attrib, либо воспользоваться специальными программами (например, файловой оболочкой).

3. Если указаны шаблоны файлов вместо имени файла, то будет выдан запрос на удаление всех файлов.Если указаны дисковод и/или путь доступа, но не указаны имена файлов, то удаляются все файлы в указанном каталоге.

Сообщения:

a) Are you sure (Y/N)?

Вы уверены (Да/Нет)?

Сообщение выдается перед удалением всех файлов в каталоге. Если Вы нажмете клавишу Y, то команда уничтожит все файлы в каталоге (кроме указанных в замечании 1.) Нажатие клавиши N приводит к отмене команды.

b) Access denied.

Доступ закрыт

Попытка удаления файла с атрибутом read only. Также сообщение выдается, если файл открыт другой программой (в сетевых и/или в многозадачных операционных системах).

c) File not found

Файл не найден.

Файл, указанный в команде, не обнаружен в каталоге, который задан в команде del (или в текущем каталоге).

d) Invalid drive specification

Ошибка в указании дисковода.

Возможно, указан несуществующий дисковод или опущено двоеточие после имени дисковода.

e) Invalid number of parameters

Неправильное число параметров.

Допущена ошибка в командной строке. Это могут быть лишние знаки, пробелы, а также указание в командной строке более одного имени файла или шаблона.

E.2.5.1.2. Команда Del (Erase) версии DOS 4.0 и старше.

В этих версиях DOS допускается использование после имени файла ключа /D. При использовании этого ключа DOS будет запрашивать перед удаление каждого файла из группы:

<имя_файла> Delete (Y/N)?

<имя_файла> Удалить (Да/Нет)?

Необходимо нажать Y для удаления файла или клавишу N для отмены удаления именно этого файла. После этого выводится запрос на удаление следующего файла из группы. Для остановки удаления группы нажмите Ctrl+C (Ctrl+Break).

E.2.5.2. Удаление файлов в IBM OS/2.

Для удаления файлов в операционной системе IBM OS/2 служат команды Del и Erase. Их синтаксис аналогичен синтаксису одноименных команд в MS-DOS версии 4.0 (смотри E.2.5.1.2.)

E.2.5.3. Удаление файлов в Linux.

Для удаления файлов в операционной системе Linux (как и в любом клоне UNIX) существует команда rm (сокращение от remove - удалить). Формат команды следующий:

rm [<опции>] {<имя_файла>}

Как видно из описания, в отличие от команды Del в MS-DOS командой можно удалить несколько файлов.

Замечания:

1. В качестве имен файлов можно указывать краткие, полные имена или шаблоны файлов. Допускается указание нескольких шаблонов.

2. Команда rm удаляет (а, точнее, стирает) файлы без какого либо предупреждения. Для того, чтобы вывести предупреждение перед удалением каждого файла из группы, используйте опцию -i. Она аналогична опции /D в MS-DOS.

E.2.6. Восстановление файлов.

Иногда пользователю нужно восстановить случайно удаленные им файлы. Сразу необходимо заметить, что это можно сделать не всегда и не для всех файловых систем. Например, непредусмотрено восстановление файлов в файловых системах UNIX. Затруднено также восстановление файлов в файловой системе Novell NetWare. Более того, даже в операционных системах фирмы Microsoft невозможно восстановление файлов, если на место восстанавливаемых файлов была уже записана другая информация. Поэтому, если Вы хотите по-настоящему обезопасить себя от удаления нужных Вам файлов, следует приобрести программы, которые предохраняют от "физического" удаления файлов с жесткого диска. Для операционных систем фирмы Microsoft это утилиты из пакета Norton Utilites.

Далее в этом разделе будут рассмотрены штатные и специальные средства восстановления файлов.

E.2.6.1. Восстановление файлов в операционной системе MS-DOS.

E.2.6.1.1. Команда UNDELETE MS-DOS v.5.0.

Уже в операционной системе MS-DOS версии 5.0 появилась команда, позволяющая восстанавливать случайно удаленные файлы - команда undelete. Формат команды:

undelete {<диск>:][\<путь>\][<файл>] [<опции>]

Параметры:

<диск>: - символ дисковода, на диске которого находятся удаляемые файлы. Если дисковод опущен, подразумевается текущий диск.

<путь> - путь к каталогу, в котором находятся восстанавливаемые файлы. Если путь опущен, подразумевается текущая директория диска.

<файл> - имя файла либо шаблон восстанавливаемых фалов. Если не указан, подразумевается шаблон (*.*).

Ключи:

/LIST - вывод на экран списка всех удаленных файлов, которые еще можно восстановить, без самого восстановления.

/ALL - восстановление всех файлов в каталоге. Подтверждение на восстановление не запрашивается. Если существует файл отслеживания удалений, то команда прежде всего восстановит файлы, указанные в нем. При этом имена файлов восстанавливаются полностью. Если этого файла нет, то команда undelete восстанавливает файлы, используя информацию в DOS. Недостающие имена фалов заменяются на (последовательно):

#, %. &, -, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Пример: пусть удалены файлы aa.txt и ba.txt . После команды undelete они восстановятся в файлы #a.txt и %a.txt. После чего их нужно переименовать командой ren.

/DOS - файлы восстанавливаются исходя из информации, сохраненной DOS, не используя файл отслеживания. При восстановлении файлов на первый запрос системы необходимо ответить Y(Да), а затем указать первый символ имени файла.

/DT - из всех файлов восстанавливаются только те, информация о которых записана в файле отслеживания удалений.

Примечание: файл отслеживания удалений существует только для MS-DOS версии 5.0 и выше. В операционной системе MS-DOS версии 5.0 существует резидентная программа для протоколирования изменений на диске. Запуск этой программы происходит по команде:

mirror /T<диск>

где <диск> - буква протоколируемого диска.

По этой программе в корневом каталоге создается файл mirrorsav.fil, а после применения команды del - и файл pctrackr.del с информацией об удаленных файлах и каталогах.

С помощью этих средств возможно восстановление файлов даже из удаленных каталогов. По-другому эти файлы можно восстановить только утилитой diskedit.

E.2.6.1.2. Команда UNDELETE операционной системы MS-DOS версии 6.0.

Эта программа предлагает восстановление случайно удаленных файлов при помощи методов дежурного удаления , поискового удаления и стандартного удаления .

Дежурное удаление - "Delete sentry"

При использовании этого метода утилита создает скрытый каталог "SENTRY" в корневом каталоге диска. При удалении файлов с диска происходит перемещение файлов в этот каталог. Размер этого каталога ограничен и составляет обычно 7% от общей емкости диска.

Если этот каталог не вмещает последний удаленный файл, то утилита undelete производит удаление более ранних файлов до тех пор, пока удаленный файл не поместится в каталог.

Дополнительные ключи для режима дежурного удаления:

/DS - восстановление файлов из дежурного каталога "SENTRY".

/S<диск> - включение метода защиты фалов от удаления на диске <диск> с использованием дежурного каталога.

/PURGE<диск> - удаление содержимого дежурного каталога на диске <диск>.

Поисковое удаление - "Delete tracker"

Этот режим аналогичен команде MS-DOS v. 5.0 mirror /T<диск>. Он обеспечивает ту же степень защиты. Для реализации этого способа защиты в команду undelete добавлен ключ:

/T<диск>-<число>

где <диск> - защищаемый логический диск, <число> - число файлов на этом диске, о которых будет сохраняться информация (от 1 до 999). На каждый такой файл требуется 200 байт дискового пространства. По-умолчанию значения <число> устанавливаются такими, как указано в таблице:

Размер диска

Число файлов

360 Кбайт

25

720 Кбайт

50

1.2 Мбайт

75

1.44 Мбайт

75

20 Мбайт

101

32 Мбайта

202

>32 Мбайт

303

Стандартный режим восстановления файлов.

Отличий от MS-DOS версии 5.0 нет.

Дополнительные ключи команды UNDELETE MS-DOS v. 6.0.

Появились следующие ключи:

/STATUS - вызов на дисплей типа защиты от случайного удаления файлов на каждом диске.

/LOAD - загрузка программы undelete в память с последующим ее использованием как резидентной. Программа использует установка файла undelete.ini.

/UNLOAD - выгрузка резидентной части программы undelete из памяти.

Файл undelete.ini содержит следующие разделы:

"дежурные" диски;

"дежурные" файлы;

"зеркальные" диски;

конфигурация;

по-умолчанию.

В разделе "дежурные" диски указаны диски, защищенных средствами "дежурного удаления", и приведена информация о них, а в разделе "зеркальные" диски - с использованием метода "поисковое удаление".

В списке "дежурных" файлов приведен список всех файлов, защищаемых на диске. Наличие символа "-" указывает на исключение файла из списка сохраняемых. По-умолчанию не охраняются следующие файлы:

*.tmp, *.vm?, *.woa, *.swp, *.spl, *.rmg, *.img, *.thm, *.dov

В разделе "конфигурация" для пользователя важны следующие пункты:

- Сохранение "архивных" файлов (со сброшенным атрибутом "архивный"). По-умолчанию - нет. Ключ:

archive=FALSE;

- Число дней, в течение которых будет сохраняться информация о файлах. По умолчанию - семь дней. Ключ:

days=7;

В разделе [defaults] ("по-умолчанию") приводится метод защиты каждого из дисков, принятый по-умолчанию.

После формирования файла undelete.ini (который, при его отсутствии, создаст сама система) командой

undelete /LOAD

можно запустить систему отслеживания удаленных файлов. В памяти резидентная часть программы undelete занимает 13,5 Кбайт.

E.2.6.2. Восстановление файлов средствами Norton Utilites.

E.2.6.2.1. Программа quick unerase (qu).

В комплекте Norton Utilites for DOS 4.5 для восстановления удаленных файлов имеется программа quick unerase (qu). Формат этой команды:

qu [<диск>:][\<путь>\][\<имя_файла>]

Команда не содержит опций. Она эквивалентна программе undelete MS-DOS версии 5.0 в стандартном режиме восстановления файлов.

Работа команды.

Программа qu, запущенная без параметров, будет предъявлять имена файлов, которые еще можно восстановить. Вместо первого символа будет указан символ "?". Далее выводится надпись:

Do you wish to quick unerase file (Y/N)?

(Хотите ли Вы восстановить этот файл (Y-Да/N-Нет)?)

Если Вы не хотите восстанавливать файл, нажмите клавишу N. Иначе нажмите Y. В этом случае программа попросит ввести первый символ восстанавливаемого файла. После ввода этого символа файл восстановится.

Примечание. Программу qu желательно использовать для версий MS-DOS вплоть до 5.0. В этих операционных системах нет собственных средств восстановления файлов, и программа qu может пригодиться. Для более старших версий DOS используйте команду undelete, поставляемую вместе с операционной системой, или команду unerase из пакета Norton Utilites for DOS v. 6.0 и старше, а также Norton Utilites for Win32 версий 2.5 и старше.

E.2.6.2.2. Команда unerase пакета Norton Utilites.

Программа unerase предназначена для восстановления файлов в MS-DOS или режиме эмуляции MS-DOS программ Microsoft Windows 95/98. Программа восстанавливает файлы в разделах FAT12, FAT16 и FAT32 (Norton Utilites for Win32 v. 3.01 и старше). Программа работает в собственной псевдографической оболочке.

Вызов команды unerase:

unerase [<диск>:][\<путь>\][\<имя_файла>]

Смысл ее параметров - тот же, что и в команде undelete. Программа не имеет опций, и восстанавливает файлы в стандартном режиме восстановления. Если запускать программу без параметров, то она будет работать в диалоговом режиме.

Рис. E.6. Главное окно программы UNERASE

После запуска программа выводит список имен удаленных файлов в текущем каталоге. Список представлен в шести столбцах. В первом столбце отображается имя файла. Вместо начальной буквы у него стоит символ "?". В остальных столбцах выводится последовательно: расширение файла, его размер (Size) , дату (Date) , время (Time) последней модификации. В последнем столбце находится так называемый прогноз файлов . Возможны следующие варианты прогноза:

"poor" - плохой прогноз (начало файла затерто);

"average" - посредственный (файл фрагментирован, но его начало не затерто);

"good" - хороший прогноз (файл не фрагментирован, и его начало не затерто);

"excellent" - отличный прогноз (файл сохранен с помощью программы Erase Protect, либо в каталог не было записано ни одного файла.)

По списку файлов можно "ходить" клавишами " стрелка верх ", " стрелка вниз ", PgUp , PgDn , Home , End . Их назначение то же, что и в окне-списке.

Рис. E.7. Окно Info программы UNERASE

Рис. E.8. Окно View программы UNERASE

Ниже окна-списка расположены кнопки Info, View, UnErase. Выбор кнопки " Info " выдает информацию о файле . Выбрав кнопку " View ", можно просмотреть содержимое файлов . В ходе просмотра можно использовать клавиши PgUp , PgDn , выход - клавиша Esc .

Рис. E.9. Окно восстановления файла программы UNERASE

Выбрав кнопку "UnErase ", можно восстановить файл. Появится вспомогательное окно с именем файла и приглашением нажать первую букву имени файла. Необходимо ввести букву и нажать клавишу Enter . Если же вместо этого нажать Esc , то файл восстановлен не будет.

Можно также восстановить несколько удаленных файлов. Для этого необходимо их выделить клавишей " Пробел ", затем нажать кнопку " UnErase ". Появится диалоговое окно, в котором запрашивается, надо ли делать запросы о первой букве файла.

- Нажатие "Enter " - приступить к восстановлению файлов с запросом первой буквы файла.

- Нажатие "Пробел " и "Enter " - приступить к восстановлению файлов без предварительного запроса первой буквы (программа Unerase будет подставлять в имена файлов букву a, b и т.д.)

- Нажатие "Esc " приведет к отмене восстановления файлов.

Выход из программы unerase - все та же клавиша " Esc ".

E.2.6.2.3. Программа SmartCan.

Для реализации с помощью утилит Нортона режима "дежурного" удаления файлов (см. подраздел E.2.6.1.2.) в Norton Utilites for DOS v. 7.0 и старше существуют две утилиты: SmartCan и Erase Protect. Исходя из их описания, которое было у автора, он не понял особой разницы в принципе работы этих программ. Вероятно, это просто версии одного и того же разных групп программистов. Тем не менее автор опишет принцип работы обоих этих программ.

Программа SmartCan создает в корневой директории защищаемого диска директорию. В эту директорию помещаются все удаленные командой del файлы. Это напоминает каталог "Sentry", созданной программой undelete. В отличие от этой программы, при запуске программы SmartCan появляется диалоговое окно с настройками. Формат этого окна следующий:

Рис. E.10. Главное окно программы SmartCan

Слева расположен флажок Enable SmartCan - включение режима отслеживания удалений. Далее расположены переключатели, которые указывают на защищаемые файлы. Их значения:

- All Files - защищаются все файлы.

- Only the File Listed - только файлы, указанные в списке.

- All Files Except Thouse Listed - все файлы, кроме указанных в списке.

Далее находится флажок, который разрешает защищать от удаления файлы с установленным атрибутом "архивный". Затем располагается собственно список файлов.

Еще ниже расположены флажки, которые определяют параметры защиты файлов. Первый флажок, установленный по-умолчанию, разрешает программе автоматически удалять из директории файлы, имеющие "срок удаления" более пяти дней (этот срок можно менять). Установка второго флажка (сброшенного по-умолчанию) ограничивает размер директории в <n> килобайт.

Справа от этих элементов управления находятся четыре кнопки: OK , Drives , Purge и Cancel . Выбор кнопки " Cancel " отменяет все изменения и приводит к выходу из программы. Выбор кнопки " OK " приводит к сохранению новых настроек и выходу из программы. Назначение других кнопок рассмотрим по-подробнее.

Рис. E.11. Окно Drive программы SmartCan

Кнопка Drives открывает вспомогательное окно, в котором можно определить диски, защищаемые с помощью этого метода. Слева находится список со всеми доступными системе логическими дисками. Во втором столбце находятся флажки, которые устанавливают защиту на:

- все съемные диски (All Floppy Drives );

- все локальные жесткие диски (задан по-умолчанию) ( All Local Drives );

- все сетевые диски ( All Network Drives ).

Справа расположены две кнопки: OK и Cancel , назначение которых прозрачно.

Рис. E.12. Окно принудительного удаления файлов программы SmartCan

Кнопка "Purge..." открывает диалоговое окно, в котором можно принудительно удалить все или некоторые файлы из созданной директории. Оно содержит список файлов в директории и кнопки для их удаления.

Указанные установки записываются в файл SmartCan.ini .

Программа с установками по-умолчанию запускается автоматически из командной строки программой:

smartcan /ON

Как видно из описания этой программы, она позволяет осуществить "дежурное" удаление файлов не только на локальных дисках с FAT16, но и на сетевых дисках, работающих под управлением Novell NetWare и Microsoft Windows NT! Однако применимость этой программы ограничивается рабочими станциями под управлением MS-DOS и Microsoft Windows 3.1x. (А жаль!).

E.2.6.2.4. Программа Erase Protect.

Исходя из документации, программа Erase Protect осуществляет те же операции, что и программа SmartCan, но занимает при этом меньше памяти и лишена многих ее настроек и возможностей. Ее интерфейс более приближен к той же реализации "дежурного" сохранения, принятому в графическом интерфейсе.

Программа Erase Protect (ep) создает в корневом каталоге защищаемого диска скрытый каталог EP, в который она помещает удаленные системой файлы. Для запуска программы с параметрами по-умолчанию необходимо ввести следующую команду:

ep /ON

Параметры настройки по-умолчанию находятся в файле ep.ini . Изменить их можно, вызвав программу ep без параметров.

Рис. E.13. Главное окно программы Erase Protect

При запуске этой программы без параметров появляется диалоговое окно с четырьмя кнопками. Справа от кнопки находятся описания этих кнопок и текущие настройки.

Рис. E.14. Окно выбора дисков программы Erase Protect

Первая кнопка называется " Choose drive ". Она предназначена для указания дисков, на которые распространяется защита. Обратите внимание; сетевые диски программой Erase Protect не поддерживаются!

Рис. E.15. Окно параметров защиты программы Erase Protect.

Вторая кнопка называется "File protection " и вызывает диалоговое окно, в котором устанавливаются параметры защиты файлов (тип файлов, расширения, атрибут "архивный" и т.п.)

Третья кнопка называется "Purge files " и предназначена для удаления некоторых или всех файлов из директории EP. При ее нажатии появляется соответствующее диалоговое окно.

Рис. E.16. Окно принудительного удаления файлов программы Erase Protect.

Последняя кнопка, " Quit " предназначена для выхода из программы и сохранение текущих изменений.

E.2.7. Изменение атрибутов файла.

Помимо имени и расширения, у любого файла есть и дополнительные, важные для него свойства. Это так называемые Атрибуты . Атрибуты файлов указывают, какие операции разрешены для файла, а какие - нет. Для каждой из операционных систем выбираются свои атрибуты. Более того, у каждой из поддерживаемых одной операционной системой файловых систем могут быть разные атрибуты!

Атрибуты для различных файловых систем будут подробно рассмотрены в выпуске, посвященном дискам и файловым системам. В этом разделе будет рассмотрена достаточно тривиальная ситуация - смена атрибутов для файловой системы FAT.

E.2.7.1. Смена атрибутов файла средствами MS-DOS.

Атрибуты файлов в MS-DOS меняются командой attrib (от английского attribute - атрибут). Формат команды:

attrib [+R|-R][+A|-A][+S|-S][+H|-H] <имя_файла> [/S]

где <имя_файла> - полное или краткое имя фала, либо шаблон файлов.

Опции:

+R/-R - установка/сброс атрибутов файла "только чтение" (MS-DOS 3.00).

+A/-A - установка/сброс атрибута "архивный" (MS-DOS 3.20).

+H/-H - установка/сброс атрибута "скрытый" (MS-DOS 5.00)

+S/-S - установка/сброс атрибута "системный" (MS-DOS 5.00).

/S - устанавливает либо сбрасывает атрибуты не только в текущем, но и во всех подкаталогах текущего каталога.

Команда attrib без опций установки/сброса атрибутов выдает атрибуты файла(-ов).

Сообщения команды attrib.

a) Incorrect DOS version

(Неправильная версия DOS)

Команда attrib не совместима с данной версией DOS.

b) Invalid drive specification

(Неправильная спецификация дисковода)

Указан символ несуществующего дисковода.

c) Invalid number of parameters

(Неправильное число параметров)

Не указано имя файла.

d) Invalid path or file not found

(Неправильный путь или файл не найден)

Указано несуществующее имя дисковода или файла.

e) Syntax error

(Синтаксическая ошибка)

Вместо ключа /S указан другой ключ, либо отсутствуют символы "+" или "-" перед буквами R, A, H или S.

Примеры:

attrib myfile.txt

просмотр атрибутов у файла myfile.txt

attrib +R -A *.txt

установка атрибутов "только чтение" (+R) и сброс атрибута "архивный" (-A) у всех файлов с расширением *.txt в текущей директории.

attrib +R A:\*.* /S

установка защиты от удаления на все файлы дискеты, находящейся в дисководе A:\

Замечания:

1. Имя файла меняется командой ren без смены его атрибута. Изменение имени файла с установленным атрибутом "только чтение" командой move невозможно !

2. Команда cpoy некоторых версий MS-DOS сбрасывает атрибут "только чтение" у скопированных файлов. Команда же копирования в файловых оболочка обычно сохраняет атрибут "только чтение" у скопированных файлов.

E.2.7.2. Команда attrib операционной системы IBM OS/2

Команда этой операционной системы полностью совместима с аналогичной командой MS-DOS, однако позволяет менять атрибуты и в файловой системе HPFS.

E.2.7.3. Смена атрибутов в UNIX-подобных операционных системах.

Атрибуты файлов в файловых системах UNIX-подобных операционных систем принято называть правами доступа. Существует три вида прав доступа:

1. Право на чтение - r.

2. Право на запись - w.

3. Право на исполнение - x.

Существуют также три категории доступа к файлам. К первой категории относится "владелец" - создатель файла. Ко второй категории относится любой из пользователей, работающий в одной группе с владельцем. И, наконец, к третьей категории относятся все остальные пользователи. При выводе на экран полного списка файлов выводится в один ряд и права доступа (см. рисунок E.5).

Команда chmod используется для смены прав доступа к файлу в любой категории. С ее помощью можно менять атрибуты файлов двумя способами: с помощью символов и с помощью маски. Рассмотрим эти способы по-подробнее.

E.2.7.3.1. Смена атрибутов с помощью символов.

При этом способе смены атрибутов права доступа обозначаются буквами r, w и x. Установка права обозначается как "+", а сброс - "-". Категории доступа обозначаются следующим образом: u (от User) - "владелец", пользовательские права, g (от Group) - права группы, и o (от Others) - права остальных пользователей компьютера. Есть специальный символ - a (от All). Он обозначает права всех категорий пользователей.

Пример:

chmod u+x g-r myfile

- устанавливает право доступа на выполнение для пользователя и сброс права чтения для группы. Операция применяется к правам доступа файла myfile.

chmod u+w g+w o+w *.txt

или

chmod a+w *.txt

- установка прав на запись для всех файлов с расширением txt в любой категории доступа.

Следует отметить, что не указанные в команде права при этом способе не меняются .

E.2.7.3.2. Смена атрибутов абсолютным способом (с помощью маски).

При изменении прав доступа по этому методу в качестве метки используются три восьмеричных числа. Смысл каждого числа - это представление атрибутов rwx в виде двоичной маски (рисунок E.17). Указание 1 в маске соответствует установке атрибута, а 0 - его сброса. Эта двоичная маска с тремя разрядами легко записывается в виде восьмеричного числа.

Рис. E.17. Образование маски из атрибутов.

Первое восьмеричное число задает права доступа для пользователя, второе - для группы, третье - для остальных пользователей.

Пример:

chmod 754 texts

- установка для файла texts всех прав доступа для пользователя, чтение и выполнение - для группы и только чтение - для всех остальных. Все остальные опции сбрасываются.

Примечание. Команда chmod, запущенная абсолютным методом, меняет все права доступа по указанной маске. Ее нежелательно использовать, если необходимо изменить не все, а, например, один атрибут.

Назад | Содержание | Вперед