You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.9 KiB

Задания

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