Задание¶
Вы должны уверенно освоить следующий список приемов и команд:
- Вход на удаленный сервер любым удобным для вас инструментом
- Команды:
pwd, ls
(особенноls -l
!),cd, mkdir, rmdir
echo, cp, mv, more, less, cat, rm, wc
grep
man
history
exit
- Пути:
- Специальные пути:
/, .., ., ~
- Что такое абсолютный и относительный пути к файлу или директории
- Специальные пути:
- Операторы перенаправления потоков:
>, >>, |
- Спецсимволы в масках имен файлов:
*, ?,
- экранирование спецсимволов (например, \* или так '*'), [0-9]
- Приемы эффективной работы:
tab
history
- стрелки вверх и вниз
Задания¶
Тренировочные задания в классе¶
1. Подключитесь к любому из устройств с GNU/Linux
- Сервер xwing.cmm.msu.ru
- Raspberry PI (user: adbmstudent, password: adbmstudent)
- Ноутбук Артура (user: adbmstudent, password: adbmstudent)
2. Выполните базовые команды:
whoami, who, finger
pwd, ls
(c опциями)cd, mkdir, rm
touch, echo
cp
- l
ess, vim
3. Корректно завершите сессию:
exit
NB: Результатом выполнения практикума является файл xwing.fbb.msu.ru:~/linux/credits/<username>_was_here.txt (~ - ваша домашняя директория, не перепутайте!)
Подключитесь к серверу xwing.vsb.fbb.msu.ru¶
Для подключения к серверу xwing.fbb.msu.ru из:
- Windows:
Воспользуйтесь программой PuTTY.
Host Name: xwing.cmm.msu.ru Port: 443 Connection type: SSH
Графические инструкции можно найти в лекции.
- GNU/Linux, OS X, etc
ssh -p 443 <username>@xwing.cmm.msu.ru
Создайте директорию ~/linux/tmp и перейдите в нее¶
Сначала осмотритесь. Команда pwd
(man pwd) покажет вам в какой вы директории. Команда ls
(man ls) покажет список файлов и поддиректорий в этой директории.
Используйте команды mkdir (man mkdir) и cd (man cd). Например, так.
Чтобы не тратить время на набор лишних символов чаще используйте клавишу Tab (табулятор).
Скопируйте файлы с расширением txt из директории /tasks/linux/some_strange_files в директорию ~/linux/tmp¶
Для копирования файлов воспользуйтесь командой cp
(man cp)
В простейшем виде синтаксис команды выглядит следующим образом: cp <файл> <имя копии файла>
. Внимательно отнеситесь к описанию путей к файлам.
Но копировать файлы по одному достаточно непрактично. Оптимизируйте эту операцию при помощи файловых масок (регулярных выражений).
Проверьте, что получилось (команды ls
и less
).
Если, случайно, вы скопировали не только нужные файлы, то удалите лишние при помощи команды rm <имя файла>
. Вместо имени файла можно написать маску имен файлов. Будьте аккуратны! Корзины и операций восстановления в файлов в GNU/Linux нет. Для перестраховки используйте вызов rm -i
или rm -I
. Прочитайте в мануале (man rm) за что отвечают эти опции.
Определите уникальное содержимое файлов из предыдущего задания¶
Вывести содержимое файлов можно при помощи команды cat <one_file> <or_more_files>
'. (man cat)
Отфильтровать уникальное содержимое можно при помощи команды uniq
, только внимательно прочтите документацию (man uniq) к программе перед ее использованием.
Для передачи выдачи одной программы на вход другой воспользуйтесь конвейером ( он же "пайп", знак `|`), например так: cat smth | uniq
.
Создайте директорию ~/linux/credits и в ней файл с отчетом <username>_was_here.txt¶
В файл отчета <username>_was_here.txt внесите следующие строки:
Первая строка: username:
Вторая строка: <username>
Третья строка: absolute path to credits dir:
Четвертая строка: <path>
Используйте команду echo <строка>. Когда освоитесь с ней -- перенаправьте ее выход в файл оператором "> или >>": echo <строка> > <имя файла>
. Используйте оператор ">>" для дописывания в конец файла
Далее добавьте в этот файл команду, которую вы использовали для копирования файлов по маске.
Далее добавьте в этот файл результат выполнения задания 4 и команду, при помощи которой вы его получили.
Проверьте содержимое файла командой less <имя файла>. Выход "q". Проверьте, появилось ли приглашение командной строки bash: "....$ " .
Для штатного выходы из linux выполните команду `exit`¶
Если команда `exit` не выполнена, а вы закрываете окно, то список выполненных за сеанс команд не запоминается. Значит, при следующем заходе команда history не вспомнит об этих командах.