Чтение онлайн

на главную - закладки

Жанры

Внутреннее устройство Linux
Шрифт:

• Это непоследовательно и может привести к путанице. Точка в пути может означать, что поведение команды будет изменяться в соответствии с текущим каталогом.

13.3.2. Путь к страницам руководства

Традиционный путь к страницам руководства определяется с помощью переменной окружения MANPATH, однако не стоит его изменять, поскольку при этом будут перезаписаны системные настройки по умолчанию из файла /etc/manpath.config.

13.3.3. Приглашение

Опытные пользователи избегают длинных, усложненных

и бесполезных приглашений. Для сравнения: многие администраторы и версии системы стремятся уместить все в приглашении по умолчанию. Ваш выбор должен отражать потребности пользователей; укажите в приглашении текущий рабочий каталог, имя хоста, а также имя пользователя, если это действительно необходимо.

Кроме того, избегайте использовать символы, которые означают что-либо важное для оболочки, например такие:

{ } = & < >

примечание

Особенно внимательно относитесь к символу >, который может привести к появлению пустых ошибочных файлов в текущем каталоге, если вы случайно скопируете и вставите часть окна оболочки (вспомните о том, что команда > перенаправляет вывод в файл).

Даже приглашение, используемое оболочкой по умолчанию, неидеально. Например, приглашение оболочки bash содержит название оболочки и номер версии.

В следующей простой настройке приглашение для оболочки bash заканчивается символом $ (традиционное приглашение оболочки csh заканчивается символом %):

PS1='\u\$ '

Вместо текущего имени пользователя используется подстановка \u (см. раздел PROMPTING («ПРИГЛАШЕНИЕ» на странице руководства bash(1))). Следу­ющие популярные подстановки содержат:

• \h — имя хоста (в короткой форме, без имени домена);

• \! — номер в истории;

• \w — текущий каталог. Поскольку он может оказаться длинным, можно ограничить отображение только последним компонентом, указав параметр \W;

• \$ — при запуске с учетной записью обычного пользователя применяется $, для корневого пользователя — #.

13.3.4. Псевдонимы

Одной из характерных черт современной среды пользователя являются псевдонимы — это функция оболочки, которая заменяет одну строку другой перед выполнением команды. Псевдонимы могут послужить как сокращения, избавляющие от набора команд. Однако у них есть недостатки:

• передавать аргументы может оказаться затруднительно;

• они приводят к путанице. Встроенная в оболочку команда which может сказать, псевдоним ли перед вами, но она не сообщит вам, где он определен;

• они не одобряются в подоболочках и в неинтерактивных оболочках, а также не работают в других оболочках.

Учитывая эти неудобства, вам следует избегать псевдонимов, где это возможно, поскольку проще написать функцию оболочки или полностью новый сценарий. Современные компьютеры способны запускать и исполнять команды оболочки настолько быстро, что различие между псевдонимом и абсолютно новой командой не будет значимым для вас.

И все же псевдонимы оказываются удобными, когда необходимо изменить часть среды оболочки. Нельзя изменить переменную окружения с помощью сценария оболочки, так как сценарии запускаются в качестве подоболочек. Для выполнения этой задачи можно также определить функции

оболочки.

13.3.5. Маска прав доступа

Встроенная в оболочку функция umask (маска прав доступа) устанавливает права доступа по умолчанию. Следует указать запуск команды umask в одном из файлов запуска, чтобы гарантировать то, что каждая выполняемая команда создает файлы с необходимыми вам правами доступа. Два разумных варианта таковы.

• 077. Эта маска является самой сдерживающей маской прав доступа, поскольку она не разрешает никаким другим пользователям доступ к новым файлам и каталогам. Часто это подходит для многопользовательских систем, в которых нежелательно, чтобы другие пользователи видели какие-либо ваши файлы. Тем не менее, если установить ее по умолчанию, это может привести к проблемам, если пользователи желают использовать файлы совместно, но не умеют правильно настраивать права доступа. Неопытные пользователи стремятся назначить файлам режим доступа «доступен для записи всем».

• 022. Эта маска дает другим пользователям право чтения новых файлов и каталогов, что может быть важно в однопользовательской системе, так как многие демоны, которые работают как псевдопользователи, не могут видеть файлы и каталоги, созданные с помощью более строгой маски 077.

примечание

Некоторые приложения (в особенности почтовые программы) переопределяют права доступа, указанные командой umask, изменяя маску на 077, поскольку они считают, что их файлы являются собственностью лишь их владельца и никого более.

13.4. Порядок следования файлов запуска. Примеры

Теперь, когда вы знаете, что поместить в файлы запуска оболочки, самое время посмотреть на некоторые конкретные примеры. Удивительно то, что одним из самых трудных и запутанных моментов при создании файлов запуска является определение того, какой из нескольких файлов запуска использовать. В следующих разделах рассказано о двух самых популярных оболочках Unix: bash и tcsh.

13.4.1. Оболочка bash

В оболочке bash можно выбирать среди файлов запуска .bash_profile, .profile, .bash_login и .bashrc. Какой из них соответствует командному пути, пути к страницам руководства, приглашению, псевдонимам и маске прав доступа? Ответ такой: файл .bashrc должен сопровождаться символической ссылкой .bash_profile, указыва­ющей на файл .bashrc, поскольку существует несколько различных типов экземпляров оболочки.

Два главных типа экземпляров оболочки — интерактивный и неинтерактивный, но из них только интерактивные оболочки представляют интерес, поскольку неинтерактивные оболочки (например, те, которые запускают сценарии оболочки) обычно не читают никаких файлов запуска. Интерактивными оболочками являются те, которые вы применяете для запуска команд из терминала, вроде тех, что вы видите в этой книге, и они могут быть разделены на оболочки для входа в си­стему и не для входа в систему.

Поделиться:
Популярные книги

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Измена. Отбор для предателя

Лаврова Алиса
1. Отбор для предателя
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Отбор для предателя

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

Шаг в бездну

Муравьёв Константин Николаевич
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Шаг в бездну

Часовая битва

Щерба Наталья Васильевна
6. Часодеи
Детские:
детская фантастика
9.38
рейтинг книги
Часовая битва

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Хроники странного королевства. Вторжение. (Дилогия)

Панкеева Оксана Петровна
110. В одном томе
Фантастика:
фэнтези
9.38
рейтинг книги
Хроники странного королевства. Вторжение. (Дилогия)

Часовой ключ

Щерба Наталья Васильевна
1. Часодеи
Фантастика:
фэнтези
9.36
рейтинг книги
Часовой ключ

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Очешуеть! Я - жена дракона?!

Амеличева Елена
Фантастика:
юмористическая фантастика
5.43
рейтинг книги
Очешуеть! Я - жена дракона?!

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9