Всем привет!
Хочу немного отвлечься от текущих тем ради одного пояснения. Вот пишу про всякое, типа "создайте файл", "отредактируйте файл", и т.д., и эти действия кажутся супер-банальными. Я не пишу, как именно создаётся или редактируется файл, потому что это вроде как азы работы с системой, которые должны знать все, кто хоть немного освоил компьютер.
Тем не менее, время от времени с удивлением обнаруживаю, что у кого-то возникают проблемы. Причём эти проблемы возникают и у меня тоже, если я пытаюсь использовать стандартные средства Windows 10. О таких проблемах я даже не подозревал (типа, ну не может это быть настолько тупо, но оказывается, может).
Например, вы создали новый файл в программе Notepad, но вы не можете его сохранить как index.php. Расширение получается .txt. Хорошо, давайте сохраним index.txt, и переименуем его в index.php, используя Проводник. И опять не получается! Проводник меняет только имя файла, но не расширение. Супер-неудобно!
Далее, ещё один случай: вам нужно запустить программу. Вы можете создать ярлык на рабочем столе, или кликнуть из Проводника. Но если вам нужно запустить программу с дополнительными параметрами, например:
httpd.exe -k install
То куда вы введёте эти дополнительные параметры? Да, это можно сделать, но опять же неудобно.
Далее, такой пример: программа запустилась, появилось какое-то чёрное окошко, в нём что-то написалось, окошко сразу закрылось. Что это было? Вы никогда не узнаете. Супер-неудобно!
Есть возможность запускать программы в текстовом командном окне cmd.exe, но это опять же супер-неудобно. Вам надо вручную ввести команду cd, чтобы попасть в нужный каталог, у вас нет возможности нормально скопировать или вставить текст, нет удобного способа посмотреть список файлов в папке, кроме команды dir, и т.д.
Как решается проблема?
Если вы осваиваете программирование, то наверное у вас установлена IDE (Integrated Development Environment, интегрированная среда разработки), то есть программа, которая сочетает в себе редактор исходного кода (с подсветкой всяких синтаксических штук), доступ к файлам через собственный "проводник", возможность копировать и переименовывать файлы и т.д.
Примеры IDE: Netbeans, Idea, Eclipse, PHPStorm, Visual Studio, Android Studio, VSCode.
Иметь IDE для программиста жизненно необходимо, чтобы не делать ошибок в коде, быстро искать нужные файлы, быстро находить нужные места в коде и т.д.
Но этого недостаточно
Кроме собственно программирования, возникает много побочных задач: инсталлировать программу, запустить скрипт, скопировать файл, просмотреть/отредактировать файл и т.д. Почему я выделил "просмотреть/отредактировать файл" отдельно, ведь это можно сделать в IDE? Дело в том, что если вам нужно БЫСТРО (на пару секунд) заглянуть в файл, или БЫСТРО (за 10 секунд) отредактировать пару строк в файле, то нет смысла запускать ради этого IDE или какой-то текстовый редактор, пусть даже и Notepad. Это слишком долго.
Возможно, вы даже не обращали внимания, сколько раз вам надо было скопировать, переименовать или удалить файл, запустить программу или сервис, посмотреть на то, что выдаёт программа и т.д.
Собственно, мне это требуется так часто, что я не вижу никакой жизни без командной оболочки / файлового менеджера.
Командные оболочки и файловые менеджеры
Я вовсе не думаю, что вы о них не знаете. Скорее всего, вы ими уже и так пользуетесь. Но для того, чтобы очистить совесть (и чтобы можно было ссылаться на них), я должен о них написать.
Командная оболочка – это текстовое (в оригинале) окно, подобное окну cmd.exe, только она имеет расширенный функционал. Файл-менеджер – это командная оболочка плюс встроенный визуальный "файловый проводник" и меню команд, с помощью которых можно вытворять разное.
Основные действия, которые вы можете выполнять: вводить команды в командной строке, видеть результат; копировать и вставлять текст в командную строку; переходить по разным папкам в визуальном интерфейсе; быстро просматривать, редактировать, копировать, переименовывать и удалять файлы. Это 90% задач, ради которых нужен менеджер. Но кроме них, есть множество других: создавать собственные меню и макросы команд, соединяться с FTP-серверами, подсчитывать количество файлов в папках, архивировать и разархивировать файлы и др.
Вероятно, самый первый (как минимум, самый известный) менеджер – это легендарный Norton Commander.
Этот стиль "два окна" без изменений перекочевал в супер-быстрый и маленький Volkov Commander и затем в Far Manager. Также было альтернативное направление: DOS Navigator.
Вкратце поясню: Чёрная полоска внизу это командная строка, где вы можете вводить команды. Сверху два синих окна: левое и правое. Каждое окно отображает свою папку. Вы можете переключаться из окна в окно с помощью клавиши Tab и с помощью курсорных стрелок перемещаться между файлами и папками (можно и тыкать мышью сразу в нужное место). Таким образом, имея две папки в двух окнах, вы можете копировать или перемещать файлы из одной папки в другую. Вы также можете просмотреть содержимое любого файла с помощью F3 и отредактировать файл с помощью F4. Это довольно странная схема клавиш, но всем, кто знаком с Norton Commander, она привычна.
Вот так выглядит современный клон под названием Far Manager:
Самое главное: нажав Ctrl-O, вы можете убрать синие окна с экрана и получить чистую командную строку:
Как видно из истории, я несколько раз запускал из командной строки программу genetic-mona.exe (это реализация генетического алгоритма, про которую расскажу в следующий раз).
Окна по умолчанию синие, но можно настроить свои цвета. Я так всегда делал, но потом надоело и смирился с синими.
Холиворы
Norton Commander и Far Manager выглядят как текстовые окна. Есть также менеджеры, которые используют графический интерфейс, например Total Commander:
По поводу того, какая оболочка/менеджер лучше, в интернетах ведутся настоящие битвы. На самом деле это вопрос того, кто к чему привык и кому как удобнее. Например, я испытываю абсолютное отвращение к Total Commander. Кроме того, мне очень важен быстрый отклик. Когда я открываю файл, он должен открываться за долю секунды. В графических интерфейсах скорость, как правило, не очень высокая. Короче, на вкус и цвет.
Вы сейчас в такой ситуации, что у вас или уже есть файл-менеджер, или ещё нет. Если нет, советую погуглить что-то типа "10 лучших файловых менеджеров", попробовать и поставить то, что понравится.
Моя личная рекомендация это всё-таки Far. Базируется исключительно на личном опыте и предпочтениях и не претендует на абсолют.
Вы можете скачать Far отсюда:
https://farmanager.com/download.php
Хотите – в виде установочного msi-файла, хотите – в виде архива. Инсталляции он в принципе не требует, просто распаковывайте куда хотите и запускайте. Изначально его неплохо бы настроить под себя. Я, например, предпочитаю исключительно спартанский интерфейс. Но в любом случае не буду сейчас вас грузить. Если что – вы можете задать вопрос в комментах или в чатике, который я прикрутил к каналу. Будет реальная необходимость – напишу более подробно про все его функции, а их ОЧЕНЬ много!
Самое основное, что вам нужно (это всё из оригинального Norton Commander):
- Ctrl-O – включить/выключить окна
- Tab – переключение активного окна
- Alt-F1 – выбрать диск для левого окна
- Alt-F2 – выбрать диск для правого окна
- Ctrl-\ - перейти из любой папки в корень диска
- F3 – просмотр файла
- F4 – редактирование файла
- Shift-F4 – создание нового файла
- F2 – сохранить файл, когда вы в редакторе
- Esc – выйти из просмотра/редактора, также отмена в целом
- Ins или правая кнопка мыши – пометить файл/папку
- F5 – копировать файл/папку (или все помеченные) в соседнее окно (можно также перетаскивать файлы мышью, но это на любителя)
- Shift-F5 – копировать файл с новым именем
- F6 – переместить файл/папку (или все помеченные) в соседнее окно
- Shift-F6 – переименовать/переместить файл/папку куда скажете
- F7 – создать папку
- F8 – удалить файл/папку (или все помеченные)
- F9 – меню
- F10 – выход
Какой бы менеджер вы ни выбрали, у вас теперь есть мощный и удобный инструмент для работы с файлами и командной строкой.
Кстати, если вы пользуетесь каким-то менеджером и это не Far, напишите, ради каких именно функций вы его используете? Т.е. в чём его уникальное отличие по сравнению с другими?
На этом, наверное, всё в этом году.
Желаю всем счастливо встретить новый 2021 год, и чтобы он был лучше старого!
Читайте дальше: Что умеет FAR