UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Если ваш процесс требует много процессорного времени, вы можете облегчить участь тех, кто работает вместе с вами, запустив его с приоритетом ниже обычного. Это можно сделать с помощью программы
nice$ nice <i>большая-команда</i> &Команда
nohupniceНаконец, вы можете дать указание системе запустить ваш процесс в необычное время, скажем, утром, когда все нормальные люди снят, а не работают на машине. Команда называется
at(1)$ atвремя любые командыкакие угодно...ctl-d$Это пример типичного использования команды
at$ at 3am < файл$Время можно задавать исходя из 24-часового цикла как
2130930pmОдним из достоинств системы UNIX является то, что вы можете легко адаптировать ее по своему вкусу либо в соответствии с местными традициями программистского мира. Например, как отмечалось выше, существуют разные стандарты для символов стирания и удаления; по умолчанию используются
#@$ stty erase е kill kгде
'e''k'На помощь здесь приходит
shell.profile.profileБольшинство пользователей первым делом помещают в свой файл
.profile$ stty erase ←Мы использовали ←, чтобы сделать символ стирания видимым, но вы должны поместить в
.profilestty^xctl-x$ stty erase '^h'поскольку ctl-h и есть шаг назад. (Символ
'^'|stty-tabsstty erase '^h' -tabsЕсли у вас есть желание посмотреть, как загружена система, при входе в нее добавьте для подсчета пользователей конвейер
who | wc -lЕсли имеется служба новостей, можно добавить команду
newsfortune/usr/games/fortuneСпустя некоторое время вы обнаружите, что период входа в систему существенно возрос, и выберете для себя оптимальный вариант.
Некоторыми возможностями системы можно управлять с помощью так называемых shell-переменных, значения которых пользователь может и посмотреть, и установить. Например, строка-приглашение, обозначаемая ранее как
$PS1PS1='Yes, dear ?'Кавычки необходимы, поскольку в строке-приглашении есть пробелы, а в этой операции пробелы перед и после
"="Интерпретатор также выделяет переменные
НОМЕMAILНОМЕ.profileMAILMAIL=/usr/spool/mail/you(В вашей системе файл для почты может быть другим; распространенным является и имя
/usr/mail/youНаиболее полезной переменной интерпретатора
shell/bin/usr/binPATH.profile/usr/gamesPATH=.:/bin:/usr/bin:/usr/games/Синтаксис может показаться вам несколько странным: последовательность имен каталогов разделяется двоеточием. Напоминаем, что обозначает текущий каталог. Можно опустить имя
'.'PATHДругой способ установить значение
PATHPATH=$PATH:/usr/gamesМожно получить значение любой переменной интерпретатора, предварив ее имя символом
$$PATHPATHecho$ echo PATH is $PATH
