1) Команда copy не копирует:
a) каталоги,
b) скрытые и системные файлы.
2) Команда copy не копирует "образ" дискеты. То есть команда
copy a:\*.* b:\
не создаст образ дискеты в смысле одинакового положения файлов на обоих дискетах. Однако при копировании с помощью этой команды все файлы на диске B: будут расположены максимально плотно (то есть в последовательных секторах). Это является одним из достоинств данной команды.
Образ же дискеты лучше всего делается командой diskcopy, входящей в состав MS-DOS, или программой diskdupe.exe. Последняя может даже создавать образ дискеты в виде файла, чем широко пользуются компьютерные пираты, незаконно воспроизводя дистрибутивы с дискет.
3) При копировании файла в каталог, где существует файл с тем же именем, содержимое последнего СТИРАЕТСЯ!
4) Командой copy нельзя копировать двоичные файлы с символьных устройств ввода/вывода. К таким устройствам относятся все устройства, подключаемые к последовательным и параллельным портам компьютера, а также консоль (клавиатура.)
4. Сообщения при копировании файлов.
a) <n> file(s) copied
<n> файлов скопировано
Успешно скопировано <n> файлов.
b) File not found
Файл не найден.
c) File cannot be copied onto itself
Файл не может быть скопирован сам на себя
Попытка копирования файла на себя. Не было указано, где содержится копия. В подобной ситуации MS-DOS копирование не производит.
d) Insufficient disk space
Недостаточно места на диске
Не хватает места на целевом диске для копируемого файла.
e) Cannot do binary reads from device
Не могу осуществить бинарный ввод с устройства
Используется ключ /B при копировании текста с какого-либо устройства (CON, AUX, PRN и других - смотри раздел, посвященный редиректору DOS). С этих устройств могут копироваться только текстовые файлы, заканчивающиеся символом EOF. Пример неправильного использования такой опции:
copy /B con myfile.doc
f) Invalid path or file name
Неправильный путь или имя файла.
Неправильно указано имя файла или путь доступа, некорректно используется имя каталога или оно неправильно записано. Выполнение команды прерывается.
При использовании жестких дисков может возникнуть ситуация, когда создается так много файлов, что возникает затруднения с их подбором и систематизацией [Эско Валтанен]. Этой ситуации не возникало при использовании старых мэйнфреймов, информация для которых хранилась на перфокартах, бумажных и магнитных лентах, и на других съемных носителях. Не было ее и в операционной системе CP/M и ее "наследнице" MS-DOS v. 1.0, данные к которым хранились на тех же съемных носителях - дискетах.
Ситуация начала меняться с появлением жестких дисков. Первоначально они имели небольшой объем - всего 10 - 20 объемов дискет. Однако компьютеры с жестким диском были очень дорогими, и поэтому они использовались несколькими пользователями одновременно (вернее, попеременно). Так как пользователям могла понадобиться работа с файлами с одинаковыми именами, но разным по содержанию, логично было файлы каждого пользователя поместить в одинаковый каталог, или директорию. В MS-DOS каталоги появились начиная с версии 2.0.
Скоро выяснилось, что каталоги можно использовать не только для разделения дискового пространства между пользователями, Оказалось, что с помощью директорий можно систематизировать данные на жестком диске и сменных носителях. Так появилось второе название директории - каталог.
Чтобы не запутаться и быстро находить все свои файлы, при построении структуры каталогов (или дерева каталогов) необходимо руководствоваться следующими правилами:
1. Разнородную информацию размещайте в разных, а однородную - в одном каталоге.
2. Разделяйте программы и данные. Программные пакеты храните в отдельных корневых подкаталогах, а данные пользователя - в каталогах типа USER. В этом отношении идеальны операционные системы Microsoft Windows 95/98/2000/NT4. В них все программные пакеты хранятся в поддиректориях корневой директории "\Program Files", а данные пользователя - в каталоге "\My documents" (или "\Мои документы" в русифицированных версиях).
3. Разделяйте данные разных пользователей, если это не сделано операционной системой (типа Microsoft Windows 2000/NT4). Для этого в каталоге данных (типа \USER или "\My documents") создайте дополнительные подкаталоги (\Vasya, \Yuri, \Inna и т.д.) Однако наилучшем именем будет сокращение из первых букв имени, фамилии и отчества пользователя (типа \YuAD, \IAB и т.д.).
В операционных системах Microsoft Windows 2000/NT4 в качестве папки данных по-умолчанию выбирается папка \Privacy (\Личная), расположенная в системных областях операционной системы и имеющая уникальный путь для каждого пользователя.
4. В своих директориях структурируйте данные своих проектов. Например, создавайте поддиректории \Otchet, \Games, \Private, \Work, \Misc, \Util и т.п.
1. Как правило, удаленный каталог почти невозможно восстановить. Восстановление каталога в MS-DOS возможно с помощью утилиты DiskEdit.
2. Каталоги нельзя разрезать и объединять (кроме Microsoft Windows 2000 - см. описание ее файловых систем.)
3. Во многих операционных системах переместить или переименовать каталоги можно, только создав новый, переписать данные из старого каталога и лишь затем удалив старый.
4. Каталог можно открыть. При этом открытый каталог становится текущим.
5. У любого каталога можно прочитать его оглавление - список файлов и подкаталогов, находящихся в нем.
6. Все действия по-умолчанию перенаправляются в текущий каталог. В любой момент времени существует единственный текущий каталог.
7. Каталог можно закрыть, только перейдя в другой каталог.
8. У каждого каталога, кроме корневого каталога, обязательно есть родительский каталог.
Эти особенности определяют возможности операций с каталогами. И далее автор рассматривает операции с каталогами в различных операционных системах с учетом этих особенностей.
Как Вы узнаете из последующих выпусков, каталог - это разновидность файла. Поэтому к ним применяются те же операции что и для файлов. Однако у каталогов есть своя специфика. В чем она заключается?
В командной строке для всех операционных систем Microsoft служит команда Dir. Ее синтаксис:
dir [<опции>] {<путь>]|{<имя_файла>}
Параметры команды следующие:
<диск>:\<путь>\ указывают имена диска (устройства) и каталога, листинг которого желательно получить. <имя файла> - это указание имени файла (или шаблона группы файлов), характеристики которых нужно просмотреть. Если опущено имя файла или шаблон группы файлов, то выводится листинг всех файлов в каталоге (как при шаблоне *.*).
Если опущено имя устройства, то подразумевается текущий каталог указанного устройства.
Примеры:
dir *.com - список всех файлов с расширением .com текущего каталога.
dir \USERS\n*.* - список всех файлов, начинающихся с буквы "n", в каталоге USERS текущего диска.
dir a: - вывод оглавления текущего каталога диска А.
dir a:\ - вывод оглавления корневого каталога диска А.
Команда dir без параметров выводит содержимое текущего каталога с опциями выбора и сортировки по-умолчанию.
В именах файла можно использовать шаблоны. в качестве имен допускаются только краткие имена.
Пример:
dir myfile.doc
- выводит имя myfile.doc если он есть в каталоге, или пустой каталог, если этот файл не содержится в текущем каталоге.
dir myfile.*
dir myfile
- выводит все файлы с именем myfile и любым расширением, если они есть в текущем каталоге.
dir *.txt
dir .txt
- выводит все файлы с расширением txt, находящиеся в текущем каталоге.
dir ?.txt ??.txt
- выводит все файлы с расширением txt в текущем каталоге, имеющих имя в один или два символа.
Вместо имен фалов допускается указывать путь к каталогу, причем только один.
Пример:
dir a:
-выводит оглавление текущего каталога диска a:
dir \
- выводит оглавление корневого каталога текущего диска.
dir a:\
- выводит оглавление корневого каталога диска a:
dir \util\tmp\
- выводит оглавление подкаталога tmp каталога util текущего диска, начиная с корневого каталога.
dir util\tmp
- выводит оглавление подкаталога tmp каталога util текущего диска, начиная с текущего каталога.
В UNIX для выдачи содержимого каталога используется команда ls.
В UNIX формат команды ls следующий:
ls [опции][<путь>][<имя файла>]
где <путь> - указание имени каталога, листинг которого следует произвести.
<имя файла> - имя файла (или шаблон группы файлов), список которого хотелось бы просмотреть.
Если не указан путь, то подразумевается текущий каталог.
Если не указано имя файла (или шаблон), подразумеваются все файлы каталога.
Опции:
-l - листинг файлов в полном формате.
-F - имена файлов и каталогов различаются.
-а - вывод в листинге всех файлов и каталогов, а не только тех, к которым есть доступ.
-d - вывод имени каталога.
Возможны и другие опции. Чтобы узнать их, смотри описание своей версии UNIX или выполните команду
man ls
Комбинация опций:
-al - вывод в листинге всех файлов в полном формате.
-ld - просмотр атрибутов (полный листинг) каталогов.
Пример:
ls -ld thank you просмотр с атрибутами и правами доступа директорий или файлов с именами thank и you.
ls -l myfile выдает атрибуты и права доступа файла myfile.
Как ясно из этого описания, команда ls не выдает полного имени текущего каталога. Это делается командой pwd. Команда pwd выводит в стандартный поток вывода полное имя текущего каталога.
В системе Linux (версия UNIX) имеется набор утилит mtools, которые обеспечивают доступ к дискетам, отформатированным в MS-DOS. Для получения списка файлов, расположенных в каталогах на этих дискетах, в Linux необходимо набрать команду mdir. Формат ее похож на формат команды dir в MS-DOS, а правила написания устройств, путей и шаблонов в параметрах команд mtools, относящихся к дискете, соответствуют правилам, принятым в MS-DOS. Более подробно о формате и опциях программы mdir смотри руководство соответствующей версии Linux, или нужно выполнить команду man mdir.
Формат выдачи оглавления каталога
В UNIX оглавление каталога в кратком формате состоит из последовательности имен файлов и подкаталогов, содержащихся в нем, без атрибутов и другой дополнительной информации, расположенных построчно и разделенных между собой пробелами.
Символы родительского и текущего каталога не выводятся.
В операционных системах UNIX, в отличие от операционных системах Microsoft, имя текущего каталога не выводится в его оглавлении и часто не выводится в приглашении операционной системы. Для определения имени текущего каталога (точнее, имени и полного пути) служит команда pwd.
Ее формат прост - необходимо набрать в командной строке слово pwd.
Назад | Содержание | Вперед
Прежде чем начать работу с файлами, необходимо убедиться, что эти файлы находятся на компьютере. Для этого, как минимум, надо просмотреть списки файлов в различных местах (каталогах, устройствах) компьютера. В операционных оболочках (типа Windows) это делается легко - как правило, все исполняемые программы присутствуют (в виде пиктограмм) на экране компьютера. Для их вызова необходимо дважды щелкнуть левой клавишей мыши, когда курсор ее установлен на этой иконе (пиктограмме). Если же по каким-то причинам нужная икона не находится на экране (или на панели задач, окнах менеджера программ), то ее можно найти, просматривая последовательно дерево каталогов и их содержимое.
Стандартные средства MS-DOS и UNIX не предоставляют такой сервис. Но, используя командную строку, внутренние и внешние программы и программные средства (как, например, набор внешних команд DOS и UNIX, или пакет Norton Utilites для MS-DOS), можно организовать поиск файлов и каталогов в компьютере, просматривание дерева каталогов, переход в любой каталог и просмотр содержимого как текущего, так и любого другого каталога. Таким образом, даже с этими простыми средствами можно работать на компьютере и использовать при этом все преимущества файловой системы.
Здесь рассматриваются программы просмотра содержимого каталога (синонимы - выдача листинга, списка, оглавления каталога), форматы выдачи этих листингов для операционных систем MS-DOS и UNIX. В обеих операционных системах листинг может выдаваться в полном, кратком и, возможно, некоторых других форматах.
Безусловно, операция просмотра содержимого каталога является наиболее часто используемой и наиболее важной операцией с каталогами. При выполнении этой операции решаются следующие задачи:
1. Наглядно представляется содержимое каталогов.
2. Находятся файлы, необходимые для работы пользователя с программами.
3. Происходит "ориентация" пользователя в дереве каталогов.
При выводе оглавления каталога его можно сформировать:
- по имени
- по типу файлов ( расширению)
В DOS для смены текущего диска (устройства) набираются его буква, а затем ставится двоеточие и нажимается клавиша Enter.
Пример:
а: - сделать текущим диск А.
с: - сделать текущим диск С.
У нового устройства становится активным тот каталог, который был текущим в последнем сеансе работы с этим устройством, или корневой, если с устройством еще не работали.
Не следует делать текущим устройство:
а) которое не значится в списке подключенных;
б) на которое не установлен сменный носитель (дискета, CD-ROM и так далее);
в) которое имеет физические повреждения (например, не читается дискета, сломан дисковод и так далее);
г) носитель не форматирован или форматирован не в том формате (например, дискета с файлами UNIX в операционной системе MS-DOS).
Для изменения текущего каталога в DOS используется команда cd. Ее формат:
cd [(<дисковод>:)<путь>]
Если устройство не указано, то подразумевается текущее устройство.
Если перед символом пути не стоит бэкслэш "\", то путь отсчитывается от текущего каталога, иначе - от корневого. Примеры:
cd \ - переход в корневой каталог текущего устройства.
cd \users\den - переход в каталог users\den - текущего диска.
cd .. - переход в родительский каталог текущего каталога текущего диска.
Запуск команды cd без параметров выдает имя текущего каталога.
Norton Utilites предоставляет следующий сервис и способ перехода в каталог - программу ncd. Ее форматы:
ncd [<режимы>] - запуск в диалоговом режиме;
ncd <начало имени каталога>[<режимы>] - переход в каталог с именем, начало которого совпадает с указанным. Например, для перехода в каталог \Corel50\Programs\Data можно просто набрать ncd DAT .
Если это окажется не тот каталог (например, DATE или каталог DATA в другом родительском каталоге), можно повторить эту же команду.
В диалоговом режиме на экран выводится дерево каталогов на текущем устройстве. Каталог выбирается или клавишами перемещения курсора, либо набирается его имя. Если присутствует более одного подкаталога с одним именем (естественно, в разных родительских каталогах), то переход к следующему с таким же именем осуществляется клавишей Ctrl+Enter.
Чтобы перейти в выделенный каталог, надо нажать Enter. Для выхода из программы без изменения текущего каталога - нажать Esc.
В диалоговом режиме также можно:
1) Создавать подкаталог
(имя запрашивается) - клавиша F7.
Удалить пустой каталог - клавиша F8.
Переименовать каталог (имя запрашивается) - клавиша F6.
Считать информацию о каталогах на диске - клавиша F2.
Просмотреть дерева каталогов на другом диске - F3.
Просмотреть список файлов в выделенном каталоге - F4.
Напечатать или вывести в файл изображение дерева каталогов на диске - клавишами Alt+*
Установить метку на диске - клавишами Ctrl+*
Все эти действия можно выполнить также через меню, для входа в которое следует нажать клавишу Alt.
В UNIX для перехода в другой каталог также используется команда cd. Ее формат:
cd [<имя каталога>]
Перейти в подкаталог текущего каталога можно просто набрав cd и его имя, например:
cd prop
переход в каталог prop текущего каталога.
Можно перейти в любой каталог, указав его полное имя:
cd /home/USERS/prop - переход в каталог home/users/prop текущей системы. Здесь путь указан явно. Переход в родительский каталог осуществляется командой:
cd ..
а в пользовательский каталог по умолчанию - просто командой без параметров:
cd
Список всех подкаталогов в рабочем каталоге UNIX задается командой
ls -R
Для перехода в каталог на дискете, форматированной под DOS, в системе Linux используют команду mcd, аналогичную команде cd в DOS.
Создание каталогов в командной строке DOS и UNIX осуществляется командой mkdir. По-умолчанию новый каталог создается в текущем. Формат команды:
- в DOS:
mkdir <имя_каталога>
или
md <имя_каталога>
Имя каталогов и файлов в директории могут совпадать.
- в UNIX:
mkdir <имя_каталога>
В каждой директории имена каталогов и файлов должны быть уникальными и не совпадать .
mmd - создается средствами UNIX каталог на дискете, форматированный в MS-DOS. Формат ее - смотри md в MS-DOS.
Путевое имя также может быть полным или кратким (относящимся к текущему каталогу).
Для того, чтобы обойти ограничение некоторых версий MS-DOS на удаление непустых директорий, существует программа ZAP. Она работает в FAT12 и FAT16, не поддерживая FAT32 и VFAT. Формат команды:
ZAP {<опции>] <имя_каталога>
Команда удаляет все файлы из каталога с именем <имя_каталога> и всех последующих подкаталогов, оставляя дерево без изменения. Ее основные ключи:
/S - удаляются и все подкаталоги, включая текущий. После удаления каталога командой ZAP с ключом /S восстановить файлы практически невозможно !
/Y - удаление файлов без запроса:
Are you sure? *.*
Этот запрос чисто формальный и служит защитой от случайного использования команды.
/? - выводит список всех опций команды ZAP. То же самое, что и запуск программы ZAP без параметров.
Назад | Содержание | Вперед
Удаление каталогов осуществляется:
В DOS командами
rd [<дисковод>:]<путь>
или
rmdir [<дисковод>:]<путь>
- удаляются файлы или каталоги со всеми содержащимися файлами и подкаталогами. Можно использовать шаблоны, а также полное или краткое имена файлов\каталогов. Опция /Y отменяет вывод запросов на удаление подходящих под шаблон файлов.
Примечание: во многих версиях MS-DOS удаление непустого каталога невозможно !
В UNIX:
rmdir <имя каталога> - удаляет каталог со всем содержимым.
mrd <имя каталога> - удаляет пустой каталог на дискете, форматированной в MS-DOS.
Простейший способ создания текстовых файлов в MS-DOS - прямое копирование символов с консоли в файл. Для этого необходимо послать команду:
copy /A CON <файл>
где <файл> полное или краткое имя файла.
Данная команда создает файл построчно. Ввод каждой строки происходит после нажатия клавиши Enter. До нажатия этой клавиши строку еще можно редактировать, а после нажатия Enter - нет.
В конце последней строки текста необходимо нажать клавишу F6 (или Ctrl+Z), а затем - Enter. Команда copy выдаст сообщение:
1 file(s) copied
1 файл(-ы) скопирован
и на диске появится файл с указанным именем.
Edlin представляет собой простейшую программу обработки текста. Часто ее называют "программой редактирования строк". С помощью этой программы одновременно можно редактировать одну и только одну строку текстового файла! Конечно же, приверженцы GUI и пользователи Microsoft Word могут посмеяться над этой программой. Однако она имеет одно преимущество: она занимает в рабочем состоянии всего 7 495 байт [ ???. Валтанен.]
Синтаксис программы следующий:
edlin <файл>
где <файл> имя нового файла.
После этого, если этого файла на диске нет, появится следующая надпись:
New file
*
Затем необходимо после звездочки набрать I (Insert, по-английски - вставить) и нажать клавишу Enter. Появятся следующие символы:
<n>: *
где <n> - номер строки. Далее Вы просто набираете текст в строке, нажимая в ее конце Enter.
После набора последней строки, завершенной Enter, необходимо нажать Ctrl+C. Тогда опять появится звездочка. Далее необходимо нажат клавишу E (от End, конец). Файл запишется на диске, выдав сообщение:
End of input file
(Конец ввода файла).
Более подробно работа с edlin Приводится во все той же книге [Эско Валтанен].
Для создания файла с помощью текстового редактора в командной строке необходимо:
1. В командном приглашении набирается следующая строка:
<имя_редактора> <файл>
где <имя_редактора> - имя файла текстового редактора(полное или краткое, если его каталог прописан в переменной окружения PATH).
<файл> - имя и расширение создаваемого файла.
Пример:
edit myfile.txt
- с помощью редактора Edit.com, входящий в состав MS-DOS v. 5.0 и старше, в текущем каталоге создается файл с именем myfile.txt
2. В редакторе набирается содержимое файла.
3. После этого сохраняют изменения в набранном в редакторе текста и осуществляют выход из программы.
4. После этого в текущей директории (если задано краткое имя файла) или в другой директории (если задано полное имя) появится файл.
Основные приемы работы с текстовым редактором можно узнать в разделе B.6.2.2. Части I данного тома. Также читайте документацию к конкретному текстовому редактору, смотрите его контекстную справку и обращайтесь с вопросами в Internet.
Назад | Содержание | Вперед
С помощью команды copy можно копировать файлы (не каталоги!). Команда внутренняя.
1. Ее синтаксис:
copy [опции] <параметр1> <параметр2> [опции]
Действие: из каталога, указанного в первом параметре команды, копируется файл (или файлы в случае задания шаблона) в каталог, указанный во втором параметре команды. Возможны следующие варианты:
1) Оба параметра - различные краткие имена файлов. В этом случае в текущей директории создается дубликат файла. Пример:
copy myfile.txt myfile.doc
В текущей директории создается дубликат файла myfile.txt - файл myfile.doc
2) Оба параметра - полные имена. Происходит копирование файла из одного каталога в другой с изменением имени. Например:
copy c:\tech\myfile.txt a:\myfile.doc
Файл myfile.txt в директории c:\tech изменяет свое имя на myfile.doc и копируется в корневой каталог диска A.
3) Первый параметр - имя файла (полное или краткое), а другой - путевое имя каталога. Файл копируется в каталог назначения без изменения имени. Например:
copy c:\tech\myfile.txt a:\
Файл myfile.txt из директории c:\tech\ копируется в корневой каталог диска A.
4) Первый параметр - шаблон, а второе - путевое имя каталога. Этот случай аналогичен случаю 3), однако при этом копируется не единичный файл, а группа файлов, удовлетворяющая условиям шаблона. Пример:
copy a:\*.doc b:\
В этом примере все файлы корневого каталога диска A: с расширением doc копируются в корневой каталог диска B: без изменения имени.
5) Оба параметра - шаблоны файлов. Тогда копируются файлы из каталога - источника, удовлетворяющие первому условию (параметр 1), в каталог - приемник. при этом имена файлов изменяются так, чтобы они удовлетворяли шаблону, указанному в параметре 2. Пример:
copy \tech\*.txt b:*.doc
Копируются файлы с расширением txt из каталога \tech\ текущего диска в текущий каталог диска B:. При этом расширение всех файлов меняется на doc.
6) Первый параметр - шаблон файла, а второй - имя файла. Происходит копирование с объединением. Подробнее смотри раздел, посвященный объединению файлов.
Впервые эта команда появилась в MS-DOS версии 3.2. Команда позволяет копировать файлы и каталоги. Команда внешняя (xcopy.exe).
Синтаксис
xcopy <параметр_1> <параметр_2> [<опции>]
Действие:
Команда xcopy действует также, как и команда copy. Во всяком случае смысл ее параметров остался тем же (смотри E.2.2.2.1.1, описание). Однако благодаря наличию ключей она может дополнительно:
a) копировать и файлы, и дерево каталогов;
b) копировать файлы, которые создавались или модифицировались после указанной даты;
c) копировать файлов с установленным атрибутом "архивный";
d) запрашивать подтверждение на копирование.
Ключи команды
/A - Копирование файлов, у которых установлен флаг архивации. После копирования флаг не сбрасывается. (A - Archive - Архив)
Примечание. Флаг архивации устанавливается каждый раз, когда файл создается или модифицируется.
/D:<дата> - Копирование файлов, которые были созданы или изменены в указанный день или позже. (D - Date - Дата).
/E - Копирование всех подкаталогов, даже если они пустые. Этот ключ используется с ключом /S. (E - Empty - Пустой).
/M - Тоже, что и ключ /A, однако после копирования атрибут "архивный" сбрасывается. (M - Modify - Изменять).
/P - Перед копированием каждого файла из группы запрашивается подтверждение. (P - Prompt - Запрашивать).
/S - Копирование дерева каталогов Это означает копирование файлов из указанного в команде каталога и изо всех его подкаталогов. (S - Subdirectory - Подкаталог).
/V - Проверка правильности записи файлов на диск - приемник. (V - Verify - Проверять).
/W - Перед копированием DOS выводит на экран запрос и ожидает установки в дисковод дискеты с входными файлами. (W - Wait - Ждать).
Возвращаемые коды завершения программы.
В зависимости от результатов копирования программа xcopy возвращает операционной системе один из следующих кодов завершения (errorlevel).
0 - Копирование прошло успешно, без ошибок.
1 - Не обнаружено файлов для копирования.
2 - Пользователь прервал копирование нажатием Ctrl+C.
4 - Общая ошибка. Может быть выдана по следующим причинам:
a) недостаточен объем памяти;
b) неправильно указан дисковод;
c) в командной строке допущена ошибка;
d) файл не обнаружен;
5 - Ошибка записи или считывания дискеты.
С помощью этой команды можно создавать идентичные копии съемных дисков. При этом содержимое всех кластеров на дискетах становится одинаковым, то есть создается как бы "образ" дискеты (в отличие от использования команд copy и xcopy). Образы дискет бывают необходимы в случае копирования загрузочных и дистрибутивных дискет. Команда внешняя.
Синтаксис:
diskcopy [<дисковод1>] [<дисковод2>] [/1]
где <дисковод1> - дисковод с исходной дискетой,
<дисковод2> - дисковод с целевой дискетой (на которую производится копирование).
Действие:
С исходной дискеты создается образ, который переносится на целевую дискету.
Опция
/1 - используется только одна сторона дискеты.
Возвращаемые коды:
0 - копирование произошло успешно.
1 - произошла ошибка, которая не является серьезной.
2 - пользователь прервал копирование, нажав Ctrl+C.
3 - серьезная ошибка. Программа на может считать исходную дискету или форматировать целевую дискету.
4 - недостаточный объем оперативной памяти, неправильно указан дисковод или ошибка в команде.
Синтаксис:
copy [/A|/B] <источник> [/A|/B] <приемник> [/A|/B] [/V]
Действие:
Копирование файлов или группы файлов. В отличие от MS-DOS эта команда может копировать каталоги.
Ключи:
Те же, что и в MS-DOS.
Смысл параметров:
<Источник> - диск, директория или файл (группа файлов), который(-ые) должны быть скопированы.
<Приемник> - устройство, диск, или директория, куда необходимо переместить копии файла(-ов).
Назначение:
Копирование файлов и дерева каталогов.
Синтаксис:
xcopy <источник> <приемник> [<опции>]
Действие:
Копирование файлов, исключая скрытые и системные, и также дерева каталогов из <источника> в <приемник>. Смысл <источника> и <приемника> аналогичен тем же терминам в команде copy [E.2.2.2.1.]
Ключи:
/A, /D, /E, /M, /P, /S, /V, /W - назначение этих ключей полностью совпадает с назначением ключей в команде xcopy MS-DOS, а потому здесь не рассматриваются (см. E.2.2.1.2., ключи).
/Y - не запрашивать подтверждения для перезаписи существующих файлов назначения.
Назначение:
Копирование содержимого (образа) одного съемного диска на другой.
Синтаксис:
diskcopy <диск1>: [<диск2>:]
Ключи: нет (в отличие от MS-DOS).
Копирование образов дискет в XDF-формате.
Синтаксис:
xdfcopy <источник> <приемник>
Смысл параметров:
<Источник> - диск или файл-образ диска, которые копируются.
<Приемник> - диск или имя файла-образа диска.
Ключи: нет.
Поскольку в 80-е годы XX столетия OS/2 задумывалась как "правоприемница" MS-DOS, то при реализации ее командной строки использовался тот же набор команд. Однако правила использования команд претерпели некоторые изменения. Об отличиях в использовании команд MS-DOS и IBM OS/2 будет рассказано ниже.
В отличие от MS-DOS, в операционной системе Linux нет команд, копирующих или только файлы (как команда copy), или только файлы с деревом каталога (команда xcopy). Оба этих действия выполняет команда cp, которая, в зависимости от контекста, копирует и файлы, и каталоги. Ее синтаксис следующий:
cp <опции> {<источник>} <приемник>
Смысл команды следующий.
1. И источник, и приемник - имена файлов. Тогда команда просто создает копию (дубликат) файла с новым именем в текущем каталоге.
Пример:
cp oldfile newfile
2. Источник - имя файла, приемник - каталог. Команда создает копию файла - источника в указанном каталоге - приемнике.
Пример:
cp oldfile /home/den/mydir
3. Источник шаблон файла, приемник - каталог. Удовлетворяющие шаблону файлы копируются в каталог - приемник.
Пример:
cp ???file /home/den/mydir
4. Источник - имя файла (краткое или полное), приемник - полное имя файла. Происходит копирование указанного файла в каталог вместе с его переименованием.
Примеры:
cp thefile newdir/oldfile
- копирует файл thefile в подкаталог newdir в файл oldfile
cp newdir/oldfile newfile
- копирует файла oldfile из подкаталога newdir в файл newfile в текущем каталоге.
cp thefile ../file
- копирует файл thefile в файл file родительского каталога.
5. Источник - каталог + шаблон *.*, приемник - каталог. Копируются файлы из каталога - источника в каталог приемник. Подкаталоги копируются только в том случае, если указан ключ -r (смотри ниже).
Пример:
cp mydir/*.* newdir
- копируются все файлы из каталога mydir в каталог newdir.
Остальные комбинации являются запрещенными.
Основные опции команды cp.
-i - выдача запроса на подтверждение перезаписи. Дело в том, что при копировании в Linux происходит следующее:
a) Если файла с именем, указанным в приемнике, не существует, то он создается и в него записывается информация.
b) Если файл с именем, указанным в приемнике, существует, то он СТИРАЕТСЯ, а на его месте создается новый файл БЕЗ ПРЕДУПРЕЖДЕНИЯ!
Чтобы выдать предупреждение, вводится опция -i. Пример ее использования:
cp -i newfile oldfile
После этой команды будет выдано предупреждение:
Overwrite oldfile?
Если на запрос ответить нажатием клавиши Y, то файл перезапишется. Любой другой ответ будет воспринят как "нет".
-r - при копировании использовать подкаталоги любой вложенности. Аналогична использованию ключей /S и /A в команде DOS xcopy.
Файловые системы Linux и MS-DOS разные. Чтобы подключить диск с любой файловой системой в UNIX (в частном случае - в Linux) необходимо эту файловую систему смонтировать. Однако если используются дискеты на 3.5", то монтирование файловой системы каждой дискеты перед ее употреблением, а потом ее размонтирование при смене дискет было бы делом неразумным. Именно для того, чтобы избежать постоянных циклов монтирования - размонтирования файловых систем на дискетах, для работы с дискетами MS-DOS в операционной системе Linux есть так называемые команды mtools.
Для копирования с дискеты MS-DOS на диск Linux и наоборот служит команда mcopy. Ее синтаксис следующий:
mcopy <имя_файла> a:| b:
- для копирования файла из Linux в текущий каталог диска a: или b:.
mcopy a: | b: <имя_файла>
- для копирования файла из текущего каталога диска a: или b: на диск Linux.
Ключи: нет.
Операционная система Linux является клоном операционной системы UNIX, работающая на Intel-совместимых компьютерах. В настоящее время Linux является наиболее распространенным клоном UNIX, и именно ее автор будет рассматривать как пример в UNIX-подобных операционных системах.
До появления версии 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 Конец файла
В оболочке IBM OS/2 Warp синтаксис команды Move несколько изменился. Ее формат стал следующим:
move <имя_файла1> <имя_файла2> [<опции>],
где <имя_файла1> - полное или краткое имя файла либо шаблон файлов, которые перемещают.
<имя_файла2> - полное, краткое имя файлов либо шаблон файлов назначения.
Опции:
/Y - не запрашивать подтверждение создания директорий и записи новых файлов с именем существующих.
Для перемещения файлов используется команда mv - аналог команды cp для копирования. Ее синтаксис:
mv <текущее_имя_файла> <новое_имя_файла>
где <текущее_имя_файла> - полные, краткие имена файлов, шаблоны и директории. Их может быть больше одного.
<новое_имя_файла> - полное, краткое имя файла, шаблон файлов или каталог назначения.
Ограничения и опции - что и у команды cp.
Команды перемещения файлов в Linux имеют тот же формат, что и команды копирования. В частности, они имеют те же опции.
Перемещение файлов является важной операцией по манипуляции информацией на диске. На уровне операционной системы эта операция реализуется в два этапа:
- копирование файлов или каталогов из одной директории в другую, не изменяя никаких атрибутов;
- удаление всех файлов или каталогов в старой директории.
Соответственно, нельзя перемещать файлы с установленными атрибутами "только чтение", "системный", "скрытый" средствами одной только операционной системы . Некоторые программные оболочки позволяют перемещать такие файлы. Как это делается, смотри описание перемещения файлов в файловых оболочках.
Процесс перемещения файлов очень похож на процесс их копирования. Ниже, в подразделах, будет рассказано о синтаксисе команд перемещения файлов и отличия этих команд от соответствующих команд копирования.
Синтаксис команды:
ren <старое_имя_файла> <новое_имя_файла>
где <старое_имя_файла> - краткое, полное имя файла либо шаблон файлов;
<новое_имя_файлов> - краткое имя файла либо шаблон.
Данная операция описана в разделе E.2.3.1.2., посвященном описанию команды move.
В операционной системе MS-DOS версий 4.0 и старше появилась так называемая метка диска. Она представляет собой 11 алфавитно-цифровых символов и предназначена для информирования пользователя о своем содержимом.
Метка устанавливается при высокоуровневом форматировании дисков (см. выпуск, посвященный файловым системам). Однако и в MS-DOS, и в IBM OS/2 ее можно сменить командой label.
Ее синтаксис
label [<дисковод>:] [<метка>]
где <дисковод> - буква диска, на котором надо просмотреть/изменить метку.
<метка> - метка, устанавливаемая командой.
Команды OS/2 Warp ren, move и label аналогичны тем же командам в MS-DOS.
В Linux нет специальной команды для переименования файлов. Все операции по переименованию файлов выполняет команда mv. Однако для работы в Linux c дискетами, отформатированных под систему MS-DOS, используются команды mren и mlabel.
Формат команды mren:
mren <старое_имя_файла> <новое_имя_файла>
По этой команде происходит переименование файла MS-DOS на дискете по правилам команды ren MS-DOS.
Для смены метки диска на дискете в Linux используется команда mlabel, аналогичная команде label MS-DOS.
В UNIX (в частности, в Linux и в IRIX) метка тома НЕ ЗАДАЕТСЯ! (Поскольку отсутствует понятие "дисковод" на уровне редиректора файловой системы.)
Переименование файла в общем случае сводится к операции перемещения одного и того же файла в том же каталоге, только ему дается новое имя. Поэтому, как правило, операция переименования сходна с операцией перемещения. Рассмотрим реализацию команд переименования в разных операционных системах.
Формат команды:
del <имя_файла>
или
erase <имя_файла>
где <имя_файла> - полное, краткое имя файла либо шаблон файлов.
В этих версиях DOS допускается использование после имени файла ключа /D. При использовании этого ключа DOS будет запрашивать перед удаление каждого файла из группы:
<имя_файла> Delete (Y/N)?
<имя_файла> Удалить (Да/Нет)?
Необходимо нажать Y для удаления файла или клавишу N для отмены удаления именно этого файла. После этого выводится запрос на удаление следующего файла из группы. Для остановки удаления группы нажмите Ctrl+C (Ctrl+Break).
Для удаления файлов в MS-DOS служит внутренняя команда Del (от слова delete - удалять). Ее синоним - команда Erase.
Для удаления файлов в операционной системе IBM OS/2 служат команды Del и Erase. Их синтаксис аналогичен синтаксису одноименных команд в MS-DOS версии 4.0 (смотри E.2.5.1.2.)
Для удаления файлов в операционной системе Linux (как и в любом клоне UNIX) существует команда rm (сокращение от remove - удалить). Формат команды следующий:
rm [<опции>] {<имя_файла>}
Как видно из описания, в отличие от команды Del в MS-DOS командой можно удалить несколько файлов.
Замечания:
1. В качестве имен файлов можно указывать краткие, полные имена или шаблоны файлов. Допускается указание нескольких шаблонов.
2. Команда rm удаляет (а, точнее, стирает) файлы без какого либо предупреждения. Для того, чтобы вывести предупреждение перед удалением каждого файла из группы, используйте опцию -i. Она аналогична опции /D в MS-DOS.
При работе с операционными системами возникают ситуации, когда необходимо избавится от "лишних" файлов. "Лишними" могут быть:
1. Временные файлы операционной системы и прикладных программ, не удаленные автоматически при завершении их работы.
2. Файлы резервных копий документов (с расширением *.bak).
3. Файлы пользователя, которые ему более не нужны.
4. Файлы, испорченные после сбоев оборудования и операционной системы.
5. Файлы, у которых уже есть дубликаты.
Для удаления файлов в операционных системах существуют специальные команды, о которых автор сейчас расскажет.
Уже в операционной системе 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.
Эта программа предлагает восстановление случайно удаленных файлов при помощи методов дежурного удаления , поискового удаления и стандартного удаления .
Дежурное удаление - "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 Кбайт.
В комплекте 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 и старше.
Программа 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.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 " приводит к сохранению новых настроек и выходу из программы. Назначение других кнопок рассмотрим по-подробнее.
Исходя из документации, программа 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 " предназначена для выхода из программы и сохранение текущих изменений.
Иногда пользователю нужно восстановить случайно удаленные им файлы. Сразу необходимо заметить, что это можно сделать не всегда и не для всех файловых систем. Например, непредусмотрено восстановление файлов в файловых системах UNIX. Затруднено также восстановление файлов в файловой системе Novell NetWare. Более того, даже в операционных системах фирмы Microsoft невозможно восстановление файлов, если на место восстанавливаемых файлов была уже записана другая информация. Поэтому, если Вы хотите по-настоящему обезопасить себя от удаления нужных Вам файлов, следует приобрести программы, которые предохраняют от "физического" удаления файлов с жесткого диска. Для операционных систем фирмы Microsoft это утилиты из пакета Norton Utilites.
Далее в этом разделе будут рассмотрены штатные и специальные средства восстановления файлов.
Атрибуты файлов в 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 сбрасывает атрибут "только чтение" у скопированных файлов. Команда же копирования в файловых оболочка обычно сохраняет атрибут "только чтение" у скопированных файлов.
При этом способе смены атрибутов права доступа обозначаются буквами 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 в любой категории доступа.
Следует отметить, что не указанные в команде права при этом способе не меняются .
При изменении прав доступа по этому методу в качестве метки используются три восьмеричных числа. Смысл каждого числа - это представление атрибутов rwx в виде двоичной маски (рисунок E.17). Указание 1 в маске соответствует установке атрибута, а 0 - его сброса. Эта двоичная маска с тремя разрядами легко записывается в виде восьмеричного числа.
Рис. E.17. Образование маски из атрибутов.
Первое восьмеричное число задает права доступа для пользователя, второе - для группы, третье - для остальных пользователей.
Пример:
chmod 754 texts
- установка для файла texts всех прав доступа для пользователя, чтение и выполнение - для группы и только чтение - для всех остальных. Все остальные опции сбрасываются.
Примечание. Команда chmod, запущенная абсолютным методом, меняет все права доступа по указанной маске. Ее нежелательно использовать, если необходимо изменить не все, а, например, один атрибут.
Назад | Содержание | Вперед
Атрибуты файлов в файловых системах UNIX-подобных операционных систем принято называть правами доступа. Существует три вида прав доступа:
1. Право на чтение - r.
2. Право на запись - w.
3. Право на исполнение - x.
Существуют также три категории доступа к файлам. К первой категории относится "владелец" - создатель файла. Ко второй категории относится любой из пользователей, работающий в одной группе с владельцем. И, наконец, к третьей категории относятся все остальные пользователи. При выводе на экран полного списка файлов выводится в один ряд и права доступа (см. рисунок E.5).
Команда chmod используется для смены прав доступа к файлу в любой категории. С ее помощью можно менять атрибуты файлов двумя способами: с помощью символов и с помощью маски. Рассмотрим эти способы по-подробнее.
Помимо имени и расширения, у любого файла есть и дополнительные, важные для него свойства. Это так называемые Атрибуты . Атрибуты файлов указывают, какие операции разрешены для файла, а какие - нет. Для каждой из операционных систем выбираются свои атрибуты. Более того, у каждой из поддерживаемых одной операционной системой файловых систем могут быть разные атрибуты!
Атрибуты для различных файловых систем будут подробно рассмотрены в выпуске, посвященном дискам и файловым системам. В этом разделе будет рассмотрена достаточно тривиальная ситуация - смена атрибутов для файловой системы FAT.
1. Команда xcopy не работает с устройствами.
2. Данная команда по-прежнему не копирует скрытые и системные файлы.
3. Команда xcopy не копирует файлы, не помещающиеся на одном носителе (дискете). Также не возможно прямое копирование на несколько дискет.
Для того, чтобы все же скопировать каталог, файлы которого все вместе не помещаются на дискете, необходимо:
a) Выполнить команду Attrib +A *.* Эта команда устанавливает у всех файлов флаг архивации.
b) Выполнить команду xcopy *.* /M Эта команда копирует все файлы с установленным атрибутом "архивный", сбрасывая его после копирования.
c) После заполнения одной дискеты вставьте другую и выполните снова пункт b). При этом копирование начнется с первого же файла, имеющего установленный атрибут "архив".
4. Команда xcopy, как и команда copy, не создает образ дискеты (см. раздел E.2.2.1.1, замечания)
5. При копировании файла в каталог, где существует файл с тем же именем, содержимое последнего СТИРАЕТСЯ (как и у команды copy)!
Сообщения.
a) Reading source file(s)
Читаю исходные файлы.
Команда считывает содержимое дискеты или диска в память.
b)
<файл_1>
<файл_2>
...
<файл_n>
<n> File(s) copied
<n> Файла(ов) скопировано
Произведено успешное копирование n файлов.
c) Access denied
Доступ закрыт
Была попытка копирования файла с установленным атрибутом "только чтение", целевой файл используется другой программой, либо для исходного и целевого файла указано одно имя.
d) Cannot perform a cycled copy
Не могу осуществить циклическое копирование (см. E.2.2.1.d)).
e) Cannot copy from reserved device
Не могу копировать с зарезервированного устройства.
Cannot copy to reserved device
Не могу копировать на зарезервированное устройство.
Попытка копирования с/на устройство, или имя файла совпадает с именем устройства.
f) Does <name> specify a file name or directory name on target? (F - file, D - directory).
<name> указывает на имя файла или каталога? (F - файл, D - каталог).