|
|
|
|
# Задания
|
|
|
|
|
|
|
|
|
|
# 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 разделитель).
|