!!!!!Статья не завершена и не оформлена.!!!!!
!!!!!Коррекция будет произведена позже.!!!!!\\
[TOC]
Сразу оговорюсь, данная статья статья содержит немалое количество цитат из Википедии. В некоторых случаях такие цитаты и определения дополнены мной.
Так или иначе, в гетерогенных сетях нередко на ПК администратора в качестве основной системы используется Windows - поэтому для начала рассмотрим 2 windows-утилиты.
Википедия:
**Markdown** (маркдаун) — облегчённый язык разметки, созданный с целью написания максимально читабельного и удобного для правки текста <...>
Haroopad - markdown-редактор с подсветкой синтаксиса, и формированием HTML страницы на основе исходного файла в реальном времени.
Не совсем точно называть Haroopad windows-утилитой: редактор является кроссплатформенным. На официальном сайте имеется возможность скачать Windows (msi), MacOS (dmg), Debian (deb) и tar.gz варианты дистрибутива.
Официальный сайт: http://pad.haroopress.com/
(D:\home\jetrat\Dropbox\Docs\md\4_wiki\SuperPutty.JPG)
Зачастую в качестве ssh-клиента windows используется putty, интерфейс которой не блещет удобством, однако существует ряд инструментов, способных повысить комфорт работы с этой утилитой. Одним из таких инструментов можно назвать менеджер сессий «SuperPutty».
Основной фунционал SuperPutty состоит в том, чтобы управлять всеми дочерними сессиями Putty в одном окне. По факту, это реализуется засчет двух возможностей:
Базовый же набор цветов Putty («вырви глаз») можно смягчить правкой реестра:
Официальные сайты: SuperPutty Putty
Википедия:
**wget** - неинтерактивная консольная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также поддерживает работу через HTTP прокси-сервер
Что отдельно приятно, wget поддерживает возможность возобновления загрузки.
Пример использования:
wget https://bitbucket.org/rhiokim/haroopad-download/downloads/haroopad-v0.13.1-x64.deb
Википедия:
**ftp** - классический клиент для передачи файлов по протоколу FTP
man - основное средство просмотра одноименных страниц справки в семействе ОС Unix
awk - скриптовый язык, иногда пригождающийся для обработки текстовых данных (удобен в связке с sed и grep). Подробнее можно почитать, к примеру, здесь: sed и awk (учебное пособие)
openssh-server и openssh-client:
Википедия:
**SSH** (от англ. secure shell -- безопасная оболочка) это набор программ, которые позволяют регистрироваться на компьютере по сети, удаленно выполнять на нем команды, а также копировать и перемещать файлы между компьютерами. SSH организует защищенное безопасное соединение поверх небезопасных каналов связи.
SSH можно назвать основным инструментом подключения к Linux-серверам.
Пример использования:
ssh adminuser@remoteserver.somedomain.org
gcc (GNU C Compiler) - хорошо переносимый оптимизирующий компилятор C от GNU
make (GNU Make) — это программа для управления генерацией исполняемых файлов и других типов файлов программы из исходного кода.
Википедия:
**automake** - это утилита для автоматической генерации файлов Makefile.in из файлов Makefile.am. Каждый файл Makefile.am фактически является набором макросов для программы make (иногда с несколькими правилами).
Википедия:
**checkinstall** - компьютерная программа для Unix-подобных операционных систем, созданная с целью облегчить установку и удаление программного обеспечения, скомпилированного из исходных кодов, используя при этом родную для дистрибутива систему управления пакетами.
ВНИМАНИЕ: О том, как и почему стоит использовать «checkinstall» вместо «make install» можно почитать, к примеру, здесь и здесь.
В этом разделе я упомяну инструменты, которые для меня уже давно стали синонимом работы в консоли.
(D:\home\jetrat\Dropbox\Docs\md\4_wiki\Tmux.JPG)
tmux - Терминальный мультиплексер. Проще говоря, утилита, позволяющая работать с консолью, как с набором окон и вкладок.
Использование терминальных мультиплексеров и tmux в частности добавляет некоторое количество весьма весомых бонусов:
И так далее пока хватает фантазии.
Отдельно доставляет удовольствие возможность закрыть подключение с одного ПК и подключиться с другого (отвязанная сессия со всеми вкладками продолжает жить).
Для отдельных случаев (например, для обучения) может пригодиться возможность подключения к одной сессии сразу с нескольких ПК, причем выглядеть на обоих ПК консоль будет абсолютно одинаково. Ввод при этом можно будет осуществлять с любого из них.
Создать сессию «somesession», не подключаясь к ней:
tmux new -d -s somesession
Подключиться к существующей сессии, отключив всех остальных:
tmux attach -d -t somesession
Не отключая других:
tmux attach -t somesession
Открыть новую вкладку, переключиться на следующую и предыдущую:
Ctrl-b c Ctrl-b n Ctrl-b p
Сменить имя вкладки
Ctrl-b ,
Разделить окно по вертикали и горизонтали
Ctrl-b % Ctrl-b "
Перемещение по панелям в пределах окна:
Ctrl-b Стрелки или vim-style: Ctrl-b <h|j|k|l>
Отвязать сессию
Ctrl-b d
Кроме прочего замечу, что этим функционал tmux не ограничивается. При желании, мультиплексоры можно использовать, допустим, для «демонизации» процессов. Ну, и про возможность конфигурации информационной области тоже забывать не стоит: часы, имя хоста, Load Average, короткая выдача собственных скриптов - любая информация, которую хочется держать перед глазами, может быть помещена сюда.
zsh - является расширенным bourne shell (bash) с большим количеством улучшений
Ссылки: Презентация: чем zsh круче Bash Oh-My-Zsh - сборка конфигов, тем и модулей zsh Ссылка на мой конфиг
Материал из Викиучебника — открытых книг для открытого мира
Vim
Продвинутый текстовый редактор — кошмар для случайного пользователя. Если его удается в конце концов закрыть, то вздыхаешь с облегчением и твердой уверенностью, что больше не будешь запускать эту программу ни разу в жизни.
Пожалуй, Vim нельзя просто запустить и начать работать — требуется определенная подготовка. Зато стоит раз испытать его в деле и поражаешься тому, как можно было без него обходиться.
Vim - один из величайших текстовых редакторов, про который разными авторами в разное время написана целая библиотека книг. Всё мое восхищение им не передать в одной статье, поэтому приведу здесь всего несколько ключевых мыслей.
После первичного освоения Vim очень рекомендую найти книгу «Практическое использование Vim. Редактируйте текст со скоростью мысли». Эта книга не является учебником в полном смысле этого слова, скорее набором хаков, которые позволят повысить скорость работы с текстом в сотни раз.
Ссылка на мой конфиг
Википедия:
**tcpdump** - утилита UNIX (есть клон для Windows), позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.
Для выполнения программы требуется наличие прав суперпользователя и прямой доступ к устройству (так, например, запуск из Jail во FreeBSD невозможен).
Основные назначения tcpdump:
* Отладка сетевых приложений.* Отладка сети и сетевой конфигурации в целом.
В комплекте с telnet очень удобно использовать такую утилиту, как wireshark (программа-анализатор трафика для компьютерных сетей Ethernet и некоторых других, имеющая графический интерфейс).
Википедия:
**telnet-client** - TELNET (сокр. от англ. terminal network) — сетевой протокол для реализации текстового интерфейса по сети (в современной форме — при помощи транспорта TCP)
На моей практике telnet использовался только для проверки открытых TCP-портов. И конфигурации некоторых сетевых устройств. Установленным этот пакет, однако, иметь стоит.
Википедия:
**netcat** - утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их.
По факту, «telnet на стероидах». Вероятно, мне давно стоит отказаться от использования telnet в пользу netcat (специалисты активно рекомендуют), однако, так как и тем, и другим я пользуюсь чрезвычайно редко, пока не дошли руки.
Википедия:
**nmap** - свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб). Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем.
Сетевой сканер поможет определить занятость IP-адресов в сети или набор открытых портов на сервере. Естественно, этим его функционал не ограничивается.