Учебная страница курса биоинформатики,
год поступления 2024
Указания и подсказки
Перемещение по дереву директорий
Ниже приведены ответы на все пункты упражнений по перемещению. Используйте их только для самоконтроля – выполнили упражнение, сверились с ответом. Если совсем ничего не понимаете и не знаете даже, с чего начать, то можете несколько первых упражнений начать по образцу.
Не обманывайте себя! Если вы просто повторили все приведенные команды по образцу, и вам показалось, что все понятно, то с вероятностью 99% вы ошибаетесь.
Единственный способ убедиться, что вы разобрались – выполнить упражнения, не подглядывая в ответы. А потом сравнить ваши команды с "правильными". Так можно найти свою ошибку или узнать, что можно было выполнить упражнение проще. Если ваше решение кажется вам более простым, чем приведенное – сообщите преподавателям!
Пример выполнения приведен для сервера kodomo. На локальном компьютере будет отличаться приглашение командной строки и содержимое папок.
# Пункт 1
kodomo:~$ pwd
/home/students/y24/test24
# Пункт 2
kodomo:~$ cd /
kodomo:/$ cd usr
kodomo:/usr$ cd local
kodomo:/usr/local$ cd lib
kodomo:/usr/local/lib$ pwd
/usr/local/lib
-- имя текущей папки /usr/local/lib
kodomo:/usr/local/lib$ ls
python2.7 python3.11 R
-- в ней 3 подпапки или файла
kodomo:/usr/local/lib$ file R
R: directory
-- R - это подпапка, остальные нужно проверить аналогично
# Пункт 3
kodomo:/usr/local/lib$ cd /lib
kodomo:/lib$ pwd
/lib
kodomo:/lib$ ls
apache2 jni pam.d
apbs jvm php
...
-- /lib и /usr/local/lib - это очевидно разные папки, у них разное содержимое
# Пункт 4
kodomo:/lib$ cd /usr/local/lib/
kodomo:/usr/local/lib$ pwd
/usr/local/lib/
# Пункт 5
kodomo:/usr/local/lib$ cd
-- или cd ~
-- или cd /home/students/y24/test24
kodomo:~$ pwd
/home/students/y24/test24
# Пункт 6
kodomo:~$ cd term1/gene
-bash: cd: term1/gene: No such file or directory
-- сообщение об ошибке, файл или папка с указанным именем отсутствует
# Пункт 7
kodomo:~$ cd /home/students/y24/test24/term1/genome
kodomo:~/term1/genome$ pwd
/home/students/y24/test24/term1/genome
# Пункт 8
kodomo:~/term1/genome$ cd ../../../../../../usr/local/lib
kodomo:/usr/local/lib$ pwd
/usr/local/lib
# Пункт 9
kodomo:/usr/local/lib$ cd ../../lib
kodomo:/usr/lib$ pwd
/usr/lib
Подключение к серверу по протоколу SSH
test24@linclass00:~$ ssh -p 22221 -l test24 kodomo.fbb.msu.ru
-- имя пользователя можно указать не с помощью опции, а в составе позиционного аргумента
-- (именно в таком виде команду ssh чаще всего приводят во всяких примерах в интернете)
test24@linclass00:~$ ssh -p 22221 test24@kodomo.fbb.msu.ru
test24@kodomo's password:
Linux kodomo 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64
You have no mail.
Last login: Fri Sep 20 02:25:58 2024 from 192.168.180.1
Disk quotas for user test24 (uid 12400):
FILESYSTEM SPACE QUOTA LIMIT GRACE FILES QUOTA LIMIT GRACE
home 102M 500M 700M 2408 100k 200k
mail 0K 500M 550M 1 0 0
test24@kodomo:~$
# Для подключения к kodomo с компьютера классов есть сокращенные варианты:
-- если опцию -l не указать, то будет использоно имя текущего пользователя
test24@linclass00:~$ ssh -p 22221 kodomo.fbb.msu.ru
-- компьютеры классов знают сервер kodomo по короткому имени
test24@linclass00:~$ ssh -p 22221 kodomo
Операции с файлами
# Пункт 1
kodomo:/usr/lib$ cd
kodomo:~$ pwd
/home/students/y24/test24
# Пункт 2
kodomo:~$ cp /etc/os-release .
kodomo:~$ less os-release
-- файл есть в домашней папке
kodomo:~$ less /etc/os-release
-- исходный файл никуда не делся
# Пункт 3
kodomo:~$ mkdir temp
kodomo:~$ mv os-release temp/
kodomo:~$ ls temp/
os-release
# Пункт 4
kodomo:~$ mv temp/os-release temp/test24
# Пункт 5
kodomo:~$ cd temp/
kodomo:~/temp$ ls
test24
kodomo:~/temp$ less test24
kodomo:~/temp$ cd ~
kodomo:~$
# Пункт 6
kodomo:~$ du -b temp/test24
21 temp/test24
-- размер файла 21 байт
# Пункт 7
kodomo:~$ man wc
kodomo:~$ wc temp/test24
9 14 267 temp/test24
-- в файле 9 строк, 14 слов и 267 символов
# Пункт 8
kodomo:~$ wc -l temp/test24
9 temp/test24
kodomo:~$ less temp/test24
-- нужно убедиться, что в пейджере отображается 9 строк
# Пункт 9
kodomo:~$ wc -w temp/test24
14 temp/test24
kodomo:~$ less temp/test24
-- нужно убедиться, что в пейджере отображается 14 слов
-- слова - это все, что разделено пробельными символами
# Пункт 10
kodomo:~$ rm temp/test24
kodomo:~$ rmdir temp/
# Пункт 11
kodomo:~$ cd term1/genome
kodomo:~/term1/genome$ mkdir ~/temp
# Пункт 12
kodomo:~/term1/genome$ cp /etc/os-release ../../temp/tmp.txt
# Пункт 13
kodomo:~/term1/genome$ ls ../../temp/
tmp.txt
kodomo:~/term1/genome$ less ../../temp/tmp.txt
# Пункт 14
kodomo:~/term1/genome$ mv ~/temp ../pr3
kodomo:~/term1/genome$ ls ~/term1/pr3/
tmp.txt
# Пункт 15
kodomo:~/term1/genome$ man head
kodomo:~/term1/genome$ man tail
kodomo:~/term1/genome$ head -n 3 ../pr3/tmp.txt
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
kodomo:~/term1/genome$ tail -n 3 ../pr3/tmp.txt
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
# Пункт 16
kodomo:~/term1/genome$ rm ../pr3/tmp.txt
Чтение документации
Все справочные страницы в системе man распределены по секциям, в зависимости от того, что эти сраницы описывают. Вас почти исключительно будут интересовать страницы из секции №1, в этой секции расположены руководства по пользовательским программам.
Будет не лишним ознакомиться с "введением" по этой секции. Для этого следует выполнить команду man 1 intro (1 – номер секции, в которой нужно искать справочную страницу, а intro – её название).
Каждая справочная страница man о программе имеет фиксированную структуру – в частности, всегда есть раздел NAME, содержащий название и однострочное описание программы; раздел SYNOPSIS, котором указана схема команды для запуска программы с указанием возможных аргументов; раздел DESCRIPTION, который содержит краткое описание предназначения программы, её опции и прочую информацию, касающуюся использования программы.
В разделе SYNOPSIS, как правило, используются следующие рекомендованные обозначения:
курсив или подчеркнутый текст (отображение зависит от возможностей терминала) – эту часть команды надо заменить на нужное значение;
жирный или более яркий текст (не все терминалы умеют отображать, обычно это все, кроме курсива) – эта часть команды должна быть буквально такой, как указано;
- в квадратные скобки заключена часть команды, которая не обязательно должна присутствовать;
- три точки после аргумента означают, что он может быть повторен необходимое количество раз;
- вертикальной чертой разделяют взаимоисключающие части команды.
Документация по программе ls
Справочная страница man для команды ls весьма краткая. Она позволяет получить общее представление об имеющихся опциях, но их полное описание отсутствует. Вам достаточно описать ту информацию, которую можно добыть из man. Но приводить неверные факты на основе только своих предположений нельзя! Например, в табличной выдаче команды ls -l нет даты создания файла. Полная справка доступна в другой справочной системе – info (например, info ls).
Пожалуйста, выбирайте только опции, с которыми получилось разобраться.