Unix shell: работа, программы SSH
Параметры соединения и программное обеспечение
Для установки соединения в терминальном режиме (unix shell) нужно скачать специальную программу-клиент, которая работает по протоколу SSH версии 1. Мы рекомендуем использовать программу
putty, но вы можете использовать любое другое поддерживающее SSH1 программное обеспечение. Скачать последнюю версию программы
putty можно здесь.
Подключение к виртуальной машине
После запуска putty нужно указать хост для соединения по SSH-протоколу. Доступ осуществляется по адресу вида site.ru, где site.ru соответствует вашему домену/ИП так же потребуется пароль и логин для аутификации. Порт для соединения — 22, протокол — SSH, версия протокола (возможно, понадобится) — 1 (один). Настройте putty по этой картинке и нажмите на кнопку Open:
Putty откроет соединение к SSH-серверу и задаст вам вопрос в новом окошке о том, принять и сохранить ли принятый с этого сервера ключ в списке постоянных ключей. Ответьте согласием (yes) на этот вопрос (без вариантов).
Далее вы увидите приглашение ввести логин. Используйте логин и пароль, который получили при регистрации доступа в unix shell. Если логин и пароль будут введены правильно, вы попадете в unix shell.
Что полезно знать о unix shell вообще
SSH — это аббревиатура Secure SHell, удаленный доступ к командной оболочке наших Unix-серверов. Вы даете серверу команды в диалоговом режиме, а он исполняет их и показывает результаты, совершая при этом запрашиваемые вами действия.
В отличие от Windows-систем, в Unix важен регистр букв в названиях файлов и именах команд. То есть, файлы index.htm, index.HTM И INDEX.HTM — три разных файла. Команды ls и LS — тоже разные (второй не существует, в частности). Обратите на это особое внимание.
В описании путей к файлам на диске используется не символ '\' как в Windows, а '/' — символ 'прямой слэш' (forward slash). То есть, привычный путь Dir1\Dir2\file.html будет выглядеть в unix как Dir1/Dir2/file.html. Существуют также условные ссылки на каталоги:
- . — текущий каталог
- .. — каталог на уровень выше текущего
- ~ — домашний каталог, куда вы попадаете при заходе на сервер
- $HOME — тоже домашний каталог
Лучше не называть файлы и каталоги по-русски. У вас могут возникнуть проблемы с использованием таких названий как через FTP и unix shell, так и через веб-доступ. Наверняка вы уже давно для себя отметили, что в адресах веб-страниц практически никогда не встречаются кириллические буквы. По возможности используйте латиницу.
Дополнительная литература, ограничения и предупреждения
Обратим особое внимание на то, что если вы не имеете достаточного опыта работы в unix shell, нужно стараться совершать все действия аккуратно. Например, вы можете «случайно» стереть одной командой все содержимое своего сервера. Наверняка, этого не случится, но, тем не менее, старайтесь относиться к работе с удаленной unix-системой ответственно. В помощь приводем ссылки на полезную документацию по Unix:
Полезные команды Unix- Команда cp — копирование файлов на сервере
- Команда mv — перемещение файлов на сервере
Unix shell на нашем сервере может использоваться вами как удобное средство для копирования или перемещения файлов. Для копирования используется команда cp, а для перемещения — mv. Команда cp имеет также ключ -r (полностью cp -r), который позволяет копировать не только файлы, но и подкаталоги с файлами.
Примеры:- cp old/*.html new/ — копируем все файлы с расширением *.html из каталога old в каталог new
- cp -r old/* new/ — копируем все файлы и подкаталоги из каталога old в каталог new
- mv old/* new/ — перемещаем (копируем и удаляем на старом месте) все содержимое каталога old в каталог new
Команда
ls — просмотр списка файлов на сервере
Команда ls используется для получения списка файлов, которые в данный момент размещены на Unix-сервере.
Примеры:- ls — показывает список файлов в текущем каталоге
- ls -l — список файлов с подробностями (дата создания, размер,..)
- ls -l dir/ — получить список файлов и каталогов в подкаталоге dir с подробностями
Команда
cd — перейти в другой каталог
Команда cd (полное название — chdir) используется для перехода из одного каталога на Unix-сервере в другой. Выполняя такой переход вы изменяете текущий каталог на новый
Примеры:- cd — перейти в "домашний каталог" (куда вы попадаете сразу при заходе на сервер)
- cd .. — перейти в каталог на уровень выше
- cd /home/u12345/domain.ru/www/ — перейти в каталог /home/u12345/domain.ru/www/
Команда
pwd — определить текущий каталог.
Команда
pwd (без параметров) позволяет определить — в каком каталоге на Unix-сервере вы находитесь в данный момент. Показывает полный путь к тому каталогу, который является для вас текущим. Может использоваться, например, для определения полного пути к домашнему каталогу пользователя — это иногда требуется указывать в некоторых скриптах на perl и PHP.
Команда
chmod — изменение режима доступа к файлам.
Иногда требуется вручную изменить режим доступа к файлам на диске Unix-сервера.Зачастую это нужно при размещении на сервере CGI-скриптов. Подробно о работе chmod и режимах доступа можно прочитать в
документации по chmod. Мы же приведем примеры работы с chmod в условиях хостинга:
- chmod 755 script.pl — изменить режим доступа к файлу script.pl на 755 (это нужный для скриптов режим доступа);
- chmod -R 755 cgi-bin/*.pl — изменить режим доступа на 755 для всех файлов с расширением *.pl в каталоге cgi-bin и во всех его подкаталогах;
- chmod 000 www/file.html — изменить режим доступа к файлу file.html в каталоге www на 000. При таком режиме доступа его никто не сможет открыть. Так можно быстро запретить доступ через веб к какому-то файлу.
Основные команды текстовых редакторов
Приведем пример для редакторов vi и joe. Файлы с помощью них открываются командами vi test.txt или joe test.txt
Как быстро научится работать в редакторе VI?
Первым делом нужно зайти в редактор, для этого набираем vi, а теперь попробуем выйти, для этого набираем :q или :q! если вы успели понажимать на разные клавиши. Теперь попробуем чтото написать. Заходим в редактор и нажимаем i, только после этого можете набирать текст. Если нужно удалить лишний символ, переходим в командный режим нажав ESC, подводим курсор к символу и жмём x. Если нужно писать дальше, вновь переходим в режим редактирования, для этого нажимаем i и продолжаем печатать текст.
Список команд которые желательно запомнить:- :q — выход
- :q! — выход без сохранения файла
- :w — сохранить файл на диске
- :wq — выход с сохранением файла
- :e! — перезагрузить текущий файл
- :33 — перепрыгнуть на 33ю строку текстового файла
- i — перейти в режим редактирования
- u — отменить последнее действие
- x — удалить символ под курсором
- dd — удалить всю строку
- /qso — найти слово qso в тексте после курсора
- Esc : wq Enter — выйти из файла, сохранив его;
- Esc : q! Enter — выйти из файла, не сохранив его.
Чтобы получить подробную помощь по редактору vi, выполните команду man vi в Unix shell (q — выход из справки).
Редактор JOE- Ctrl+K H — справка по командам;
- Ctrl+K X — выход из файла с сохранением;
- Ctrl+K Q — выход без сохранения;
- Ctrl+C — выход без сохранения (удобен, если вы ничего не изменяли);
- Ctrl+K F — поиск строки;
- Ctrl+L — аналог F3 в Windows(найти далее).
Коррекция часов вашего компьютера по сети
На первом CD-диске находим архив n1/ntp4.tgz (xntp.tgz) и копируем из
него только один исполняемый файл ntpdate в директорию /usr/sbin/ на
HDD-диске.
Для коррекции даты и времени в вашем компьютере запускаем: ntpdate
адрес_сервера_времени
Например: ntpdate -t 3 193.125.103.123
Опция -t устанавливает время ожидания ответа от сервера, в секундах.