Как установить и посмотреть переменные окружения Linux

&nbsp &nbsp Свойства оболочки Bash делают ее наиболее универсальным и удобным средством взаимодействия с ОС Linux:

Использование сценариев оболочки по сравнению с языком сценариев

Часто задумываясь о выполнении задачи, администраторы задаются вопросом: использовать ли сценарий оболочки или язык сценариев, такой как Perl, Ruby или Python?

Здесь нет установленных правил. Есть только типичные различия между оболочками и языками сценариев.

Ракушка

Shell позволяет использовать команды Linux, такие как sed , grep , tee , cat и все другие утилиты на основе командной строки в операционной системе Linux. Фактически, почти любая утилита Linux командной строки может быть написана в вашей оболочке.

Отличным примером использования оболочки будет быстрый скрипт для проверки списка хостов на предмет разрешения DNS.

Наш простой Bash Script для проверки DNS-имен —

#!/bin/bash for name in $(cat $1); do host $name.$2 | grep «has address» done exit

небольшой список слов для проверки разрешения DNS на

dns www test dev mail rdp remote

Вывод по домену —

[[email protected] ~]$ ./ -doing dns has address -doing www has address -doing test -doing dev -doing mail has address -doing rdp -doing remote [[email protected] ~]$

Используя простые команды Linux в нашей оболочке, мы смогли создать простой 5-строчный скрипт для аудита имен DNS из списка слов. Это заняло бы значительное время в Perl, Python или Ruby даже при использовании красиво реализованной библиотеки DNS.

Язык сценариев

Язык сценариев даст больше контроля за пределами оболочки. Приведенный выше скрипт Bash использовал оболочку для команды хоста Linux. Что, если мы хотим сделать больше и сделать наше собственное приложение, например хост, взаимодействующим вне оболочки? Здесь мы будем использовать язык сценариев.

Кроме того, с хорошо поддерживаемым языком сценариев мы знаем, что наши действия будут работать в разных системах по большей части. Например, Python 3.5 будет работать на любой другой системе, на которой работает Python 3.5 с такими же установленными библиотеками. Не так, если мы хотим запустить наш BASH-скрипт на Linux и HP-UX.

Иногда границы между языком сценариев и мощной оболочкой могут быть размыты. Можно автоматизировать задачи администрирования CentOS Linux с помощью Python, Perl или Ruby. Это действительно обычное дело. Кроме того, богатые разработчики сценариев оболочки сделали простой, но в остальном функциональный демон веб-сервера в Bash.

Имея опыт работы с языками сценариев и автоматизации задач в оболочках, администратор CentOS сможет быстро определить, с чего начать при необходимости решения проблемы. Довольно часто начинать проект с помощью сценария оболочки. Затем переход к скриптовому (или скомпилированному) языку становится более сложным.

Кроме того, можно использовать как язык сценариев, так и сценарий оболочки для различных частей проекта. Примером может служить Perl-скрипт для очистки сайта. Затем используйте сценарий оболочки для анализа и форматирования с помощью sed , awk и egrep . Наконец, используйте PHP-скрипт для вставки отформатированных данных в базу данных MySQL с помощью веб-интерфейса.

Имея некоторую теорию, лежащую в основе оболочек, давайте начнем с основных строительных блоков для автоматизации задач из оболочки Bash в CentOS.

Типы команд

  • псевдоним (псевдоним оболочки)
  • функция (функция оболочки)
  • встроенный (встроенный в оболочку)
  • файл (файл на диске)
  • ключевое слово (зарезервированное слово оболочки)
Читайте также:  Как управлять группами и пользователями в Linux

Вот несколько примеров:

  1. Псевдоним

    type -t grep

    В моей системе grep имеет псевдоним grep —color=auto :

    alias

  2. Функция

    type -t rvm

    rvm — это инструмент (функция) для установки, управления и работы с несколькими средами Ruby :

    function

  3. Встроенный

    type -t echo

    echo — это оболочка, встроенная в Bash и другие оболочки, такие как Zsh и Ksh:

    builtin

  4. файл

    type -t cut

    cut — это исполняемый файл:

    builtin

  5. Ключевое слово

    type -t for

    for — зарезервированное слово в Bash:

    keyword

Установка переменных среды

Чтобы лучше показать разницу между переменными оболочки и среды, попробуем начать с установки переменных оболочки, а затем перейдем к переменным среды.

Создадим новую переменную оболочки с именем MY_VAR и значением Abuzov, для этого введём:

MY_VAR=’Abuzov’

Вы можете проверить, что переменная установлена, используя echo $MY_VAR. Для фильтрации вывода команды set с помощью grep set | grep MY_VAR:

echo $MY_VAR

Используйте команду printenv, чтобы проверить, является ли эта переменная переменной среды:

printenv MY_VAR

bash -c ‘echo $MY_VAR’

Команда export используется для установки переменных окружения. Чтобы создать переменную, просто экспортируйте переменную оболочки как переменную среды:

export MY_VAR

Теперь выполнение команды printenv MY_VAR выведет на экран значение Abuzov. Дополнительно, можно устанавливать переменные среды командой в одну строку:

export MY_NEW_VAR=»My New Var»

Переменные среды, созданные таким образом, доступны только в текущем сеансе. Если вы откроете новую оболочку или выйдете из системы, все переменные будут потеряны.

Почему именно Linux?

Это один из самых часто задаваемых вопросов о Linux-системах. Почему мы используем другую и сложную операционную систему, если у нас есть более простая, такая как Windows? Система Linux имеет несколько отличительных особенностей. Linux может стать для вас идеальным вариантом в вопросе выбора операционной системы, если вы хотите избавиться от вирусов, вредоносных программ, различным сбоев и многого другого. Кроме того, Linux предоставляет различные преимущества по сравнению с другими операционными системами, и нам не нужно платить за это. Давайте рассмотрим некоторые из этих преимуществ:

Свободная и открытая операционная система

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

Но с open-source всё совсем иначе. Исходный код системы (или программы) поставляется вместе с её скомпилированной версией и предоставляет возможность изменять его любому, кто обладает достаточными знаниями. Это дает нам свободу запускать программу, свободу изменять код в соответствии с нашим потребностями, свободу распространять копии кода и свободу распространять копии, которые были подвержены нашим изменениям.

Короче говоря, Linux — это операционная система «от народа, для народа».

И мы можем погрузиться в изучение Linux (устанавливая его на любое количество компьютеров) без каких-либо финансовых затрат.

Безопасность

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

Выгодный выбор для разработчиков

Linux подходит для разработчиков, так как поддерживает почти все наиболее часто используемые языки программирования: C/C++, Java, Python, Ruby и другие. Кроме того, он облегчает работу с широким спектром полезных приложений для разработки ПО.

Разработчики считают, что терминал в Linux намного лучше командной строки в Windows. Менеджер пакетов в системе Linux поможет выполнить установку и обновление, как целых компонентов программного обеспечения, так и его отдельных частей. Bash-скрипты также будут очень полезны для программистов. Кроме того, поддержка SSH позволит быстро управлять серверами.

Гибкость

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

Дистрибутивы

Многие фирмы и организации модифицировали операционную систему Linux, выпустив свои собственные дистрибутивы. На рынке существуют десятки (а может уже даже и сотни) различных Linux-дистрибутивов, предлагающие пользователям ознакомиться со своими уникальными разработками и преимуществами. На сегодняшний день, среди всех дистрибутивов Linux можно выделить несколько самых популярных, а именно: Ubuntu, Debian, Linux Mint, MX Linux, Arch Linux, Manjaro, Fedora, CentOS.

Ubuntu и Linux Mint являются отличным выбором для начинающих пользователей, а Debian, Fedora и Arch Linux придутся по душе опытным разработчикам.

Оболочки, Bash, echo Linux

В терминале у вас есть то, что называется оболочкой. Это часть операционной системы, которая определяет, как будет вести себя терминал, и будет выглядеть после запуска (или выполнения) команд для вас.

Доступны различные оболочки, но самая распространенная из них называется bash, что означает «Bourne again shell». В этом руководстве предполагается, что вы используете bash в качестве оболочки.

Если вы хотите узнать, какую оболочку вы используете, вы можете использовать команду echo, чтобы отобразить системную переменную с указанием вашей текущей оболочки. echo — это команда, которая используется для отображения сообщений.

Горячие клавиши

Копирование команд Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш Ctrl+C , не вставляется в терминал при нажатии Ctrl+V . И что, неужели придётся перепечатывать все эти команды и имена файлов вручную? Нет, расслабьтесь! Вставить текст в терминал можно тремя способами: Ctrl+Shift+V , нажатием средней кнопки мыши или правой кнопки мыши и выбором строки «Вставить». Экономия набора

или Ctrl + P прокрутка недавно использованных команд вверх
↓ или Ctrl + N прокрутка недавно использованных команд вниз
Enter выполнение выбранной команды
Tab крайне удобная возможность — автозаподстановка команд и имён файлов. Если с выбранных символов начинается только одна команда, подставится именно она, а если их несколько,то по двойному нажатию tab выведется список всех возможных вариантов.
Ctrl + R поиск по командам, которые вы вводили раньше. Если вам нужно повторно выполнить очень длинную и сложную команду, вы можете ввести только её часть, а эта комбинация клавиш поможет найти команду целиком.
History Команда history выводит список всех команд, которые вы вводили. Каждой команде будет присвоен номер. Чтобы выполнить команду под номером x, просто введите »!x» . Если у вас получилась слишком длинная история, можно попробовать «history I less» , это сделает список прокручиваемым.

Изменение текста Здесь мышь не работает. Используйте стрелки влево/вправо, чтобы перемещаться по строке. Ввод с клавиатуры будет добавлять символы. Существующий текст удаляться не будет.

Удаление истории Bash

Теперь, когда мы рассмотрели просмотр, использование и поиск в истории Bash, давайте поговорим об очистке или удалении определенных элементов из истории Bash.

Ваша история bash — это просто текстовый файл, сохраненный в ~ / .bash_history. Вы можете просто удалить этот файл, чтобы очистить историю bash, или вы можете более аккуратно выполнить команду history с опцией clear, например, так:

history -c

Вы также можете удалить определенную строку из своей истории Bash, используя опцию удаления, например, так:

history -d 12