10.1. Понятие среды окружения. Переменные окружения.

Окружение (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]

10.2. Создание архивов

Архивирование — это объединение нескольких небольших файлов в один с целью более удобной последующей передачи, хранения, шифрования или сжатия. Архивация выполняется специальными утилитами. Самой популярной утилитой архивации является tar. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций. Также полезной возможностью архивации есть шифрование.

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

Cинтаксис команды:

						$ tar опции файл_для_записи /папка_с_файлами_для_архива
					

Основные опции:

  • A - добавить файл к архиву;
  • c — создать архив;
  • d — сравнить файлы архива и распакованные файлы в файловой системе;
  • j — сжать архив с помощью Bzip;
  • z — сжать архив с помощью Gzip;
  • r — добавить файлы в конец архива;
  • t — показать содержимое архива;
  • u — обновить архив относительно файловой системы;
  • x — извлечь файлы из архива;
  • v — показать подробную информацию о процессе работы;
  • f — файл для записи архива;
  • -C — распаковать в указанную папку.

Чтобы создать архив, нужно использовать команду:

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