Надоел медленный Интернет?  Попробуй Ускоритель!
Marketscore - сервис, практически вдвое увеличивающий в Интернете скорость работы вашего браузера. В среднем, скорость загрузки вэбстраниц с графикой и текстом ускоряется на 75%. 
Особенно заметен выигрыш, если у вас медленный модем или вы выходите в Интернет на маленьких скоростях (до 56 Кб/сек).
Подробнее...

реклама у нас

***

Консоль: взгляд из-под Windows. Как достать файлы с запорченной дискеты

Сергей Уваров, Павел Деглин

Недавно в журнале была статья об "юниксовой" консоли ("Настоящий мужчина выбирает консоль", Upgrade # 39 (77)), где автор постарался доходчиво рассказать о преимуществах командной строки. И наверняка многие владельцы экрана с картинками под названием Windows, давно забывшие о том, как работают ручками, отнеслись к этой статье в достаточной мере уважительно, но все же отстраненно, примерно как к рассказу о повышении эффективности управленческих технологий в какой-нибудь компании.

А между прочим, эта тема не так уж далеко от нас, пользователей Windows, как кажется. У всех нас под рукой есть и shell, и commander, и множество маленьких и мощных инструментов, и совсем не обязательно ставить Linux, чтобы ими воспользоваться, потому как есть у нас DOS (в основном это касается Windows 9х, установленных сейчас на большинстве персональных компьютеров). Что же может этот старый текстовый DOS дать современному "Повелителю Окошек"? Попробую привести несколько примеров.

Вот захотелось вдруг посмотреть, каким путем-дорогой идет сигнал от вас до американского Yahoo!. Ну, вот захотелось и все тут. Может ведь у человека возникнуть такое экстравагантное желание, к тому же весьма полезное, как будет понятно чуть дальше. Исполнить это желание можно двумя путями: медленно, дорого и красиво либо быстро и функционально. Можно скачать большой, красивый и платный VisualRoute, а можно просто набрать в окне DOS команду tracert www.yahoo.com.

Если второй способ вас заинтересовал, значит, эта статья для вас. Добро пожаловать. Во избежание недоразумений хочу сразу предупредить, что DOS я рассматриваю не в ее оригинальном виде, а со всеми часто используемыми дополнениями, в том привычном виде, как она есть на многих компьютерах.
Итак, мы задали вышеозначенную команду в "досовском" окне.

Если мы еще на линии, должен появиться список всех промежуточных серверов и времени доступа к ним. По названиям серверов можно узнать довольно много любопытной информации о своем провайдере - как далеко он от магистрального канала, через какую страну этот канал идет... Соответственно, можно сделать полезный вывод, откуда вам лучше качать программы: из Европы или из Америки. Также просто из "досовского" окна можно воспользоваться чисто "юниксовыми" командами telnet и ftp.

Правда, ftp в командной строке некомфортен, для операций с файлами гораздо удобнее пользоваться коммандерами, например FAR Commander (а вы пробовали ходить с его помощью по FTP? Alt+F1, 2 - и вперед). Кстати, раз уж коснулись FAR. Преимущества коммандеров обычно остаются недооценены юзером до тех пор, пока он не начинает пользоваться горячими клавишами.

Возьмем для примера одну из самых часто встречающихся задач - сравнение каталогов. Например, есть у нас каталог с документами и его копия на другом диске. Как узнать, какие из документов содержат более поздние исправления? Windows Explorer и подобные ему файловые менеджеры ничем нам не помогут. Можно бесконечно тыкать по очереди в файлы с одинаковыми именами, пытаясь удержать в голове даты исправления, но это явный мазохизм.

Лучше запустить FAR, Norton или Volcov Commander, выбрать в левом и правом окне соответствующие папки и нажать три кнопки F9, C, C (Commands, Compare folders) - в русифицированной версии клавиши, естественно, другие - F9, К, С ("Команды", "Сравнение папок"). Вуаля, более новые файлы выделены ярким цветом и готовы к копированию путем нажатия еще одной клавиши. На все про все затрачено две секунды и три телодвижения. Так что очень рекомендую, если вы еще не знакомы с FAR, - поставьте обязательно rwntug.quarta.msk.ru/WinUtil/Rar.

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

(А вот и протест, предсказанный автором: свободы быстрых клавиш у Windows Commander гораздо больше: например, операция сравнения каталогов выполняется не тремя последовательными нажатиями, а одним - Shift+F2; внешность же его отражает суть, а вот у FAR внешность обманчива: только ею он с DOS и схож - прим. ред.)

Апологетам UNIX, возможно, также будет интересно узнать, что для DOS существуют хорошие наборы консольных инструментов, включающих в себя такую "юниксовую" гордость как vi, sed, awk и даже мощный KornShell, которым можно заменить недошелл под названием command.

com. Но не будем далеко уходить от темы. Разговоры о скоростной работе в FAR Commander, сравнение с другими коммандерами и сравнения DOS и UNIX можно будет продолжить при желании в следующей статье. А пока вернемся к DOS и его командной строке. В чем состоит основное преимущество командной строки перед ярлычками? Это скорость и универсальная гибкость.

С каким количеством программ, запускаемых при помощи ярлычка, может эффективно работать человек? Думаю, штук двадцать-тридцать. Вот у меня в окне Панели управления 28 значков. Пользуюсь я этим окном довольно часто, но если понадобился какой-либо редко используемый элемент, на его поиски уходит полминуты. С консольными программами все по-другому. Все, что требуется, - это набрать имя и нажать Enter.

Любая программа запускается за пару секунд, если, конечно, она лежит в каталоге, прописанном в Path. Нужно только помнить имя программы, ну а сколько слов может запомнить человек? Наверное, правильный ответ - много. Уж явно больше двадцати. Некоторые вот японский язык запоминают. Это что касается скорости.
Гибкость командной строки - это вообще отдельная песня. Во-первых, командная строка позволяет дописать после имени программы разные полезные слова (ключи и аргументы).

Сергей Трошин недавно (рубрика "Техническая поддержка" Upgrade # 39 (77)) приводил на страницах журнала большой список ключей Explorer. Там есть много полезных функций, но как ими воспользоваться, имея на руках ярлычок этого "эксплорера"? Нет, в принципе, можно наделать кучу ярлычков для каждого ключа, но это же опять мазохизм, а еще есть комбинации из нескольких ключей.

В командной же строке пиши, сколько хочешь. Да, чтобы пользоваться, надо запоминать ключи, но на это требуется не так уж много времени. Естественно, всего человек помнить не может, да и то, что помнит, иногда забывает. На этот случай есть универсальный ключ /? (иногда -h) - вызов помощи по параметрам запуска программы. Только не пытайтесь применять этот ключ к неконсольным, то бишь "окошечным" программам.

К сожалению, они разучились понимать так явно и недвусмысленно высказанные просьбы о помощи. 
Но это еще не все прелести. Есть и другие интересные вещи, которые можно дописать после имени программы или команды. Это специальные значки, обладающие просто поразительной мощью для своего мизерного размера. Возьмем для начала значок > - перенаправление вывода.

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

Решается такая проблема очень просто: команда /ключ > имя_файла. Результат выполнения команды будет записан в новом текстовом файле. Возьмем для примера нашу первую программу - tracert. Если написать tracert upgrade.computery.ru > upgrade.txt, то появится новый файл upgrade.txt, и в нем будет записан весь путь от вас до upgrade.computery.ru.

Еще есть значок |, называемый pipe, то есть "трубопровод" (на клавиатуре обычно находится над или под клавишей Enter). Этим "трубопроводом" можно соединить пару работающих программ, так что первая будет перекачивать свою информацию во вторую. Попробую показать, как это работает, на не очень сложном примере. Первая программа - тот же tracert.

Вторая - sed (stream editor, в стандартный DOS не входит) - программа, умеющая пропускать через себя поток текста, переделывая его по дороге: форматируя, удаляя ненужные строки и т. п. Эта программа удобна для примера. Описание управления ею выходит за рамки нашей статьи, но давайте представим себе, что настройки для sed я записал где-то в отдельном файле, чтобы не загромождать наш пример.

Пишем команду:
tracert upgrade.computery.ru | sed > prn
Что у нас вышло:
1) tracert выдает текст, но на экране мы его не увидим, потому что
2) значок | переключил поток этого текста на вход программе sed. Sed форматирует этот текст так, как я его просил, и пропускает дальше. Но на экран текст снова не попадает так как
3) значок > перенаправляет текст на принтер.

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

И еще хочу привести один пример спасения утопающих, когда DOS заменить просто нечем. Представьте себе, что у вас есть дискета с важными файлами, и эта дискета вдруг перестала читаться, физически запортилась. В ход идут "Скандиск", "Нортон Диск Доктор", "ДискТулс", затем противное жужжание дисководом и сообщение о том, о чем мы и так в курсе - дискета неисправна.

Вечный вопрос: что делать? Можно стреляться, но для эмоционально уравновешенного человека всегда найдется другой выход. В данном случае рекомендую обратиться к старому проверенному инструментарию.

Потребуются: чистый DOS (не сессия), чистая дискета и самое главное - программа для копирования защищенных дискет, рекомендую TeleDisk (официального сайта нет, но найти можно например здесь: ftp.picksys.com/freeware/teledisk.zip, всего 800 кб).

TeleDisk написан в начале 90-х, когда программы были еще маленькими и помещались на дискетах. Тогда добрые люди придумывали, как эти дискеты защищать от копирования - разными методами, вплоть до размагничивания или физической порчи одного кластера.

Другие добрые люди, соответственно, придумывали, как эти дискеты копировать, не взирая ни на какие каверзы. Так вот, программа TeleDisk копирует дискеты посекторно, работая напрямую с дисководом (почему и не стоит запускать его из-под Windows, а то "форточки" могут с ума сойти).

Итак, берем запорченную дискету, запускаем teledisk.exe, Copy Disk to File, ставим чистую, Copy File to Disk. Все, в большинстве случаев уже можно открывать шампанское, иногда перед этим потребуется пройтись по дискете "скандиском". Успехов. 

Источник: http://www.computery.ru/upgrade/

 


Copyright © "Internet Zone"info@izcity.com 
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/.
При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. Подробнее условия использования материалов смотрите здесь.