ВВЕДЕНИЕ
4. Копирование и перемещение файлов и директорий
2. ЭФФЕКТИВНАЯ РАБОТА С КОМАНДНОЙ СТРОКОЙ
1. Полезные инструменты командной строки
2. Настройка параметров командной оболочки
3. Перенаправление ввода/вывода и конвейеры
3.ЧТО ДОЛЖЕН ЗНАТЬ НЕ ТОЛЬКО СИСАДМИН
1. Начало работы и внешний вид FAR
2. Основные операции FAR Manager
3. Дополнительные возможности FAR
1.3. Работа с текстовыми файлами в Cmd.exe
После построения дерева каталогов (Рис. 1.5) перейдем к рассмотрению способов создания и редактирования простых текстовых файлов (Таблица 1.2).
Для пользователей Windows самым очевидным инструментом такой работы является приложение «Блокнот» (Notepad), запускаемое в русском варианте графического интерфейса Windows как:
Пуск > Все программы > Стандартные > Блокнот
или в англоязычном интерфейсе:
Start > All Programs > Accessories > Notepad
Для корректного отображения текста фалов, созданных в текстовом редакторе Notepad, необходимо установить для командной строки кодовую страницу 1251 (Для каждого национального алфавита используется своя, так называемая, кодовая страница. необходимая для корректного отображения национальных шрифтов) и выбрать для отображения текста один из True Type шрифтов: Consolas или Lucida Console (выбор шрифтов подробно рассмотрен в следующем параграфе – § 2.2 «Настройка параметров командной строки»). Для просмотра текущей кодовой страницы, в данный момент используемой командным интерпретатором и для ее изменения, служит команда CHCP (Пример 2.4).
Приложение «Блокнот» может быть запущено и из командной строки (Пример 1.18). В данном примере создается текстовый файл papa1.txt (Рис. 1.5) с использованием абсолютного пути, включающего имя директории и имя файла.
Пример 1.18. Вывод текстового файла на экран
После подтверждения запроса на создание файла и набора соответствующего текста (Рис. 1.6), необходимо сохранить и закрыть файла (Файл > Сохранить), после чего убедиться в существовании файла командами DIR или TREE.
Рис. 1.6. Текстовый файл в редакторе Notepad.
Для просмотра существующих текстовых файлов из командной строки применяются команды TYPE или MORE (Пример 1.19).
Пример 1.19. Вывод текстового файла на экран
При просмотре текстовых файлов, можно использовать абсолютные и относительные пути к ним из текущей директории. Если с помощью команды CD сделать текущей директорию, в которой находится просматриваемый файл, то команде TYPE или MORE достаточно указать в качестве параметра только имя файла.
Команда TYPE осуществляет вывод содержимого одного или нескольких текстовых файлов в формате:
TYPE [диск:][путь]имя_файла
Команда MORE выводит данные текстового файла по частям, размером в один экран. Наиболее простой форматы ее использования выглядит следующим образом:
MORE /E [/C] [/P] [/S] [/Tn] [+n] [файлы]
/E – Разрешение использования дополнительных возможностей.
/C – Очистка экрана перед выводом каждой страницы.
/P – Учет символов перевода страницы.
/S – Сжатие нескольких пустых строк в одну строку.
/Tn –Замена табуляции n пробелами (по умолчанию n = 8).
+n – Начало вывода первого файла со строки с номером n.
Для разделения имен в списке отображаемых файлов используются пробелы. Если включен режим использования дополнительных возможностей, то MORE будет работать как консольное приложение, в командной строке которого можно вводить следующие команды:
P n – Вывод следующих n строк.
S n – Пропуск следующих n строк.
F – Вывод следующего файла.
Q – Завершение работы.
= – Вывод номера строки.
? – Вывод строки подсказки.
– Вывод следующей страницы.
– Вывод следующей строки.
Помимо текстового редактора Notepad, являющегося неотъемлемой частью стандартного набора приложений Windows, командная строка позволяет создавать и редактировать текстовые файлы при помощи утилиты Edit – текстового редактора унаследованного еще от MS DOS. Меню (допускающее управление мышью) и команды (сочетания клавиш) этого редактора практически аналогичны Notepad – и в этом нет ничего удивительного, поскольку Notepad является прямым наследником Edit. В рамках данного лабораторного практикума использование этой весьма полезной утилиты осложняют проблемы с русификацией.
Для создания текстовых файлов непосредственно в командной строке можно использовать копирование текста (§ 1.4) со стандартной консоли (клавиатуры), а также перенаправление стандартного ввода/вывода команд в текстовый файл (§ 2.3).
Если в командной строке Windows набрать и подтвердить путь к текстовому файлу (с расширением «.txt»), то это приведет к открытию текстового файла в редакторе Notepad – поскольку txt-файлы, по умолчанию, ассоциированы с этим приложением Windows.
Удаление одного или нескольких файлов в командной строке Windows осуществляется равноценными по действию командами DEL и ERASE (Пример 1.20). Для реализации примера необходимо создать в Notepad текстовый файл (скажем, ERROR.TXT) и размесить его в своем рабочем каталоге (в примерах практикума – это каталог D:\WINLAB).
Пример 1.20. Удаление файла (не обязательно текстового)
В общем случае команды DEL и ERASE имеют нижеследующий формат (далее по тексту формата: «имена» – список из одного или нескольких файлов или каталогов, если указан каталог, будут удалены все файлы в этом каталоге):
DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
/P – Запрос подтверждения перед удалением каждого файла.
/F – Принудительное удаление файлов, только для чтения.
/S – Удаление указанных файлов из всех подкаталогов.
/Q – Отключение запроса на подтверждение удаления файлов.
/A – Отбор файлов для удаления по атрибутам:
R – Файлы, доступные только для чтения;
S – Системные файлы; H – Скрытые файлы;
A – Файлы, готовые для архивирования;
I – Файлы с неиндексированным содержимым;
L – Точки повторной обработки;
Префикс «-» имеет значение НЕ.
При включении расширенной обработки команд DEL и ERASE результаты вывода для ключа /S принимают обратный характер, то есть выводятся только имена удаленных файлов, а не файлов, которые не удалось найти.
Некоторые команды cmd
Полный список команд вы можете посмотреть, набрав в командной строке help.
Очистка экрана монитора
cls — В результате ее выполнения экран монитора очищается.
Установка даты в компьютере
date [текущая дата]
Если вводится команда без параметров, то выводится текущая системная дата и делается запрос на ввод новой даты: Enter new date (mm-dd-yy):
Чтобы этот запрос не выводился, необходимо вывести команду date с параметром /t.
Установка времени в компьютере
time [часы:минуты]
Если вводится команда без параметров, то выводится текущее время и делается запрос на ввод нового значения времени: Enter new time :
Вывод номера версии DOS — ver
Вывод информации об оперативной памяти — mem
Изменение вида приглашения DOS
prompt <текст приглашения>
Например, чтобы в приглашении выводились текущее время, дата, версия DOS и путь к текущему каталогу, следует задать:
prompt $_ВРЕМЯ $t$_Сегодня $d$_Вы используете $v$_Путь $p$q
В результате подсказка будет выглядеть следующим образом:
Вы используете Microsoft Windows XP [Версия 5.1.2600]
Путь C:\Documents and Settings\Admin_d.SSU-312FA-5=
Переход на другой диск
Смена текущего диска осуществляется путем ввода в командной строке имени того диска, на который вы хотите перейти, с двоеточием (H:). При этом в командной строке должно измениться системное приглашение.
Копирование файлов
copy [устройство] [путь] имя файла-источника [устройство] [путь] имя файла-копии
При успешном выполнении копирования на экране должно появиться сообщение «1 file(s) copied» (1 файл скопирован).
copy proba.doc A:\AAA\proba1.doc – скопировать из текущего каталога файл proba.doc в подкаталог ААА диска А c новым именем proba1.doc,
copy A:\AAA\laba.pas D:\TP\BIN – скопировать с диска А из каталога ААА файл laba.pas на диск D в подкаталог BIN каталога TP c тем же именем.
Для копирования группы файлов используется подстановочный символ *. Он замещает собой один или несколько символов в имени файла.
Copy *.doc A:\AAA\ – скопировать из текущего каталога все файлы с расширением .doc в подкаталог ААА диска А без изменения их имени.
Copy A:\AAA\laba*.* D:\MAIN – скопировать с диска А из каталога ААА все файлы, имя которых начинается laba, с любым расширением, на диск D в каталог MAIN c теми же именами.
Copy a:\my.? скопирует с дискеты все файлы с именем my и с расширением, состоящим из одного символа, а также все файлы с именем my, не имеющими расширения.
С помощью команды copy можно осуществить слияние файлов. Следующая команда объединит содержимое файлов f1.txt и f2.txt в один файл f3.txt: Copy f1.txt+f2.txt f3.txt
Копирование на устройство prn позволяет распечатать текстовый файл. Например, по команде «copy laba.pas prn» на принтер будет выведен текст Pascal-программы.
Создание текстового файла
copy con [устройство] [путь] имя_файла
Данная команда копирует текст, набранный на экране в файл. В конце набора текста следует нажать клавишу F6 или Ctrl+Z и Enter. После этого на экране должно появиться сообщение «1 file(s) copied» (1 файл скопирован).
Пример: copy con proba.txt – создается файл proba.txt в текущем каталоге.
Просмотр текстового файла
type [устройство] [путь] имя_файла
По данной команде содержание текстового файла выводится на экран. Можно только просмотреть содержание файла, изменить нельзя.
Пример: type A:\AAA\proba.txt – текст файла proba.txt, находящегося на диске А в каталоге ААА, будет выведен на экран.
Редактирование текстового файла
Отредактировать содержимое текстового файла можно с помощью встроенного в командную консоль текстового редактора. Для вызова редактора с загруженным в него файлом следует указать его имя:
edit [устройство] [путь] имя_файла
Информацию о работе с текстовым редактором можно получить с помощью вызова его справки.
Переименование файлов
ren [устройство] [путь] имя старое_имя новое_имя
Примеры: ren proba.doc proba1.doc – переименовать файл proba.doc в текущем каталоге в файл с именем proba1.doc,
ren A:\AAA\laba*.pas laba*.txt – переименовать на диске А в каталоге ААА файлы, имя которых начинается laba, с расширением .pas, в файлы того же каталога c теми же именами, но с расширением .txt.
Удаление файлов
del [устройство] [путь] имя_файла
Примеры: del proba.doc– удалить файл proba.doc в текущем каталоге,
del A:\AAA\*.pas – удалить на диске А в каталоге ААА файлы с расширением .pas.
Просмотр содержимого каталога
dir [устройство] [путь] [имя файла] [ключи]
В результате ее выполнения на экране появится список подкаталогов и файлов текущего каталога. Если список каталогов и файлов достаточно велик, то он промелькнет по экрану слишком быстро, чтобы его было можно рассмотреть. Тогда команду нужно задать с ключами:
dir/p – для постраничного вывода списка,
dir/w – для вывода списка в несколько колонок, но при этом будут выведены только имена файлов без их размера и даты и времени их создания.
Примеры: dir – просмотр текущего каталога,
dir A:\ – просмотр корневого каталога дискеты А,
dir C:\DOS/p – постраничный просмотр подкаталога DOS диска С.
Смена каталога
сd [устройство] [путь] [имя каталога]
Если смена каталога прошла успешно, системное приглашение будет указывать выбранный вами каталог. Для перехода в корневой каталог используют команду cd \, для перехода в каталог на уровень выше – cd .. ..
Пример: cd nc – перейти в подкаталог NC.
Вывод сообщения на экран
Echo [сообщение]
Создание каталога
md [устройство] [путь] имя каталога
Подкаталог может быть создан в любом существующем каталоге.
Примеры: md proba – создать в текущем каталоге подкаталог PROBA
md A:\AAA\PAS – создать на диске А в каталоге ААА подкаталог PAS.
Удаление каталога
rd [устройство] [путь] имя каталога
Может быть удален только каталог, который является пустым, и он не должен быть текущим.
Примеры: rd proba – удалить в текущем каталоге подкаталог PROBA
rd A:\AAA\PAS – удалить на диске А в каталоге ААА подкаталог PAS.
Команда установки списка каталогов для поиска выполняемых файлов
Формат: Path имя[;имя]
Path C:\DOS; C:student
задает маршруты поиска программ в каталогах первого уровня DOS и Student, зарегистрированных в корневом каталоге C:.
Команды фильтрации
Команды фильтрации — это команды, которые читают данные из стандартного устройства ввода, что-то делают с данными, а затем направляют их к стандартному устройству вывода.
sort — сортирует данные. По умолчанию она упорядочивает в порядке возрастания, но с ключом /r она будет сортировать в обратном порядке.
sort < data1 > data2 — считает данные из файла data1, отсортирует их в алфавитном порядке и запишет в файл data2.
Dir | sort >> mydir.txt – оглавление текущего каталога сортируется в порядке возрастания и записывается в конец файла mydir.txt.
More — позволяет вывести такое число строк информации, какое умещается на экране вашего компьютера, а затем ждать нажатия клавиши, говорящего, что Вы готовы воспринимать следующую порцию информации.
Find — используется для обнаружения строк, которые содержат или не содержат некоторые конкретно заданные данные. Например, чтобы выделить ту строку в выходные данные команды date, которая содержит информацию о текущей дате, следует пропустить входные данные команды date через фильтр find и выделить строку, содержащую 20:
date < enter.txt | find “20”
Лабораторная работа № 1.А
Выполнить средствами командной строки следующие задания:
1. Создать в корневом каталоге Вашего пользовательского раздела диска каталог Glava1, а в нем – подкаталоги Glava2 и Glava3. В подкаталоге Glava3 создать текстовый файл myname.txt, содержащий три строчки по образцу:
Фамилия Имя Отчество
Факультет Курс Номер группы
Часы Минуты День Месяц Год
2. Скопировать файл myname.txt в подкаталог Glava2 под этим же именем и в подкаталог Glava3 под именем fio.txt.
3. Переименовать файл в подкаталоге Glava2 в myname1.txt.
4. Отредактировать файл fio.txt так, чтобы он содержал информацию на изучаемом Вами иностранном языке, а имя и отчество были бы сокращены до инициалов.
5. Объединить содержимое файлов myname1.txt и fio.txt в файл result.txt, который должен располагаться в каталоге Glava1.
6. Удалить с диска каталог Glava2.
7. Изучить справочную информацию о команде dir.
8. Используя средства перенаправления ввода-вывода в команде dir создать в каталоге Glava1 файл myinfo.txt, в котором должна содержаться информация о содержимом каталога Glava1 и его подкаталогов.
9. Переместить на «флешку»/внешний накопитель каталог Glava3, а затем скопировать на нее каталог Glava1 вместе со всем его содержимым.
10. Все созданные Вами файлы с расширением .txt скопировать в корневой каталог «флешки» с теми же именами, но с расширениями .ttt.
1. Создать в корневом каталоге Вашего пользовательского диска каталог Kniga, в нем – подкаталог Glava, а в каталоге Glava – подкаталог Itog. В каталоге Kniga создать текстовый файл myinfo.txt, содержащий три строчки по образцу:
Фамилия Имя Отчество
Факультет Курс Номер группы
Часы Минуты День Месяц Год
2. Скопировать файл myinfo.txt в подкаталог Itog под этим же именем и в подкаталог Glava под именем primer.txt
3. Переименовать файл в подкаталоге Itog в text.txt
4. Отредактировать файл myinfo.txt так, чтобы он содержал информацию как на русском, так и на изучаемом Вами иностранном языке.
5. Объединить содержимое файлов myinfo.txt и text.txt в файл itog.txt, который должен располагаться в каталоге Glava.
6. Изучить справочную информацию о команде dir.
7. Используя средства перенаправления ввода-вывода создать в каталоге Glava файл mykniga.txt, в котором должна содержаться информация о содержимом каталога Glava, отсортированная в порядке возрастания размера файлов.
8. Переместить на «флешку»/внешний накопитель каталог Itog, а затем скопировать на нее каталог Glava вместе со всем его содержимым.
9. Удалить с диска каталог Kniga.
10. Все созданные Вами файлы с расширением .lex скопировать в корневой каталог «флешки» с теми же именами, но с расширениями .txt.
Командные файлы
До сих пор, приводя примеры, мы считали, что всякий раз вводим команды вручную. При обработке большого количества файлов или при систематическом выполнении одних и тех же команд это становится обременительно. Поэтому в командном процессоре предусмотрена возможность выполнения командных файлов. Командный файл — это текстовый файл, в котором набраны команды (или хотя бы одна команда). Пример командного файла:
help copy > copy.help
help move > move.help
move *.help msdos-help
Командные файлы имеют расширение bat. По нему файлы этого типа опознаются командным процессором. Этот файл можно назвать, например, make-help.bat.
Для того чтобы запустить командный файл, введите его имя в качестве команды. После этого командный файл будет выполнен.
В командном файле каждая команда занимает одну строку. Точнее, существует способ расположить одну команду на нескольких подряд идущих строках, для этого непосредственно перед каждым переводом строки следует поставить символ «крышка» ^. (Необходимо, чтобы каждая «крышка» была последним символом в своей строке; после нее не должно быть пробелов и табуляций). Пример:
if exist Z:\test.txt ^
При выполнении командного файла командный процессор просматривает его сверху вниз от первой строки к последней и выполняет команды в том порядке, в котором их обнаруживает. Выполняет он в целом их так, как если бы каждая из них вводилась вручную.
Не путайте текущий каталог с каталогом, в котором находится запускаемый командный файл. Предположим, текущим каталогом является work, в нем находится каталог tools, а в каталоге tools хранятся командные файлы. Вы запускаете один из них командой tools\collect-images.bat. Так вот, «с точки зрения» этого командного файла, текущим каталогом все равно окажется work, а не tools.
Для приостановке выполнения командного файла используется команда pause. Чтобы продолжить выполнение командного файла, следует нажать на клавиатуре любую клавишу.
Комментирование командного файла и его выдачи.
Команды echo и rem
Командный файл, по существу, представляет собой программу, написанную на языке командного процессора операционной системы. Текст программы полагается снабжать комментариями, чтобы, вернувшись к нему некоторое время спустя, не вспоминать мучительно, для чего эта программа нужна, и как она устроена.
Для оформления комментариев предусмотрена команда rem. Это фиктивная команда, которая не предполагает выполнения каких бы то ни было действий, но позволяет написать в строке после своего имени произвольный текст. Причем командный процессор не воспринимает его как синтаксическую ошибку.
rem Формирование файлов справки по командам copy и move
rem Формируем файлы справки
help copy > copy.help
help move > move.help
rem Создаем каталог для хранения файлов справки
rem Перемещаем файлы справки в подготовленный каталог
move *.help msdos-help
При выполнении приведенного выше командного файла все команды будут выводиться на экран по мере их выполнения, что не всегда удобно. Выдачу команд можно отключить с помощью команды @echo off. Символ «собака» перед командой echo означает, что и сама эта команда должна выполняться в «молчаливом» режиме. С таким же успехом мы могли бы не пользоваться командной echo off, а поместить «собаку» перед каждой командой.
Во многих случаях требуется, чтобы командный файл выводил на экран (или в файл) те или иные сообщения. В одних случаях это могут быть сообщения об ошибках, в других информационные сообщения, объясняющие пользователю командного файла, что происходит в данный момент. Для вывода сообщений применяется та же самая команда echo. В качестве параметра ей передают текст выводимого сообщения. Пример усовершенствованного командного файла:
rem Формирование файлов справки по командам copy и move
@echo Формируем файлы справки. Одну секундочку.
rem Формируем файлы справки
help copy > copy.help
help move > move.help
rem Создаем каталог для хранения файлов справки
rem Перемещаем файлы справки в подготовленный каталог
move *.help msdos-help
Передача командному файлу параметров
Предположим, мы хотим создать командный файл, который сначала формирует справку с описанием заданной пользователем команды, а потом загружает его для просмотра в блокнот. Фокус в том, чтобы при очередном запуске командного файла каким-то образом сообщить ему, какая именно команда нас интересует на этот раз.
Для решения этой задачи предусмотрен механизм обработки параметров. Работает он довольно просто. Если при запуске командного файла пользователь указал несколько параметров после имени файла, то в тексте командного файла первый из них мы обозначаем записью %1, второй записью %2, третий записью %3 и т.д. Всего может быть использовано не более 9 параметров.
Текст командного файла, решающего поставленную задачу, приведен ниже. Обратите внимание на команду help. В качестве ее параметра ей передается первый параметр командного файла.
rem Формируем файл с описанием команды,
rem имя которой передано параметром
help %1 > help.tmp
rem Загружаем файл описания в редактор Блокнот
Предположим, что мы присвоили этому командному файлу имя show-help.bat. Для того чтобы загрузить в блокнот описание команды, например, dir, мы должны ввести команду следующим образом: show-help.bat dir
Следующий командный файл создает каталог с именем, указанным в первом параметре, и записывает в него файл с текстом описания команды, указанной во втором параметре:
rem Пример командного файла с двумя параметрами
rem Создаем каталог с именем, заданным первым параметром
rem Создаем в нем файл с описанием команды,
rem заданной вторым параметром
Что произойдет, если пользователь при запуске этого командного файла укажет не два, а четыре параметра? Ничего страшного, они ничему не помешают, просто не будут использованы. А что будет, если пользователь укажет только первый параметр? Второй параметр окажется пустым. Эффект получится такой: командный файл будет выполнен, но так, как будто на месте записи %2 ничего нет. Команда help сформирует список всех команд и поместит его в файл с пустым именем и расширением.help. Если же пользователь запустить этот файл, не указав ни одного параметра, то при попытке командного процессора выполнить команду md (предназначена для создания каталога), будет выдано сообщение о синтаксической ошибке, поскольку у команды md обязательно должен быть параметр.
Таким образом, использование параметров создает большие возможности, но может существенно усложнить дело. Для того чтобы командный файл всегда работал корректно, необходимо проверять корректность указания пользователем параметров и каким-то образом реагировать на неполные или неверные входные данные.
Как редактировать текстовые файлы в командной строке Windows?
В Unix я бы просто использовал vi, но я не знаю, что это за команда в Windows. На самом деле я пытаюсь редактировать файлы через SSH с помощью Windows Server 2008.
edit filename
Я не ручаюсь за его функциональность и устаревший графический интерфейс, но он установлен по умолчанию даже в Windows 7.
Изменить: За исключением 64-битных версий Windows.
Самое простое решение для всех версий Windows:
И никакого дополнительного программного обеспечения не требуется.
Самое простое решение для всех версий в Windows:
И никакого дополнительного программного обеспечения не требуется.
В командной строке Windows введите copy con , за которым следует имя целевого файла. ( copy con c: file.txt ).
Затем введите текст, который вы хотите поместить в файл.
Завершите и сохраните файл, нажав CTRL – Z , затем Enter или F6 , затем Enter .
Если вы хотите изменить текст в существующем файле, просто отобразите текст с помощью команды type , за которым следует имя файла, а затем просто скопируйте и вставьте текст в команду copy con .
В командной строке Windows введите copy con , а затем имя целевого файла. ( copy con c: file.txt ).
Затем введите текст, который вы хотите поместить в файл.
Завершите и сохраните файл, нажав CTRL – Z , затем Enter или F6 затем Enter .
Если вы хотите изменить текст в существующем файле, просто отобразите текст с помощью команды type , за которой следует по имени файла, а затем просто скопируйте и вставьте текст в команду copy con .
Если вы привыкли к vi и не хотите довольствоваться встроенным редактором, вы можете получить Vim для Windows . Он будет запускаться из командной оболочки. Или попробуйте WinVi.
Если вы привыкли к vi и не хотите соглашаться на встроенный редактор, вы можете получить Vim для Windows . Он будет запускаться из командной оболочки. Или попробуйте WinVi.
Верьте или нет, EDLIN.EXE все еще около по крайней мере в этой системе Vista.
Простите, я тихонько рыдаю про себя …
Хотите верьте, хотите нет, но EDLIN.EXE все еще находится рядом с по крайней мере в этой системе Vista.
Простите, я тихонько рыдаю про себя …
Я не знаю о SSH или о чем-то (еще?), связанном с сервером , так что простите меня, если это “решение” бесполезно. Если вы хотите редактировать файлы в командной строке, вы можете получить версию Nano для Windows.
В качестве примечания, эти маленькие значки ^ внизу окна должны представлять кнопку Ctrl . Например, ^ X Exit означает, что вы можете выйти из программы, используя Ctrl – X .
Кроме того, Nano иногда добавляет дополнительные символы новой строки при сохранении файлов. Кажется, это какая-то ошибка с переносом слов в Nano.
Я также видел порты vi для Windows, хотя я использовал тот, который, похоже, делает окно командной строки таким маленьким, как это может быть, оставив только строку заголовка (что означает, что остальная часть окна также может быть невидимой, поскольку вы не можете видеть, что делаете). Однако версия Vim для Windows, похоже, работает довольно хорошо.
Я не знаю про SSH или что-то (еще?), связанное с сервером, так что простите меня, если это “решение” бесполезно . Если вы хотите редактировать файлы в командной строке, вы можете получить версию Nano для Windows..
В качестве примечания: эти маленькие знаки ^ внизу окна должны представлять кнопку Ctrl . Например, ^ X Exit означает, что вы можете выйти из программы, используя Ctrl – X .
Кроме того, Nano иногда добавляет дополнительные символы новой строки при сохранении файлов. Кажется, это какая-то ошибка с переносом слов в Nano.
Я также видел порты vi для Windows, хотя я использовал тот, который, похоже, делает окно командной строки таким маленьким, как это может быть, оставив только строку заголовка (что означает, что остальная часть окна также может быть невидимой, поскольку вы не можете видеть, что делаете). Однако версия Vim для Windows, похоже, работает довольно хорошо.
Если у вас установлен git для Windows, то, скорее всего, и nano, и vim доступны по адресу
Для запуска из командной строки (cmd.exe)
Для запуска в PowerShell
Они оба отлично работают даже по ssh.

Если у вас установлен git для Windows, то, скорее всего, nano и vim доступны по адресу
Для запуска из команды подсказка (cmd.exe)
Для запуска в PowerShell
Оба они отлично работают даже по ssh.
В Win10 просто включите подсистему linux, тогда у вас будет большая часть вещей Linux, таких как vim и nano :

В Win10 просто включите подсистему linux, тогда у вас будет большая часть Linux такие вещи, как vim и nano :
Если на удаленном компьютере Подсистема Windows для Linux установлена, вы можете ввести bash , чтобы следующие команды интерпретировались WSL. Отсюда вы можете ввести nano FILENAME или vim FILENAME или любой другой текстовый редактор Linux, который вы предпочитаете. Чтобы выйти из WSL и вернуться в обычную командную строку, введите exit или logout .
Это пригодилось, когда я получал доступ сервер Windows Jupyter Notebook и хотел отредактировать .gitattributes , скрытый файл, который не отображается в графическом интерфейсе Jupyter. Этот ответ основан на приведенном выше комментарии SajanGohil.

Если на удаленном компьютере установлена подсистема Windows для Linux, вы можете ввести bash , чтобы получить следующий команды, интерпретируемые WSL. Отсюда вы можете ввести nano FILENAME или vim FILENAME или любой другой текстовый редактор Linux, который вы предпочитаете. Чтобы выйти из WSL и вернуться в обычную командную строку, введите exit или logout .
Это пригодилось, когда я получал доступ сервер Windows Jupyter Notebook и хотел отредактировать .gitattributes , скрытый файл, который не отображается в графическом интерфейсе Jupyter. Этот ответ основан на комментарии SajanGohil выше..
Используйте vim или nano .
Установите vim с помощью choco install vim , используя шоколадный менеджер пакетов.
(Также может быть доступна версия Scoop, но я не проверял.)
Хотя nano также существует как choco , он очень устарел. Вместо этого установите этот файл nano. Однако при использовании через SSH управляющие символы nano немного сбиваются с толку, поэтому вы можете потерять некоторые, поскольку Windows использует собственный API для управления экранными символами, а не POSIX. Поэтому, хотя в настоящее время ведется большая работа по обеспечению совместимости с Win10 в будущем.
Затем вы можете запустить: nano -cg some.txt , но курсор будет отображаются только в нужном месте, когда вы нажимаете CTRL-L . (Вот почему vim предпочтительнее.)
Используйте vim или nano .
Установите vim с помощью choco install vim , используя шоколадный менеджер пакетов.
(Также может быть доступна версия Scoop, но я не проверял.)
Хотя nano также существует как choco , он очень устарел. Вместо этого установите этот файл nano. Однако при использовании через SSH управляющие символы nano немного сбиваются с толку, поэтому вы можете потерять некоторые, поскольку Windows использует собственный API для управления экранными символами, а не POSIX. Поэтому, хотя в настоящее время ведется большая работа по обеспечению совместимости с Win10 в будущем.
Затем вы можете запустить: nano -cg some.txt , но курсор будет отображаются только в нужном месте, когда вы нажимаете CTRL-L . (Вот почему vim предпочтительнее.)
Изучите командную строку в терминале
Создание папок – это круто, но папка без содержимого так же полезна, как и пустая коробка!
Теперь, когда вы знакомы с созданием папок через командную строку, пришло время заполнить эти папки файлами..
Мы будем придерживаться формата предыдущей главы, то есть покажем один пример создания файлов без кода в них, а другой. с кодом . Таким образом, даже если вы еще не программист, вы сможете понять, почему папки и файлы также полезны для программистов!
Создание файлов
Не -пример кода
В предыдущей главе вы создали структуру папок для школьных курсовых работ . Эта папка называлась вторым семестром. В качестве небольшого упражнения в предыдущей главе вы также создали папки внутри папки второго семестра для каждого курса (история искусств, биология и т. Д.).
Как вы понимаете, разные Для курсов потребуются файлы разных типов внутри. Например, на уроке гуманитарных наук, таком как история искусства, может потребоваться конец курсовой работы. Скорее всего, это текстовый файл. Может быть, на уроке биологии потребуются исследования и результаты этого семестра! Скорее всего, это электронная таблица.
Вы можете создавать все типы файлов из самой командной строки.
Это намного быстрее, чем создание файла по отдельности через различные приложения, такие как Microsoft Excel или текстовый редактор, и запустив «Сохранить как».
Давайте сначала поработаем с примером истории искусства. Если вы используете команду cd для перехода в каталог «История искусства», вы можете затем использовать команду под названием touch , чтобы создать файл для нашего конца. курсовой работы.
Touch – команда звучит довольно жутко, но вот что она делает:
указывает вашей системе искать определенный файл
Если файл еще не существует, ваша система создаст этот файл для вас.
В этом случае давайте создадим файл с именем term-paper.txt .
команда будет выглядеть так:
Это так просто! Теперь, если вы снова посмотрите в Finder, вы увидите, что этот файл был создан внутри вашей папки «История искусства». В настоящее время он пуст, но вы можете открыть его в любое время из Терминала, чтобы редактировать содержимое, как обычно:
Теперь пора создать второй файл. Этот второй файл будет в папке «Биология». Это означает, что мы должны сменить каталоги на папку Biology!
Вы можете применить на практике смену директорий для перехода на один уровень вверх. Две точки представляют родительский каталог каталога, в котором вы сейчас находитесь, поэтому вы можете cd .. переместиться на один уровень вверх в структуре папок.
На этом этапе вы вернетесь в каталог «Второй семестр».
Теперь вы можете ввести cd Biology , чтобы перейти в каталог Biology.. Отсюда вы можете написать ту же сенсорную команду с именем файла, который вы хотите создать, и расширением файла.
Вот как выглядит вся серия команд:
Запустите команду open, чтобы открыть файл
Обратите внимание, что после запуска open research-sizes.csv файл открывается автоматически в Microsoft Excel. Терминал достаточно умен, чтобы знать, какое приложение должно открывать файлы какого типа.
Файл открывается в правильном приложении автоматически!
Пример кода
В предыдущей главе вы видели, как создать базовую структуру папок для статического веб-сайта. Была папка CSS и папка для изображений.
Однако обе они пусты. Давайте добавим файл!
Попав в каталог project , вы создадите пустой HTML-файл . Этот файл обычно является основной страницей любого базового проекта кода. HTML-файлы – это то место, где будет находиться структура веб-страницы , и где вы определяете абзацы или заголовки, где вы хотите использовать элементы, такие как панели навигации, или как текст должен быть отформатирован.
Выполните коснитесь плюс имя файла – index.html – для его создания:
Теперь, набрав ls , вы можете увидеть, что проект содержит папку CSS, папку для изображений, и файл с именем index.html . Мы вернемся к этому файлу через секунду.
Создание файла index.html
Давайте cd в каталог css и создадим здесь другой файл. Этот новый файл будет иметь другое расширение, чем другие, которые мы создали до сих пор: это не будет .txt или .csv. ни .html. Это будет .css, потому что он будет содержать код CSS!
Я даже могу открыть HTML-файл в моем браузере, чтобы просмотреть содержимое моего файла:
Теперь вы понимаете, насколько универсальным и оптимизированным является создание файлов из командной строки. Это намного быстрее, чем создание файлов по отдельности с помощью различных приложений, таких как Word.
Вам просто нужно знать имя вашего файла и расширение вы хотите, и вы можете сэкономить много времени и полностью избежать процесса Сохранить как в разных приложениях.
В следующей главе вы увидите, как перемещать и копировать часть этого контента вы создали.
How do I edit text files in the Windows command prompt?
On Unix I’d just use vi, but I don’t know what the command is on Windows. I am actually trying to edit files over SSH with Windows Server 2008.
![]()
12 Answers 12
edit filename
I won’t vouch for its functionality and outdated GUI but it is installed by default, even on Windows 7.
Edit: Except 64 bit versions of Windows.
The simplest solution on all versions of Windows is:
And, no extra software required.
From a Windows command prompt enter copy con followed by the target file name. ( copy con c:\file.txt ).
Then enter the text you want to put in the file.
End and save the file by pressing CTRL — Z then Enter or F6 then Enter .
If you want to change text in an existing file simply display the text by using the command type followed by the file name and then just copy and paste the text in to the copy con command.
If you have git installed for windows then most likely nano and vim are both available at
To run from a command prompt (cmd.exe)
To run in powershell
They both work great even over ssh.
![]()
If you’re used to vi and don’t want to settle for the built-in editor you can get Vim for Windows. It’ll run from a command shell. Or try WinVi.
Believe it or not, EDLIN.EXE is still around <shudder> at least on this Vista system.
Excuse me while I sob softly to myself.
I don’t know about SSH, or anything (else?) server-related, so forgive me if this «solution» is useless. If you want to edit files in the command prompt, you can get the Windows version of Nano.
As a side note, those little ^ signs at the bottom of the window are supposed to represent the Ctrl button. For instance, ^X Exit means that you can exit the program using Ctrl — X .
Also, Nano will sometimes add extra newlines when saving files. This seems to be some kind of bug with Nano’s word wrapping.
I’ve also seen ports of vi for Windows, although I’ve used one that just seem to make command prompt window as small as it can be, leaving only a title bar (which means the rest of the window may as well be invisible, since you can’t see what you’re doing). However, the Windows version of Vim seems to work quite nicely.
On Win10 just enable the linux subsystem then you’ll have most of the linux stuff like vim and nano :
![]()
2021 UPDATE
As @phuclv has mentioned in comments, I want to emphasize that there is a tool that actually works great on Windows 64 bit too! It’s called Micro and fortunately, it is quite feature-rich, regularly updated and alive.
To install it, you only need to download the latest version’s 64bit.zip file from here, and then unzip it somewhere and add its path to your PATH. No dependencies or external files are needed — just the binary and you’re done.
Quick Start:
- Just type micro to create and edit a new text file.
- Type micro <filename> to start editing an already-made file.
- To save: ctrl + s
- To see a list of keybindings: alt + g
- To quit: ctrl + q
Some Exciting Features:
- Select text easily (using the shift key, or even using your mouse!), and then copy, cut, paste or delete the selected text using the same keybindings common in your operating system(e.g. ctrl + c for copy on Windows).
- Supporting so many common keybindings, e.g. ctrl + d to duplicate a line, or activate multiple curser mode and etc.
- Undo / Redo
- Syntax Highlighting (for more than 130 programming languages)
- Plugin System
- Typed Commands (instead of using keybindings)
- .
A tip on using Micro for VSCode users:
Since both VSCode and Micro try to support all common keybindings, you’ll probably have a lot of conflicting keybindings between them when using Micro inside the VSCode’s embedded CMD/PowerShell terminal. For instance, to quit Micro, you will have to use ctrl + q while it is the VSCode’s keybinding for the "Quick Open View" command.
But no worries! Micro also supports "Typed Commands" which allow you to control the editor using commands instead of keybindings. So you can type commands and you’re fine to use Micro on VSCode as well. However, there’s still a tiny problem. To enable "command mode" on Micro, you have to use ctrl + e , which is also a keybinding of VSCode for the "Go To File. " command. So you have to change the ctrl + e keybinding either on VSCode or on Micro to get rid of this conflict and then you’re all set.
Personally, I preferred to change Micro’s ctrl + e . Here are the steps from the documentation to change it to ctrl + w (or whatever else non-conflicting keybinding of your own liking) on a Windows machine: