Kodomo

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

На зачёте по UNIX будут примерно такие задачи:

Из каждого раздела будет ровно один вопрос, кроме раздела про шелл и утилиты командной строки – из него три вопроса.

SSH

  1. Продемонстрируйте умение создавать пару ключей, загружать их в агента, пользоваться ими
  2. Что такое ~/.ssh/known_hosts?

  3. X11: Продемонстрируйте умение запускать графическое приложение через ssh.

Wiki

  1. Покажите страничку на вики, сделанную вашими руками или сделайте страничку

Vi/Vim

  1. С помощью vim нарисуйте шахматную доску. Нарисуйте рамку вокруг шахматной доски.
  2. В /P/SpecialCourses/Unix/bugs.txt лежит текст с ошибками. Скопируйте текст к себе, и поправьте в нём ошибки. На исправление ошибок после запуска vim нужно уложиться в 20 нажатий на кнопки (включая навигацию по файлу). Для этого, наверное, потребуется иметь правильно настроенным langmap и параметры кодировок (enc, fencs).

  3. С помощью vim удалить все пробелы в концах строк в файле
  4. С помощью vim выровните данный кусок текста по центру с заданной шириной строки

Tmux/screen

  1. Создайте новую сессию tmux или screen; создайте в ней несколько окон; отсоединитесь от сессии; присоединитесь к сессии; переключитесь на предпоследнее (хронологически) открытое окно.

Терминалы

  1. Дана ситуация с ssh и кодировками русского языка. Требуется добиться понятного поведения.
  2. Что делает ctrl-Z? Что делает ctrl-C?
  3. Какие есть магические кнопки в терминале. Когда какие из них работают, когда какие из них нет? (Сигналы, редактирование строки, ввод специальных символов; cooked mode vs. raw mode)

Шелл и утилиты командной строки

  1. Дана директория с файлами *.ent; переименовать их в *.pdb
  2. Переименовать все файлы в директории: сделать все буквы строчными (или наоборот, заглавными)
  3. Удалить все файлы с расширением *.ent, если существует одноимённый файл с расширением *.pdb
  4. Удалить все файлы с расширением *.pyc или *.bak в текущей директории и всех поддиректориях
  5. Удалить файл с названием -rf * или -foo

  6. Расскажите, кто что может делать с вашей домашней директорией?
  7. У вас оказалась директория, в которой и содержимом которой, никому, кроме вас нет прав на чтение-запись-исполнение. Как сделать эту директорию открытой?
  8. Напишите скрипт, который получает с командной строки два числа – номера строк, – со стандартного ввода – файл, и на стандартный вывод выдаёт файл в диапазоне от первого номера строки до второго

  9. Напишите скрипт hello.sh, который печатает "Good Morning", "Good Afternoon" или "Good evening" в зависимости от времени суток.

  10. Найдите в директории и поддиректориях все файлы, содержащие windows-style переносы строк. Переправьте их на unix-style.
  11. Выведите имена (не пути) всех pdb-файлов в вашей домашней директории, выводите имя каждого файла не более одного раза.
  12. Скажите размер своей домашней директории
  13. FIXME: Чего-нибудь про ln
  14. FIXME: Чего-нибудь про то, как убить процесс
  15. FIXME: Чего-нибудь про fg, bg

Поиск документации

  1. Какие есть разделы в man? (Или как это узнать)
  2. Чем различаются команды info, man и help? (Интерфейс; содержимое)
  3. Какие программы установлены на kodomo для работы с последовательностями?
  4. Как в less найти строку в файле (по слову в ней)? Как после этого сказать less, чтобы он не подсвечивал эту строку везде?