#pragma css /css/2024.css <<BI>> = Упражнения в классе = Подключитесь к серверу kodomo по протоколу SSH. == Специальные символы == 1. Создайте папку `~/term1/pr4`, перейдите в нее. Не покидайте эту папку при выполнении упражнений, если в них не указано обратного. 1. Создайте папку `a`, из папки `/P/y24/term1/Tab-and-Arrows_are_your_friends` скопируйте все файлы, содержащие строчную букву `a` в коротком имени, в новую папку. Используйте файловую маску для копирования! 1. Используя команду `echo` и файловую маску, определите, сколько файлов в папке `a` имеет более одной `a` в коротком имени. Для этого надо составить маску, которая будет соответствовать имени, в котором есть две буквы `a`, до, после и между которыми может быть любое количество любых символов. 1. Сколько в папке `a` файлов, короткие имена которых заканчиваются на `nine`? Удалите их все одной командной. 1. Создайте папку `you` и скопируйте в нее из папки `/P/y24/term1/Tab-and-Arrows_are_your_friends` все файлы, содержащие в коротком имени одну из букв `y`, `o`, `u`. 1. Сколько в папке `/P/y24/term1/Tab-and-Arrows_are_your_friends` файлов, которые начинаются на одну из букв от `r` до `z`? 1. Есть ли среди файлов в папке `you` такие, в коротких именах которых встречаются две буквы `a` через один любой другой символ? А через два любых символа? 1. Есть ли в папке `/P/y24/term1/name_your_file_in_english_and_without_spaces` файлы с именем из одного символа? А из двух? А из трех? 1. Есть ли в папке `/P/y24/term1/name_your_file_in_english_and_without_spaces` файлы, кончающиеся на арабскую цифру? А на две цифры? 1. В папке `you` создайте две копии файла `glycine` с короткими именами `???cine` и `gl*e` (по очереди). 1. Создайте папку `strange` и переместите в нее два файла, полученные в предыдущем пункте. 1. (сложно) В папке `strange` создайте копию `gl*e` c коротким именем `gl'ycin'e`. Переименуйте файл `strange/gl*e`, чтобы он имел короткое имя `gl'*'e`. С помощью `echo` и правильной файловой маски выведите имена всех файлов из папки `strange`, убедитесь, что все предыдущие операции прошли успешно. 1. С помощью '''одной команды''', скопируйте в папку `strange` из папки `/P/y24/term1/Tab-and-Arrows_are_your_friends` все файлы, которые начинаются на `gl` или `asp`. 1. С помощью одной команды удалите все файлы из подпапок текущей папки, короткие имена которых начинаются на `g` и заканчиваются на `e`. 1. С помощью одной команды удалите все оставшиеся файлы из подпапок, а потом еще одной командой удалите и все подпапки. 1. (доп.) Сколько аргументов получит на вход программа `cp` при выполнении команды `cp a{1,2,3}m`. А при выполнении команд `cp {a..f}` и `cp {a..f}{1,2,3}`? 1. (доп.) Перейдите в домашнюю папку. Напишите команду `echo` с такими аргументами, чтобы в выдаче оказались короткие имена всех файлов и папок внутри домашней, включая скрытые (т.е. такие, короткие имена которых начинаются с точки). 1. (доп.) Находясь в домашней папке, напишите команду, которая выведет через пробел короткие имена всех скрытых файлов или папок, содержащие не менее трех символов (т.е. все, кроме `.` и `..`). == Редактирование в терминале == 1. Перейдите в папку `~/term1/pr4`. Запустите текстовый редактор `nano` без указания имени редактируемого файла (команда `nano` без аргументов). 1. Вызовите встроенную справку редактора (`Ctrl-G`) и внимательно прочитайте первые два абзаца текста. Теперь вы должны понимать обозначения сочетаний клавиш, указанных в нижнем меню окошка `nano`. Закройте справку (Close). 1. Наберите несколько строк произвольного текста (приличного!) и попробуйте записать его в файл (Write Out). 1. Если вы правильно выбрали комбинацию клавиш, вы окажетесь в меню сохранения файла. В этом меню тоже есть своя справка, прочитайте первые два абзаца. Выйдите из справки и разберитесь, где указывается имя файла, который вы сохраняете. Сохраните свой текст в файл с коротким именем `text.txt`. 1. Закройте `nano` (Exit). С помощью пейджера `less` убедитесь, что файл создался и в него записан ваш текст. 1. Узнайте, что программа `file` выдает про созданный файл. 1. Откройте файл для редактирования с помощью `nano`. Программа `nano` принимает имя файла для редактирования первым аргументом. 1. Измените текст, сохраните изменения и убедитесь, что файл `text.txt` изменился. 1. Откройте файл с помощью `nano`, внесите какие-нибудь изменения, но теперь выйдите без сохранения этих изменений в тексте. 1. С помощью `nano` измените формат переносов строк в своем файле на DOS. Это можно сделать в меню сохранения. Если не можете сообразить как, прочитайте еще раз встроенную в `nano` справку по этому меню. 1. Что теперь выдает программа `file` про ваш файл? Можно ли по выдаче `file` определить формат переносов строк текстового файла? 1. Поменяйте формат переносов строк на устаревший Mac. Как изменилась выдача `file`? Верните файлу формат переносов строк, используемый в операционной системе kodomo. == Удаленное копирование (SFTP) == 1. Перейдите в домашнюю папку на локальном компьютере. 1. С помощью SFTP-клиента подключитесь к серверу kodomo от имени своего пользователя, используя порт `22221`. 1. Скопируйте файл `/etc/hostname` '''с локального компьютера''' в папку `/tmp/pr4` на kodomo, присвоив файлу свой логин в качестве короткого имени. Файл `/tmp/pr4/hostname` уже существует, и у вас не хватит прав, чтобы его заменить. Поэтому не получится сначала скопировать файл, а потом переименовать, все надо осуществить за одну операцию. 1. Убедитесь, что файл появился, и завершите SFTP-сессию. 1. Зайдите по SSH на kodomo и посмотрите файл с помощью `less`. = Обязательные задания = Мягкий дедлайн – 01:00 AM 4 октября, жесткий дедлайн – 01:00 AM 11 октября. Проверять буду файлы в папке `~/term1/credits`, при записи на проверку вместо URL указывайте прочерк. == 1. Копирование файлов на удаленный компьютер == Цель задания: научиться использовать SFTP (или SCP) клиент. Вам нужно загрузить в папку `~/term1/credits` свою фотографию в формате JPEG с домашнего компьютера. Назвать файл нужно Xxxxxx_photo.jpg, где Xxxxxx -- ваша фамилия латинскими буквами. Фотография не будет общедоступной, её смогут увидеть только преподаватели. Нужно это для увеличения вероятности того, что мы начнем узнавать вас в лицо. Но если вы все-таки по какой-то причине не хотите нам показывать свою фотографию, то можете положить любую (в рамках приличия :) ) картинку в формате JPEG. Баллы снимать за это не будем. == 2. Копирование файлов с удаленного компьютера == Цель задания: научиться использовать SFTP (или SCP) клиент. i. В папке `/P/y24/term1/images` найдите файл, названный вашим пользовательским именем, и скопируйте его в директорию `~/term1/pr4`. i. Переименуйте его в `aminoacid_formula.png`. Можно задать новое имя сразу во время копирования, т.е. в предыдущей команде. i. Переместите переименованный файл в директорию `~/term1/credits`. i. Cкопируйте файл на свой компьютер с помощью SFTP или SCP клиента. i. Откройте файл на своём компьютере какой-нибудь программой просмотра изображений, определите, формула какой аминокислоты изображена. == 3. Редактирование файлов == Цель задания: научиться использовать консольный текстовый редактор. Вам нужно создать файл `~/term1/credits/aminoacid_description.txt` с помощью консольного текстового редактора (рекомендую `nano`, но можете использовать `mcedit` или `vim`). Файл должен быть сохранен с использованием переносов строк в формате Unix, используемом во всех Unix-подобных операционных системах, включая Linux, MacOS, BSD и т.д. (т.е. с помощью одного байта LF). В файле должно быть указано русское и английское название аминокислоты, изображенной на скопированной вами картинке; её трехбуквенное и однобуквенное обозначения (на английском). Далее должно следовать краткое описание физико-химических свойств аминокислоты и/или её биологических особенностей. Много текста писать не нужно, 2-3 предложения. Но это должны быть предложения, а не куски фраз! == 4. Использование файловых масок == Цель задания: научиться составлять маски имен файлов и экранировать специальные символы. И еще раз потренировать операции с файлами и автодополнение имен. Сначала определите, какие пять разных букв встречаются в вашем логине раньше остальных по тем же правилам, что в [[../pr3|практикуме 3]]. Вам нужно скопировать все файлы, короткие имена которых содержат любую из этих букв (не обязательно одну) до символа `*`, сама звездочка в коротком имени тоже обязательно должна быть. Файлы надо копировать из папки `/P/y24/term1/do-NOT-type-Without_autocomplete` в папку `~/term1/credits/strange_files` (папку предварительно нужно создать). {{{#!wiki note orange Настоятельно рекомендую все проделать честно и самостоятельно, чтобы действительно разобраться в файловых масках. Аналогичное задание будет на мини-контрольной в начале следующего занятия и в большой контрольной в конце блока. }}}