<Предыдущая | Содержание: | Следующая>
См. Главу 9 для получения дополнительной информации о фактическом сжатии файлов и примерах создания архивов.
7.2. Ваша текстовая среда
7.2.1. Переменные среды
7.2.1.1. Общий
Мы уже упоминали пару переменных среды, таких как PATH и ГЛАВНАЯ. До сих пор мы видели только примеры, в которых они служат оболочке для определенной цели. Но есть много других утилит Linux, которым нужна информация о вас, чтобы хорошо выполнять свою работу.
Какая еще информация нужна программам, кроме путей и домашних каталогов?
Многие программы хотят знать, какой терминал вы используете; эта информация хранится в СРОК Переменная. В текстовом режиме это будет Linux эмуляция терминала, в графическом режиме вы, вероятно, будете использовать Xterm. Многие программы хотят знать, какой у вас любимый редактор, на случай, если им придется запускать редактор в подпроцессе. Оболочка, которую вы используете, хранится в SHELL переменная, тип операционной системы в OS и так далее. Список всех переменных, определенных в данный момент для вашего сеанса, можно просмотреть, введя printenv команда.
Переменными среды управляет оболочка. В отличие от обычных переменных оболочки, переменные среды наследуются любой программой, которую вы запускаете, включая другую оболочку. Новым процессам назначается копия этих переменных, которую они могут читать, изменять и передавать по очереди своим собственным дочерним процессам.
В именах переменных нет ничего особенного, за исключением того, что обычно используются символы верхнего регистра по соглашению. Вы можете придумать любое имя, какое захотите, хотя есть стандартные переменные, которые
достаточно важно, чтобы быть одинаковым в каждой системе Linux, например PATH и ГЛАВНАЯ.
7.2.1.2. Экспорт переменных
Содержимое отдельной переменной обычно отображается с помощью эхо команда, как в этих примерах:
дебби: ~> echo $ PATH
/ usr / bin: / usr / sbin: / bin: / sbin: / usr / X11R6 / bin: / usr / local / bin
дебби: ~> echo $ MANPATH
/ usr / man: / usr / share / man /: / usr / local / man: / usr / X11R6 / человек
дебби: ~> echo $ PATH
/ usr / bin: / usr / sbin: / bin: / sbin: / usr / X11R6 / bin: / usr / local / bin
дебби: ~> echo $ MANPATH
/ usr / man: / usr / share / man /: / usr / local / man: / usr / X11R6 / человек
Если вы хотите изменить содержимое переменной таким образом, чтобы это было полезно для других программ, вы должны экспортировать новое значение из своей среды в среду, в которой выполняются эти программы. Типичный пример - экспорт PATH Переменная. Вы можете заявить об этом следующим образом, чтобы иметь возможность играть с программным обеспечением имитатора полета, которое находится в / opt / FlightGear / bin:
дебби: ~> ПУТЬ = $ ПУТЬ: / opt / FlightGear / bin Это указывает оболочке не только искать программы по текущему пути, $ PATH, но и в дополнительном каталоге / opt / FlightGear / bin.
Однако до тех пор, пока новое значение PATH переменная не известна среде, все равно работать не будет:
дебби: ~> ранфгфс
bash: runfgfs: команда не найдена
дебби: ~> ранфгфс
bash: runfgfs: команда не найдена
Экспорт переменных осуществляется с помощью встроенной команды оболочки. экспорт:
дебби: ~> экспорт ПУТЬ
дебби: ~> ранфгфс
- запускается симулятор полета -
дебби: ~> экспорт ПУТЬ
дебби: ~> ранфгфс
- запускается симулятор полета -
В Bash мы обычно делаем это за один элегантный шаг:
экспорт ПЕРЕМЕННЫЕ=ценностное
Тот же метод используется для МАНПАТ переменная, которая сообщает человек команда, где искать сжатые страницы руководства. Если новое программное обеспечение добавляется в систему в новых или необычных каталогах, документация к нему, вероятно, также будет находиться в необычном каталоге. Если вы хотите прочитать страницы руководства по новому программному обеспечению, расширьте МАНПАТ переменная:
дебби: ~> экспорт MANPATH = $ MANPATH: / opt / FlightGear / man
дебби: ~> echo $ MANPATH
/ usr / man: / usr / share / man: / usr / local / man: / usr / X11R6 / man: / opt / FlightGear / man
дебби: ~> экспорт MANPATH = $ MANPATH: / opt / FlightGear / man
дебби: ~> echo $ MANPATH
/ usr / man: / usr / share / man: / usr / local / man: / usr / X11R6 / man: / opt / FlightGear / man
Вы можете избежать повторного ввода этой команды в каждом открываемом окне, добавив ее в один из файлов установки оболочки, см. Раздел 7.2.2.
7.2.1.3. Зарезервированные переменные
В следующей таблице представлен обзор наиболее распространенных предопределенных переменных:
Таблица 7-1. Общие переменные среды
Имя переменной | Сохраненная информация |
ДИСПЛЕЙ | используется системой X Window для идентификации сервера отображения |
ДОМЕН | доменное имя |
РЕДАКТОР | хранит ваш любимый редактор строк |
HISTSIZE | размер файла истории оболочки в количестве строк |
ГЛАВНАЯ | путь к вашему домашнему каталогу |
HOSTNAME | имя локального хоста |
ВХОДRC | расположение файла определения для устройств ввода, таких как клавиатура |
ДЛИННЫЙ | предпочтительный язык |
LD_LIBRARY_PATH | пути для поиска библиотек |
LOGNAME | логин |
ПОЧТА | расположение папки для входящей почты |
МАНПАТ | пути для поиска страниц руководства |
OS | строка, описывающая операционную систему |
ОСТИП | больше информации о версии и т. д. |
ПЕЙДЖЕРА | используется такими программами, как человек которым нужно знать, что делать, если вывод - это более одного окна терминала. |
PATH | пути поиска команд |
PS1 | первичная подсказка |
PS2 | вторичная подсказка |
PWD | настоящий рабочий каталог |
SHELL | текущая оболочка |
СРОК | тип терминала |
UID | идентификатор пользователя |
ИМЯ ПОЛЬЗОВАТЕЛЯ) | имя пользователя |
VISUAL | ваш любимый полноэкранный редактор |
СРЕДА | расположение ваших личных настроек для поведения X |
XFILESEARCHPATH | пути для поиска графических библиотек |
Многие переменные не только предопределены, но и предустановлены с использованием файлов конфигурации. Мы обсудим это в следующем разделе.
7.2.2. Файлы установки оболочки
При входе в ls -al чтобы получить длинный список всех файлов, включая те, которые начинаются с точки, в вашем домашнем каталоге, вы увидите один или несколько файлов, начинающихся с. и заканчивая rc, Для случая колотить, Это .bashrc. Это аналог общесистемного файла конфигурации / Etc / Bashrc.
При входе в интерактивную оболочку входа в систему, Войти выполнит аутентификацию, установит среду и запустит вашу оболочку. На случай, если колотить, следующим шагом будет чтение общего профиль от / и т.д., если этот файл существует. колотить затем ищет ~ / .bash_profile, ~ / .Bash_login и ~ / .Profile, в этом порядке, и считывает и выполняет команды из первой, которая существует и доступна для чтения. Если ничего не существует, / Etc / Bashrc применены.