# Задания # 1 Вы в директории /home/stud/data. Какая из команд переместит вас в домашнюю директорию? ``` 1 cd . 2 cd / 3 cd /home/stud 4 cd ../.. 5 cd ~ 6 cd home 7 cd ~/data/.. 8 cd 9 cd .. ``` # 2 Создайте файл dummy в /tmp. Попробуйте удалить его указав флаг -i для команды rm. В чём отличие удаления файла с этим флагом и без него? # 3 Создайте папку backup в домашней директории. Одновременно скопируйте файл .bashrc в /tmp/ и в backup с помощью cp. # 4 Повторите структуру директории: ``` project/ ├── .git ├── data └── raw ├── 2022-07-23-exp1.log ├── 2022-08-03-exp2.log ├── 2022-11-23-exp3.log ├── 2022-07-23-exp1.dat ├── 2022-08-03-exp2.dat ├── 2022-08-03-exp2-calibration.dat ├── 2022-11-23-exp3.dat └── 2022-11-23-exp3-calibration.dat ├── backup └── shared ``` # 5 Скопируйте файлы экспериментов в backup, но распределите по папкам разные типы файлов. .data в backup/dataset, dat-calibration в backup/calibration, логи в backup/logs. В shared поместите все файлы, созданные 23 числа в папку 23day. Напишите команды в двух вариантах: с относительными путями и с абсолютными. # 6 Посчитайте количество строк в файле /var/log/messages. # 7 Инициализируйте файл head_tail_messages с помощью команды head из строк в /var/log/messages, затем добавьте в head_tail_messages последние 23 строки из /var/log/messages. # 8 Создайте псевдоним "dc", который разрешается в команду "cd" для случаев опечатки. # 9 Прочитайте мануал `man ls` и напишите `ls` команду, которая выводит список файлов в следующем виде: * список файлов включает скрытые, * размер файла указан с метрическими приставками (e.g. 454M вместо 454279954), * файлы выводятся в историческом порядке, * вывод в цвете. Пример, того как он должен выглядеть ``` -rw-r--r-- 1 user group 1.1M Jan 14 09:53 baz drwxr-xr-x 5 user group 160 Jan 14 09:53 . -rw-r--r-- 1 user group 514 Jan 14 06:42 bar -rw-r--r-- 1 user group 106M Jan 13 12:12 foo drwx------+ 47 user group 1.5K Jan 12 18:08 .. ``` # 10 Запишите в переменную среды PATH значение "". Как это повлияло на выполнение команд? Перезайдите по ssh и попробуйте вызывать любую команду заново. Сохранилиcь ли изменения? # 11 Выполните в терминале следующую команду в директории /tmp: ``` for species in cubane ethane methane; do for temperature in 25 30 37 40; do mkdir $species-$temperature; done done ``` Что в результате вы получили в консоли? Модифицируйте команду так, чтобы у директорий в начале названия присутствовал глобальный индекс idx. # 12 (*) Напишите команду или сценарий для рекурсивного поиска самого последнего измененного файла в каталоге. В общем, можете ли вы перечислить все файлы по давности? # 13 Напишите цикл, который проходит по списку файлов в текущей директории и выводит полный путь к директории и имя файла. # 14 Выведите результат сложения 10 и 4 с помощью bash синтаксиса для арифметических операций. # 15 Выведите результат умножения двух переменных с помощью bash синтаксиса для арифметических операций. # 16 Напишите команду, которая рекурсивно находит все HTML-файлы в папке и упаковывает их в tar.gz архив. Используйте find и xargs. Ваша команда должна работать, даже если в файлах есть пробелы (подсказка: используйте null разделитель).