Kodomo

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

Учебная страница курса биоинформатики,
год поступления 2026

Работа в классе

Подключитесь к серверу kodomo по протоколу SSH.

Специальные символы

  1. Выполните в терминале следующие команды и объясните себе выдачу каждой из них:

    echo abc
    echo ~
    echo \~
    echo /~
    echo ~/term1
    echo '~/term1'
    echo ~/term1/credits
    echo ~/nonexisted-folder
    echo ~/*

    Если затрудняетесь объяснить хотя бы одну выдачу, зовите преподавателя!

  2. Создайте папку ~/term1/pr4, перейдите в нее. Не покидайте эту папку при выполнении упражнений, если в них не указано обратного.

  3. Создайте папку с именем a и скопируйте в нее все файлы, содержащие строчную букву a в коротком имени, из папки /P/y26/term1/Tab-and-Arrows_are_your_friends. Используйте файловую маску для копирования!

  4. Используя команду echo и файловую маску, выведите относительные имена всех файлов в папке a, короткие имена которых начинаются с а. Сколько таких файлов?

  5. Используя команду echo и файловую маску, определите, сколько файлов в папке a имеет более одной a в коротком имени. Для этого надо составить маску, которая будет соответствовать имени, в котором есть две буквы a, до, после и между которыми может быть любое количество любых символов.

  6. Сколько в папке a файлов, короткие имена которых заканчиваются на nine? Удалите их все одной командой.

  7. Из папки /P/y26/term1/Tab-and-Arrows_are_your_friends в папку a скопируйте все файлы, короткое имя которых содержит ly.

  8. В текущей папке создайте копию файла a/glycine с коротким именем gl*e. В случае успеха создайте еще одну копию с именем ???cine.

    Обратите внимание, что команда ls при отображении имен файлов, содержащих специальные символы, сама добавляет в них экранирование. Не дайте себя запутать. Выводить имена со специальными символами без экранирования позволяет опция -N.

    user@kodomo:~$ ls
    'gl*e'
    user@kodomo:~$ ls -N
    gl*e
    user@kodomo:~$
    
  9. Создайте папку strange и переместите в нее два файла, полученные в предыдущем пункте. Можно по очереди.

  10. С помощью одной команды, скопируйте в папку strange из папки /P/y26/term1/Tab-and-Arrows_are_your_friends все файлы, которые начинаются на gl или asp.

  11. (сложно) В папке strange создайте копию gl*e c коротким именем gl'ycin'e. Переименуйте файл strange/gl*e, чтобы он имел короткое имя gl'*'e.

  12. Напишите команду (но пока не выполняйте её), которая удалит из всех подпапок текущей папки (т.е. ~/term1/pr4) все файлы, короткие имена которых начинаются на g и одновременно заканчиваются на e. Допишите перед командой echo  и нажмите <Enter>, чтобы узнать, как bash изменит аргументы перед выполнением команды. Убедитесь, что получается то, чего вы ожидали. И только после этого выполните исходную команду и удалите файлы. Очень рекомендую всегда поступать так (проверять итоговую команду с помощью echo) с опасными командами (mv, cp, rm), если используете в аргументах файловые маски.

  13. С помощью одной команды удалите все оставшиеся файлы из подпапок, а потом еще одной командой удалите и все пустые подпапки.

Редактирование в терминале

  1. Перейдите в папку ~/term1/pr4. Запустите текстовый редактор nano без указания имени редактируемого файла (команда nano без аргументов).

  2. Вызовите встроенную справку редактора (Ctrl-G) и внимательно прочитайте первые два абзаца текста. Теперь вы должны понимать обозначения сочетаний клавиш, указанных в нижнем меню окошка nano. Закройте справку (Close).

  3. Наберите несколько строк произвольного текста (приличного!) и попробуйте записать его в файл (Write Out).
  4. Если вы правильно выбрали комбинацию клавиш, вы окажетесь в меню сохранения файла. В этом меню тоже есть своя справка, прочитайте первые два абзаца. Выйдите из справки и разберитесь, где указывается имя файла, который вы сохраняете. Сохраните свой текст в файл с коротким именем text.txt.

  5. Закройте nano (Exit). С помощью пейджера less убедитесь, что файл создался и в него записан ваш текст.

  6. Узнайте, что программа file выдает про созданный файл.

  7. Откройте файл для редактирования с помощью nano. Программа nano принимает имя файла для редактирования первым аргументом.

  8. Измените текст, сохраните изменения и убедитесь, что файл text.txt изменился (с помощью less).

  9. Откройте файл с помощью nano, внесите какие-нибудь изменения, но теперь выйдите без сохранения этих изменений в тексте.

  10. С помощью nano измените формат переносов строк в своем файле на DOS. Это можно сделать в меню сохранения. Если не можете сообразить как, прочитайте еще раз встроенную в nano справку по этому меню.

  11. Что теперь выдает программа file про ваш файл? Можно ли по выдаче file определить формат переносов строк текстового файла?

  12. Поменяйте формат переносов строк на устаревший Mac. Как изменилась выдача file? Верните файлу формат переносов строк, используемый в операционной системе kodomo.

Удаленное копирование (SFTP)

Запускать sftp нужно на локальном компьютере! Запустив SFTP-клиент на kodomo вы сможете подключиться только к какому-нибудь другому SSH-серверу (SFTP работает поверх SSH). Но на вашем домашнем компьютере SSH-сервера нет. Можно подключиться с kodomo на kodomo, но это максимально бессмысленное действие.

Откройте второй терминал, в котором не подключайтесь по SSH на kodomo. Для копирования файлов используется другая консольная программа, которая называется sftp.

  1. Перейдите в домашнюю папку на локальном компьютере. Если у вас Windows, домашней является папка C:\Users\<Имя>. В ней вы должны оказаться при запуске cmd.exe. Перемещаться между папками в Windows научитесь самостоятельно.

  2. С помощью SFTP-клиента подключитесь к серверу kodomo от имени своего пользователя, используя порт 22221. Команда для подключения очень похожа на команду для подключения по ssh. Требуется только заменить название команды на sftp и маленькую опцию -p на заглавную -P.

  3. Скопируйте файл /etc/hostname с локального компьютера в папку /tmp/pr4 на kodomo, присвоив файлу свой логин в качестве короткого имени. Файл /tmp/pr4/hostname уже существует, и у вас не хватит прав, чтобы его заменить. Поэтому не получится сначала скопировать файл, а потом переименовать, все надо осуществить за одну операцию.

  4. Убедитесь, что файл появился, и завершите SFTP-сессию.
  5. Зайдите по SSH на kodomo и посмотрите файл с помощью less. Можно это сделать в другом терминале, в котором выполняли упражнения из предыдущих разделов.

Для выполнения упражнения из дома или с ноутбука под управлением Windows/MacOS в классе нужно предварительно вручную создать на локальном компьютере текстовый файл с коротким именем hostname (или hostname.txt, если не смогли разобраться, как создать файл без расширения), содержащий имя вашего компьютера или любую другую строчку текста, чтобы потом его копировать на kodomo.

2026/1/pr4_class (последним исправлял пользователь is_rusinov 2026-09-25 07:55:45)