Выполнение [домашнего задания](https://github.com/netology-code/sysadm-homeworks/blob/devsys10/03-sysadmin-01-terminal/README.md)
по теме "Работа в терминале, лекция 1".

## Q/A

### Задача 1

Какие ресурсы выделены для виртуальной машины по умолчанию?

```
RAM: 1024 MB
CPU: 2
VRAM: 4 MB
HDD: 64GB
```

### Задача 2

Как добавить оперативной памяти или ресурсов процессора виртуальной машине?

В конфигурацию `Vargrantfile` необходимо добавить следующие строки:

```
config.vm.provider "virtualbox" do |v|
  v.memory = 2048
  v.cpus = 4
end
```

### Задача 3

Исследование `man bash`.

> 1. какой переменной можно задать длину журнала history, и на какой строчке manual это описывается?

При помощи проставления переменной `HISTSIZE`. Описание находится на 591 строке мануала. 
Показать строки возможно при помощи указания кастомного пейджера для команды `man`:
```shell
man --pager="less -N" bash
```

> 2. что делает директива `ignoreboth` в bash?
   
Значение `ignoreboth` проставляется для переменной `HISTCONTROL` и является сокращением для значений `ignorespace` и `ignoredups`.
Конкретно это означает, что команды, которые начинаются с пробела или совпадают с предыдущей записью в истории, не попадут в файл истории `bash`.

> 3. в каких сценариях использования применимы скобки `{}` и на какой строчке man bash это описано?

Фигурные скобки используются при написании сложных команд (`Compound Commands`). Про это написано на 196 строке мануала.

> 4. Как создать однократным вызовом touch 100000 файлов? Получится ли аналогичным образом создать 300000? Если нет, то почему?

Создать множество файлов можно написанием сложной команды `touch {1..100000}`. Создать более `ARG_MAX` файлов в рамках одного запуска не получится.
На текущей версии linux данная переменная равна 2097152.

> 5. Что делает конструкция `[[ -d /tmp ]]`

Возвращает 0, если `/tmp` существует и это директория, или 1, в ином случае. 
Скрипт, проверяющий данный ответ находится в файле [double_square_braket.sh](double_square_braket.sh).

> 4. Добейтесь в выводе type -a bash в виртуальной машине наличия первым пунктом в списке.
    
Подобного можно добиться, сделав три шага:
* Создать новую директорию `mkdir /tmp/new_path_directory`
* Сделать символическую ссылку для баша `ln -s /usr/bin/bash /tmp/new_path_directory/bash`
* Изменив переменную окружения `PATH` с помощью `export PATH=/tmp/new_path_directory:${PATH}`

Таким образом вывод команды будет таким, как в задаче:
```shell
type -a bash
bash is /tmp/new_path_directory/bash
bash is /usr/bin/bash
bash is /bin/bash
```
> 5. Чем отличается планирование команд с помощью `batch` и `at`?
    
Ничем, это одна и та же команда.
    