В лекции рассматриваются следующие вопросы:
Окружение (environment) или среда - это набор пар ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, доступный каждому пользовательскому процессу. Иными словами, окружение - это набор переменных окружения.
Переменные окружения в Unix — это специальные переменные, определенные оболочкой и используемые программами во время выполнения. Они могут определяться системой и пользователем. Системные переменные окружения определяются системой и используются программами системного уровня.
Переменная окружения может быть трех типов:
1. Локальные переменные окружения. Эти переменные определены только для текущей сессии. Они будут безвозвратно стерты после завершения сессии, будь то удаленный доступ или эмулятор терминала. Они не хранятся ни в каких файлах, а создаются и удаляются с помощью специальных команд.
2. Пользовательские переменные оболочки. Эти переменные оболочки в Unix определяются для конкретного пользователя и загружаются каждый раз, когда он входит в систему при помощи локального терминала, или же подключается удаленно. Такие переменные, как правило, хранятся в файлах конфигурации: .bashrc, .bash_profile, .bash_login, .profile или в других файлах, размещенных в директории пользователя.
3. Системные переменные окружения. Эти переменные доступны во всей системе, для всех пользователей. Они загружаются при старте системы из системных файлов конфигурации: /etc/environment, /etc/profile, /etc/profile.d/ /etc/bash.bashrc.
По умолчанию с помощью команды env можно посмотреть все установленные переменные среды. Но с опцией -i она позволяет временно удалить все переменные оболочки и выполнить команду без переменных.
Значение переменной окружения можно присвоить так:
$ var=значение $ export var=значение [1]
Основные системные переменные окружения:
$HOME - переменная содержит путь к домашнему каталогу текущего пользователя.
$USER - имя текущего пользователя.
$PATH - список каталогов для поиска оболочкой исполняемых программ.
$PWD - путь к текущему рабочему каталогу (либо pwd).
$SHELL - интерпретатор по умолчанию.
$RANDOM - генерирует случайное число 0..32767 при каждом доступе к переменной.
$SECONDS - время в сек. с момента запуска командной оболочки.
$? - результат выполнения предыдущей команды.
$HOSTNAME - имя компьютера.
$HISTFILE - путь к файлу истории интерпретатора.
$IFS - список символов-разделителей команд, параметров, элементов массива (по умолчанию: пробел, таб, новая строка)
$PS1 - шаблон строки приглашения интерпретатора. [2]
Архивирование — это объединение нескольких небольших файлов в один с целью более удобной последующей передачи, хранения, шифрования или сжатия. Архивация выполняется специальными утилитами. Самой популярной утилитой архивации является tar. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций. Также полезной возможностью архивации есть шифрование.
tar — это стандартная утилита, с помощью которой выполняется архивирование файлов в Unix. Программа поддерживает большое количество параметров.
Cинтаксис команды:
$ tar опции файл_для_записи /папка_с_файлами_для_архива
Основные опции:
Чтобы создать архив, нужно использовать команду:
tar -cvf archive.tar.gz /path/to/files.
Распаковать архив: tar -xvf archive.tar.gz.
Сжатый архив создается точно так же, только с опцией -z, это в случае, если использовалось шифрование gizp, если нужно bzip то применяется опция -j: tar -czvf archive.tar.gz /path/to/files.
Чтобы создать сжатый архив, также можно сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия: gzip archive.tar.
Убрать сжатие: gunzip archive.tar.gz.
Чтобы добавить файл в архив, используйте: tar -rvf archive.tar file.txt.
Для извлечения одного файла синтаксис тот же: tar -xvf archive.tar file.txt.
Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например: tar -xvf archive.tar --wildcards '*.php'.
По умолчанию распаковать архив tar можно в текущую папку с именем архива, но чтобы распаковать в нужную папку, используйте ключ -C:
tar -xvf archive.tar -C /path/to/dir.[3]
Источники:
Losst. Переменные окружения в Linux. – URL: https://losst.ru/peremennye-okruzheniya-v-linux
OneDev.net. Переменные окружения в Linux. – URL: http://onedev.net/post/236
Losst. Архивирование файлов в Linux. – URL: https://losst.ru/arhivatsiya-v-linux