Kodomo

Пользователь

На главную


Задание 1

В командной строке на своём компьютере я ввёл следующее (показываю вместе с выводом, комментарии после #):

C:\Users\Abdatov>sftp artem.kays@kodomo.fbb.msu.ru                                   # Зашёл на kodomo по протоколу sftp
Password:
Connected to artem.kays@kodomo.fbb.msu.ru.
sftp> cd /home/students/y20/artem.kays/term1/block1/pr4                              # Перешёл в директорию с файлом
sftp> get Vasiliev_image.jpeg                                                        # Скопировал файл к себе на компьютер
Fetching /home/students/y20/artem.kays/term1/block1/pr4/Vasiliev_image.jpeg to Vasiliev_image.jpeg
/home/students/y20/artem.kays/term1/block1/pr 100%   66KB   1.0MB/s   00:00

После этого в строке поиска графического интерфейса компьютера ввёл название файла и открыл его.

На открывшейся картинке увидел двух мамонтов в степи.


Задание 2

Прикреплённая на kodomo фотография сделана на олимпиаде в Ставрополе во время поджаривания образца кефира.

Эту фотографию я cкачал из интернета, так как на компьютере своих фотографий не нашёл.

На странице авторских прав (©) не указано, поэтому использовал её с чистой совестью.


Задание 3

Командой ls | wc -w можно посчитать количество файлов и директорий в текущей директории. Так как мне нужно было считать только файлы, я использовал конструкцию ls -p | grep -v / | wc -w. Опция -p команды ls приписывает в выводе / к именам директорий, а опция -v команды grep возвращает строки, не содержащие символы, указанные в команде. Поэтому данная конструкция считает только те слова, в которых нет /, то есть названия файлов, но не директорий.

Чтобы посчитать файлы с именами, заканчивающимися на .txt, я использовал ту же конструкцию, но к ls -p приписал *.txt. Этим я обозначил маску для всех искомых файлов.

Код:

$ cd /P/y20/term1/pr4/files
$ ls -p | grep -v / | wc -w
88
$ ls -p *.txt | grep -v / | wc -w
14

Итого: в папке /P/y20/term1/pr4/files 88 файлов, имена 14 из них заканчиваются на .txt.


Примечание: если учесть также файлы с именами, начинающимися на . и .., то получится 91 файл, имена 14 из которых заканчиваются на .txt.

Это можно сделать, добавив к ls опцию -a, благодаря которой файлы такого типа не игнорируются командой ls.

Код:

$ ls -pa | grep -v / | wc -w
91
$ ls -pa *.txt | grep -v / | wc -w
14


Файл Vasiliev_all.fasta в папке ~/term1/block1/credits, объединяющий содержимое всех файлов из папки /P/y20/term1/pr4/files, я получил командой:

cat *.fasta >> ~/term1/block1/credits/Vasiliev_all.fasta

Эта команда была запущена из директории /P/y20/term1/pr4/files, но файл создался в папке ~/term1/block1/credits, так как я указал путь к нему относительно моей домашней директории.


Задание 4

Файл Vasiliev_all.names, состоящий из строк файла Vasiliev_all.fasta, начинающихся на знак >, я получил командой:

grep '^>' Vasiliev_all.fasta >> Vasiliev_all.names

> понимается буквально, так как он в одинарных кавычках.

Чтобы посчитать количество начинающихся на > строк в каждом файле с именем *.fasta, я использовал опцию -c команды grep:

$ grep -c '^>' *.fasta
1.fasta:1
Xax229_230.fasta:2
pan1_mouse.fasta:1
pan3_mouse.fasta:1

В каждой строке вывода до двоеточия стоит название файла, а после него - количество строк искомого типа в нём.


Дополнительное задание: из файлов в папке /P/y08/Term_5/Materials/ я выбрал файл 1MNM.pdb. Для получения числа атомов гистидина в структуре белка, описанной в нём, я использовал команду:

grep '^ATOM' 1MNM.pdb | grep -c 'HIS'

Получил результат 60.