mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
reorganize homeworks structure for parts 1-3
This commit is contained in:
7
src/homework/03-sysadmin/3.1/double_square_braket.sh
Executable file
7
src/homework/03-sysadmin/3.1/double_square_braket.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
[[ -d /tmp ]]
|
||||
echo $?
|
||||
|
||||
[[ -d /tmp/some-dir ]]
|
||||
echo $?
|
||||
70
src/homework/03-sysadmin/3.1/readme.md
Normal file
70
src/homework/03-sysadmin/3.1/readme.md
Normal file
@@ -0,0 +1,70 @@
|
||||
Выполнение [домашнего задания](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`?
|
||||
|
||||
Ничем, это одна и та же команда.
|
||||
|
||||
Reference in New Issue
Block a user