ЛАБОРАТОРНЫЙ ПРАКТИКУМ: "РАБОТА С КОМАНДНОЙ СТРОКОЙ WINDOWS"
СТРУКТУРА ПРАКТИКУМА
ЗАДАНИЯ ПРАКТИКУМА
ЗАДАНИЕ №1
ЗАДАНИЕ №2
ЗАДАНИЕ №3
ЗАДАНИЕ №4
ЗАДАНИЕ №5
ВВЕДЕНИЕ
1. ОСНОВЫ КОМАНДНОЙ СТРОКИ MS WINDOWS
1. Начало работы с командной строкой
2. Структура файловой системы Windows
3. Работа с текстовыми файлами в Cmd.exe
4. Копирование и перемещение файлов и директорий
2. ЭФФЕКТИВНАЯ РАБОТА С КОМАНДНОЙ СТРОКОЙ
1. Полезные инструменты командной строки
2. Настройка параметров командной оболочки
3. Перенаправление ввода/вывода и конвейеры
3.ЧТО ДОЛЖЕН ЗНАТЬ НЕ ТОЛЬКО СИСАДМИН
1. Начало работы и внешний вид FAR
2. Основные операции FAR Manager
3. Дополнительные возможности FAR
1.2. Структура файловой системы Windows
Таблица 1.1. Базовые операции с каталогами и файлами в командной строке
Операция | Формат команды |
---|---|
Создание каталога | MKDIR [диск:]путьMD [диск:]путь |
Удаление каталога | RMDIR [диск:]путьRD [диск:]путь |
Просмотр каталога | DIR [диск:]путь |
Просмотр дерева каталога | TREE [диск:]путь |
Переименование каталога | MOVE [диск:][путь]путь1 новый_путь |
Копирование каталога | XCOPY [диск:]путь1 путь2 |
Создание файла | COPY CON [диск:][путь]имя_файла |
Удаление файла | DEL [диск:][путь]имя_файлаERASE [диск:][путь]имя_файла |
Просмотр файла | TYPE [диск:][путь]имя_файлаMORE [диск:][путь]имя_файлаCOPY [диск:][путь]имя_файла CON |
Переименование файла | RENAME [диск:][путь]имя_файла1 имя_файла2REN [диск:][путь]имя_файла1 имя_файла2 |
Перемещение файлов | MOVE [диск:][путь]имя_файла1[,...] назначение |
Копирование файла | COPY [диск:][путь]имя_файла1 имя_файла2. |
Переименование файла | RENAME [диск:][путь]имя_файла1 имя_файла2REN [диск:][путь]имя_файла1 имя_файла2 |
Перечень наиболее распространенных операций с элементами файловой системы Windows – каталогами и файлами приведен в Таблице 1.1 (квадратные скобки указывают на необязательность элемента), а полный перечень команд Cmd.exe можно получить командой HELP (Пример 1.3).
Пример 1.3. Вывод перечня команд в командной строке
d:\WINLAB>help Для получения сведений об определенной команде наберите HELP <имя команды> ASSOC Вывод либо изменение сопоставлений по расширениям ATTRIB Отображение и изменение атрибутов файлов. …….………………….. d:\WINLAB>
Можно также получить подробную справку по отдельно взятой команде, снабдив ее ключом /? – например справку по команде MKDIR (Пример 1.4).
Пример 1.4. Получение справки по конкретной команде
d:\WINLAB>mkdir /? Создание каталога. MKDIR [диск:]путь MD [диск:]путь …………………………. d:\WINLAB>
Файловая система Windows представляет собой древовидную структуру (как в UNIX и большинстве других операционных систем). Соответственно, для такой файловой системы актуальны такие понятия, как абсолютный путь и относительный путь к каталогу или файлу (Рис. 1.4).
Рис. 1.4. Абсолютный и относительный путь в файловой системе Windows.
Windows хранит данные на логических дисках: «C», «D», «E», «F» и т.д., физически расположенных на жестком диске («винчестере») либо ассоциированных с внешними устройствами, такими как оптические CD и DVD приводы, USB Flash drive и др.
Абсолютный путь файловой системы Windows начинается с имени диска и двоеточия после него, а затем записывается последовательность имен вложенных каталогов. Для разделения элементов пути используется символ «\» (обратный слеш). В UNIX, если вспомнить предыдущую лабораторную работу, для этой же цели, используется «/» (прямой слеш).
Рис. 1.5. Дерево, используемое в примерах лабораторного практикума.
Таблица 1.2. Содержание файлов структуры (Рис. 1.5)
Структура A
Файл | Содержание |
---|---|
papa1.txt | Папа у Васи силен в математике, |
papa2.txt | Учится папа за Васю весь год, |
papa3.txt | Где это видано, где это слыхано, |
papa4.txt | Папа решает, а Вася сдает? |
Структура B
Файл | Содержание |
---|---|
vasya1.txt | На это каждый ответит, каждый ответит: |
vasya2.txt | – Конечно, Вася, Вася, Вася, |
vasya3.txt | Ну, кто его не знает? Yeah, yeah! |
vasya4.txt | Вася, Вася, Вася – стиляга из Москвы. |
Относительный путь строится относительно текущего каталога и также состоит из последовательности вложенных каталогов, разделенных обратным слешем. При записи относительного пути текущий каталог обозначается как «.» (точка): или совсем не указывается, а каталог вышестоящего уровня – двумя последовательными точками: «..», которые, как и все остальные элементы пути, разделяются обратными слешами.
В качестве упражнения по созданию структуры каталогов и файлов в файловой системе MS Windows с использованием команд интерпретатора Cmd.exe (Таблица 1.1), предлагается построить дерево каталогов и файлов (Рис. 1.5, Таблица 1.2), а затем по аналогии выполнить задания лабораторного практикума (номер своего личного варианта задания необходимо получить у преподавателя). Для всех приведенных далее примеров использования команд интерпретатора Cmd.exe рабочим каталогом считается D:\WINLAB.
Для создания дерева каталогов (Рис. 1.5) возможно использование двух команд: MD или MKDIR (make directory), в формате:
MKDIR [диск:]путь
MD [диск:]путь
При включении расширенной обработки, команда MKDIR создает все промежуточные каталоги в пути (Пример 1.5), тогда как при использовании команды MD пришлось бы создавать вложенные каталоги поочередно (Пример 1.7).
Пример 1.5. Создание цепочки вложенных каталогов одной командой
d:\WINLAB>mkdir papa\math\strong d:\WINLAB>tree . D:\WINLAB └───papa └───math └───strong d:\WINLAB>
Для просмотра существующей файловой структуры можно использовать команду TREE (Пример 1.5) (tree – англ. – дерево), отображающую структуру каталогов в графическом виде. Если же нужно увидеть дерево каталогов вместе с содержащимися в них файлами, то необходимо использовать команду TREE с ключом /F (Пример 1.6) – предположим, что дерево (Рис. 1.5) построено. Напомним, что точкой, в качестве параметра команды TREE обозначается текущий каталог (Пример 1.5).
Пример 1.6. Просмотр дерева каталогов и файлов командой TREE
d:\WINLAB>tree papa /f D:\WINLAB\PAPA ├───incredible │ papa3.txt │ papa4.txt │ └───math ├───strong │ papa1.txt │ └───study papa2.txt d:\WINLAB>
В общем случае команда графического представления структуры папок или пути TREE имеет формат:
TREE [диск:][путь] [/F] [/A]
Ключ /F – Вывод имен файлов в каждой папке.
Ключ /A – Использовать символы ASCII вместо символов национальных алфавитов.
Пример 1.7. Последовательное создание вложенных каталогов и попытка удаления непустого каталога
d:\WINLAB>md papa d:\WINLAB>md papa\math d:\WINLAB>md papa\math\strong d:\WINLAB>
Весьма сильной стороной использования команды MKDIR является возможность одновременного создания нескольких цепочек вложенных каталогов (Примеры 1.7, 1.8) – при этом такие цепочки должны отделяться друг от друга пробелами или запятыми.
Пример 1.8. Создание нескольких цепочек вложенных каталогов
d:\WINLAB>mkdir papa\math\strong papa\math\study d:\WINLAB>tree . D:\WINLAB └───papa └───math ├───strong └───study d:\WINLAB>
Довольно часто, для просмотра существующих каталогов и файлов используется команда DIR, отображающая список имен каталогов и файлов в указанной директории в различных форматах, определяемых ключами команды. Использование команды DIR без ключей приводит к появлению на экране избыточной информации. Чтобы получить только список имен каталогов и файлов, команду DIR необходимо запустить с ключом /B (Пример 1.9).
Пример 1.9. Просмотр списков имен каталогов и файлов командой DIR
d:\WINLAB>dir /b papa d:\WINLAB>dir papa /b incredible math d:\WINLAB>dir papa\math /b strong study d:\WINLAB>dir papa\math\strong /b papa1.txt d:\WINLAB>
Будучи запущенной без параметров, команда DIR отображает список каталогов и файлов текущей директории (Пример 1.9). Одновременное использование ключа /S совместно с ключом /B инициирует вывод на экран всех вложенных каталогов и файлов с полными путями (Пример 1.10).
Пример 1.10. Отображение всех вложенных файлов и подкаталогов
d:\WINLAB>dir papa /b /s d:\WINLAB\papa\incredible d:\WINLAB\papa\math d:\WINLAB\papa\incredible\papa3.txt d:\WINLAB\papa\incredible\papa4.txt d:\WINLAB\papa\math\strong d:\WINLAB\papa\math\study d:\WINLAB\papa\math\strong\papa1.txt d:\WINLAB\papa\math\study\papa2.txt d:\WINLAB>
В наиболее общем случае формат команды DIR выглядит следующим образом:
DIR [диск:][путь][имя файла] [/A[[:]атрибуты]] [ключи]
/A – Отображение файлов с указанными атрибутами:
D – Каталоги; R – Файлы; H – Скрытые файлы; S – Системные файлы; A – Файлы, готовые для архивирования; I – Файлы с неиндексированным содержимым; L – Точки повторной обработки; Префикс «-» имеет значение НЕ.
/B – Вывод только имен файлов.
/C – Применение разделителя групп разрядов при выводе размеров файлов. Используется по умолчанию. Ключ /-C отключает применение разделителя групп разрядов.
/D – Вывод списка в нескольких столбцах с сортировкой по столбцам.
/L – Использовать нижний регистр для имен файлов.
/N – Новый формат длинного списка, имена файлов выводятся в крайнем правом столбце.
/O – Сортировка списка отображаемых файлов.
N – По имени (по алфавиту); S – По размеру (с минимального); E – По расширению (по алфавиту); D – По дате и времени (начиная с самого старого); G – Начать список с каталогов – префикс «-» обращает порядок; /P – Пауза после заполнения каждого экрана.
/Q – Вывод сведений о владельце файла.
/R – Отображение альтернативных потоков данных файла.
/S – Отображение файлов каталога и всех его подкаталогов.
/T – Выбор поля времени для сортировки.
C – Время создания; A – Время последнее использования;
W – Время последнего изменения.
/W – Вывод списка в несколько столбцов.
/X – Формат аналогичен выводу с ключом /N, но короткие имена выводятся слева от длинных имен файлов. Если короткого имени у файла нет, вместо него выводятся пробелы.
/4 – Вывод номера года в четырехзначном формате.
Ненужные или неудачно созданные каталоги могут быть удалены из файловой системы путем использования полностью идентичные по своему действию команды RD или RMDIR (remove directory) в формате:
RMDIR [/S] [/Q] [диск:]путь
RD [/S] [/Q] [диск:]путь
Ключ: /S – удаление каталога со всеми вложенными каталогами
Ключ: /Q – отключение запроса на подтверждение при удалении вложенных каталогов, при использовании ключа /S.
Применение RD или RMDIR без ключей для удаления каталога PAPA, содержащего вложенные каталоги, не приведет к успеху, тогда как использование ключей полностью решает задачу удаления любых каталогов – о чем свидетельствуют результаты просмотра как командой DIR, так и командой TREE (Пример 1.11).
Пример 1.11. Удаление всех вложенных файлов и подкаталогов
d:\WINLAB>rd papa Папка не пуста. d:\WINLAB>rd papa /q /s d:\WINLAB>dir /b d:\WINLAB>tree . D:\WINLAB Подпапки отсутствуют d:\WINLAB>
Неудача в создании каталога может заключаться в ошибке его именования (например, в дереве Рис. 5.1 вместо каталога STUDY был создан STADY) – тогда совсем необязательно удалять каталог, а достаточно его переименовать. Переименование каталогов может потребоваться и в ряде других случаев, для этого применяются полностью идентичные команды: REN и RENAME в формате:
RENAME [диск:][путь]имя_файла1 имя_файла2
REN [диск:][путь]имя_файла1 имя_файла2
Весьма важно отметить, что команды REN и RENAME это именно команды переименования каталогов и файлов, а не перемещения (как команда MOVE – § 1.4), поэтому для конечного каталога (нового имени) не может быть указано другое местоположение – другой диск или другой каталог (Пример 1.12).
Пример 1.12. Переименование каталога
d:\WINLAB>dir papa\math /b stady strong d:\WINLAB>ren papa\math\stady papa\study Ошибка в синтаксисе команды. d:\WINLAB>ren papa\math\stady study d:\WINLAB>dir papa\math /b strong study d:\WINLAB>
Важнейшим вопросом для файловой системы является навигация по дереву существующих каталогов – т.е. возможность смены текущего каталога и, соответственно использование коротких относительных путей для вложенных каталогов, вместо абсолютных. Изменение текущего каталога в командном интерпретаторе Cmd.exe осуществляется идентичными командами CD или CHDIR (change directory) в формате:
CHDIR [/D] [диск:][путь] CD [/D] [диск:][путь]При отсутствии параметров на экран выводится имя текущего каталога (Пример 1.8), а при наличии параметра происходит смена текущего каталога – текущим становится каталог, указанный в качестве параметра команды CD или CHDIR через абсолютный или относительный путь (Пример 1.13).
Пример 1.13. Вывод имени текущего каталога
d:\WINLAB>cd D:\WINLAB d:\WINLAB>
Если в качестве параметра команде CD или CHDIR указано только имя диска, то результатом будет отображение текущего каталога на указанном диске – при смене диска командный интерпретатор запоминает текущий каталог на диске, и при следующем выборе диска текущий каталог не изменится (Пример 1.14).
Пример 1.14. Вывод имени текущего каталога на диске
d:\WINLAB\papa\math\study>c: C:\Users >cd d: D:\WINLAB\papa\math\study C:\Users >d: d:\WINLAB\papa\math\study>
Использование ключа /D в командах CD и CHDIR позволяет осуществлять изменение текущего диска и текущего каталога одной командой (Пример 1.15).
Пример 1.15. Одновременная смена текущего диска и текущего каталога
d:\WINLAB\papa\math\study>c: C:\Users> C:\Users> cd /D d:\winlab\papa d:\WINLAB\papa>
Для выбора текущего каталога, удобного для работы в конкретной ситуации используются как абсолютные пути к каталогам, так и различные способы записи относительных путей (Пример 1.16). Это же касается всех остальных команд Cmd.exe, работающих с каталогами и файлами.
Пример 1.16. Смена текущего каталога с различной записью путей
d:\WINLAB>tree . D:\WINLAB └───papa ├───incredible └───math ├───strong └───study d:\WINLAB>cd papa\math\strong d:\WINLAB\papa\math\strong>cd ..\..\incredible d:\WINLAB\papa\incredible>cd d:\WINLAB\papa\math\study d:\WINLAB\papa\math\study>cd ..\strong d:\WINLAB\papa\math\strong>cd \winlab d:\WINLAB>
При включении расширенной обработки команд, команда CHDIR перестает рассматривать пробелы как разделители, что позволяет перейти в подкаталог, имя которого содержит пробелы, не заключая все имя каталога в кавычки (Пример 1.17), при этом имя каталога, указанного в команде преобразуется к тому же регистру, что и для существующих на диске имен каталогов. При отключении расширенной обработки команд может быть использован только вариант с кавычками.
Пример 1.17. Смена текущего каталога в режиме расширенной обработки
d:\WINLAB>md "new name" d:\WINLAB>chdir new name d:\WINLAB\new name> d:\WINLAB\new name>cd .. d:\WINLAB>rd new name Не удается найти указанный файл. d:\WINLAB>rd "new name" d:\WINLAB>