Ряд моментов о командах в системе
В данном посте рассматриваются вопросы относительно общих принципов работы с командами (применительно к роутерам Asus или на других аппаратах на интересующем нас ядре).
--------------------------------------------------------------------------------
1) Инициализация Shell
--------------------------------------------------------------------------------
На прошивках этого и аналогичного ему ряда аппаратов реализована возможность исполнения команд на Shell. Фактически, c Shell Вы работаете при наборе команд через Telnet. Однако, при написании непосредственно исполняемых скриптов, поддержку Shell необходимо инициализировать. Так, при написании известного на данных аппаратах скрипта автозапуска /tmp/local/sbin/post-boot в первой строке скрипта должна присутствовать строка:
#!/bin/sh
Это касается всех исполняемых скриптов, используемых на данной серии аппаратов
--------------------------------------------------------------------------------
2) Создание директории
--------------------------------------------------------------------------------
Вызывается командой:
mkdir Path
Где Path - полный путь директории
Например: Создаем папку /tmp/local/sbin:
mkdir /tmp/local/sbin <Enter>
--------------------------------------------------------------------------------
3) Создание файла скрипта / настроек
--------------------------------------------------------------------------------
Существует 2 варианта:
3.1) Прямой ввод командами в Telnet с помощью команды
echo:
Синтаксис:
echo "String_1" > Path
или
echo "String_2" >> Path
В первом случае, если файла по пути Path не существует, то создается файл по пути Path, в который записывается строка String_1. Если файл с указанным путем уже существует, его предыдущее содержимое затирается, и первой строкой записывается строка String_1.
Второй случай предназначен для дополнения имеющегося файла по пути Path. В этом случае строка String_2 прописывается после имеющегося содержимого файла по пути Path.
Иными словами, комбинация команд
echo "String_1" > Path
echo "String_2" >> Path
приведет к такому содержимому файла Path:
String_1
String_2
3.2) Использование встроенного текстового редактора vi
Рассмотрение возможностей данного редактора см.постом ниже
--------------------------------------------------------------------------------
4) Чтение логов работы системы
--------------------------------------------------------------------------------
Осуществляется командой:
tail -f /usr/tmp/syslog.log <Enter>
Выход из чтения логов через
<Ctrl+C>
При настройке и проверке работы аппарата окно с системными логами лучше пускать параллельно окну настройки. При перезагрузке роутера обновляем соединение: заходим на роутер по Telnet и выводим системный лог.
--------------------------------------------------------------------------------
5) Проверка написанных скриптов / файлов настроек
--------------------------------------------------------------------------------
Осуществляется командой
cat. Синтаксис:
cat Path
где Path - полный путь к файлу. Например, для файла
/tmp/local/sbin/post-boot проверка его содержимого будет иметь вид:
cat /tmp/local/sbin/post-boot