Выполнение домашнего задания по теме "Работа в терминале, лекция 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.
- какой переменной можно задать длину журнала history, и на какой строчке manual это описывается?
При помощи проставления переменной HISTSIZE. Описание находится на 591 строке мануала.
Показать строки возможно при помощи указания кастомного пейджера для команды man:
man --pager="less -N" bash
- что делает директива
ignorebothв bash?
Значение ignoreboth проставляется для переменной HISTCONTROL и является сокращением для значений ignorespace и ignoredups.
Конкретно это означает, что команды, которые начинаются с пробела или совпадают с предыдущей записью в истории, не попадут в файл истории bash.
- в каких сценариях использования применимы скобки
{}и на какой строчке man bash это описано?
Фигурные скобки используются при написании сложных команд (Compound Commands). Про это написано на 196 строке мануала.
- Как создать однократным вызовом touch 100000 файлов? Получится ли аналогичным образом создать 300000? Если нет, то почему?
Создать множество файлов можно написанием сложной команды touch {1..100000}. Создать более ARG_MAX файлов в рамках одного запуска не получится.
На текущей версии linux данная переменная равна 2097152.
- Что делает конструкция
[[ -d /tmp ]]
Возвращает 0, если /tmp существует и это директория, или 1, в ином случае.
Скрипт, проверяющий данный ответ находится в файле double_square_braket.sh.
- Добейтесь в выводе 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}
Таким образом вывод команды будет таким, как в задаче:
type -a bash
bash is /tmp/new_path_directory/bash
bash is /usr/bin/bash
bash is /bin/bash
- Чем отличается планирование команд с помощью
batchиat?
Ничем, это одна и та же команда.