суббота, 14 апреля 2012 г.

Хвала консоли (привет из 2007)



Очень очень согласен с автором хоть прошло и 5 лет


Столько времени прошло и до сих пор получаю критику от оппонентов. Ругают, как всегда, консоль. Тягать окна таким собеседникам проще, чем быстро и сразу решить задачу.

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



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

Например нам нужно то ли в целях проверки безопасности, то ли для тестирования приложения, организовать мониторинг активных соединений в реальном времени. Можно конечно организовать сессию поиска по Google, скачать что-то, установить (что неизбежно повлечет за собой очередное засорение реестра или списка программ, и самой файловой системы новыми файлами). Вполне возможно, что программа окажется платной.


Но вот в консоли оно все под руками. Вводим в консоли слово net (сеть) и два раза нажимаем клавишу TAB, получая список комманд. Вот она - комманда netstat. netstat --help или man netstat и я через минуту знаю, какая информация мне нужна:


netstat -a -n -t -p


Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 96 0 192.168.76.33:42831 80.94.225.7:21 CLOSE_WAIT 6761/krusaderasdznb

tcp 0 0 192.168.76.33:41226 80.94.225.7:1327 ESTABLISHED 6761/krusaderasdznb

Ну вот и отлично. Теперь осталось сделать на экране ярлык (Я назвал его "TCP/IP наблюдатель") и повесить на него выполнение в консоли комманды


watch --interval 5 netstat -a -n -t -p

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


Пример номер два - закачка файлов на Palm КПК. Когда надо просто закачать набор файлов, совсем не обязательно тыкать в кнопки kpilot или другой программы. Достаточно еще одного ярлыка, на который повесить комманду:


pilot-xfer -p /dev/ttyUSB1 -i ~/pda/*.pdb

Можно назвать ее "Закачать файлы на Palm". И она сама из папки ~/pda/ закачает все файлы с расширением *.pdb. Мне нужно только закинуть туда файлы любым менеджером и нажать кнопку.


Конечно, консоль не наберет за вас таблицу в Calc и не нарисует этикетку в gimp, но она вполне может сама соединиться с интернет, снять за вас почту, отсортировать ее, сложить в архив в датой и временем, удалить спам, сделать бэкап измененных файлов, сложить их на носитель, слить свежий список передач на спутниковый ТВ и положить его вам на рабочий стол, проверить функционирование вашего личного сайта в интернет, скачать свежие списки RSS-лент и нужные страницы интернет СМИ, проверить обновления программных компонентов и т.д. и т.п., а после всего этого отправить вам отчет по результатам на рабочий почтовый ящик, особо выделив тревожные или важные моменты, затем отключится от интернет, и все это сделать в 5 часов вечера, чтобы вы перед уходом домой уже знали на какие моменты обратить внимание. И все это без специализированных графических приложений, используя привычные консольные программы. Покажите мне одну программу которая может хотя бы все то, что я перечислил? Не говоря уже про то, каким сумасшедшим оказался бы интерфейс такой программы и сколько бы она занимала места. Да и стоит пожелать изменить что-то или добавить и программа становится бесполезной.


Так что прежде чем ругать консоль - подумайте какие возможности она вам предоставляет.

Комментариев нет:

Отправить комментарий