Ярлыки

воскресенье, 30 октября 2011 г.

Как сделать псевдонимы команд постоянными

Псевдонимы, созданные при помощи команды alias методом, описанным выше, будут работать только до выхода пользователя из системы или до первой перезагрузки компьютера. Если для крупных серверов, которые работают непрерывно, это не очень важно, то для домашних компьютеров, выключаемых ежедневно, это сводит на нет все преимущества псевдонимов. К счастью любой псевдоним может быть сделан постоянным. Для этого его надо вписать в соответствующий конфигурационный файл. Название и местонахождение таких файлов различаются в разных операционных системах. Универсальным является метод с использованием файла bashrc. Сначала нужно проверить наличие файла bashrc в системе. Под аккаунтом суперпользователя (root) даем команду locate: # locate bashrc (если команда не срабатывает - "ругается", то нужно обновить базу данных при помощи команд updatedb или locate -u). В зависимости от наличия файлов типа bashrc (.bashrc, bash.bashrc и т.п.) в различных директориях, возможно несколько вариантов: 1. Чтобы создать постоянные псевдонимы для данного пользователя: Если в домашней директории есть файл .bashrc (скрытый), то нужно просто вписать в конец этого файла нужные псевдонимы по одному на строку. Например: alias e='cat /etc/fstab' alias grep='grep --color' и так далее... Если в домашней директории не имеется файла .bashrc, то нужно создать текстовый файл и назвать его .bashrc. Затем вписать туда нужные псевдонимы как показано выше. Заработают вновь созданные псевдонимы при следующем входе пользователя в систему. 2. Чтобы создать постоянные псевдонимы для всех пользователей: Если в системе есть файл /etc/bashrc, то следует добавить нужные псевдонимы в список уже имеющихся, если таковые есть. Если их нет, то добавить псевдонимы в конец файла. Если файл /etc/bashrc отсутствует, то необходимо открыть файл /etc/profile в текстовом редакторе под аккаунтом суперпользователя. Найти строку # include /etc/bashrc if it exists. Если такой строки нет, то вписать ее в конец файла. Под данной строкой нужно написать следующий скрипт: if [ -f /etc/bashrc ]; then source /etc/bashrc fi После этого создать текстовый файл /etc/bashrc, в который и вписать нужные псевдонимы. Новые псевдонимы будут работать после перезагрузки системы для всех пользователей, кроме root'а. 3. Чтобы создать постоянные псевдонимы для пользователя root: Если существует файл /root/.bashrc (скрытый), то вписать нужные псевдонимы в этот файл. Если такового файла нет, то следует создать его и вписать псевдонимы. Тем, кто не хочет изменять свою систему, создавая новые системные файлы и запуская самодельные скрипты, следует попытаться найти файлы, в которых устанавливаются псевдонимы. Сначала нужно убедиться, что такие псевдонимы в системе установлены: $ alias (под аккаунтом рядового пользователя, так как для пользователя root общесистемные псевдонимы часто не работают). Если команда alias возвращает список установленных псевдонимов, значит должен существовать файл, в котором они прописаны. Для начала нужно внимательно просмотреть все файлы, содержащие в своем названии выражение bashrc (.bashrc, bash.bashrc и т.п.). Возможно, там нет самих псевдонимов, зато есть указание на файл, в котором они записаны, либо на скрипт, который их устанавливает. Если файлы типа bashrc не найдены, следует внимательно просмотреть файл /etc/profile, скорее всего там окажется что-нибудь вроде: # Append any additional sh scripts found in /etc/profile.d/: for profile_script in /etc/profile.d/*.sh ; do if [ -x $profile_script ]; then . $profile_script fi done unset profile_script В таком случае следует просмотреть скрипты, расположенные в директории /etc/profile.d/, там может быть скрипт /etc/profile.d/alias.sh, в котором и прописаны псевдонимы. Остается добавить туда свои. Если скрипта alias.sh или подобного нет, то придется просмотреть все скрипты в директории /etc/profile.d/. Например у меня в системе, псевдонимы нашлись в скрипте /etc/profile.d/coreutils-dircolors.sh. А вписав новые псевдонимы, не забудьте перезагрузиться. В общем, ищите и обрящете; кто ищет тот всегда найдет. Удаление псевдонимов Для дезактивации псевдонимов применяется команда unalias: $ unalias ИМЯ_ПСЕВДОНИМА Внимание: команда unalias удаляет не только созданные вами псевдонимы, но и постоянные, прописанные в конфигурационных файлах. Опция -a позволяет удалить все псевдонимы для данного пользователя и данного шелла: $ unalias -a (Кстати, это единственная опция команды). Другой способ удалить псевдоним заключается в создании нового псевдонима с тем же именем, что и удаляемый, при помощи команды alias. И, наконец, можно удалить псевдоним непосредственно из конфигурационного файла при помощи текстового редактора. Резюме Команда alias - мощное средство настройки шелла "под себя". Применение псевдонимов значительно ускоряет и упрощает работу в командной строке.