Arsenev-Obrazcov_S.S._i_dr._Osnovy_raboty_v_komandnoy_stroke_OS_Linux
.pdfфедеральное государственное автономное образовательное учреждение высшего образования «Российский государственный университет нефти и газа (национальный исследовательский университет) имени И.М. Губкина»
Кафедра Прикладной математики и компьютерного моделирования
Арсеньев-Образцов С.С., Волков Е.А., Жукова Т.М.
ОСНОВЫ РАБОТЫ В КОМАНДНОЙ СТРОКЕ ОПЕРАЦИОННОЙ СИСТЕМЫ LINUX
учебное пособие
Москва, РГУ нефти и газа (НИУ) имени И.М. Губкина,
2019
УДК 681.3
ББК 30ц
А85
Арсеньев-Образцов С.С., Волков Е.А., Жукова Т.М., Основы работы в командной строке операционной системы Linux. [Электронный ресурс]: учебное пособие / Арсеньев-Образцов С.С., Жукова Т.М., Волков Е.А.-М.: РГУ нефти и газа (НИУ) имени И.М. Губкина, 2019. – 1,53 Мб – Электрон.дан. - 1 электрон.опт.диск (CD-ROM); 12 см. – Систем.требования: компьютер IBM-PC совместимый; монитор, видеокарта, поддерживающ. разреш.1024x768; привод CD-ROM; программа для чтения pdf-файлов. – Загл.с этикетки диска.
В пособии рассматриваются основные принципы работы в командной строке операционной системы Linux. Она является важным инструментом программиста. Возможности, предоставляемые командной строкой, намного шире, чем при работе с графическим интерфейсом.
Существует большое число задач, которые требуют понимания основных принципов работы в командной строке (например, создание скриптов). Практически все высокопроизводительные системы работают под управлением Unix-образных операционных систем. При этом работа с кластерами осуществляются удаленно в основном с помощью командной строки.
Пособие «Основы работы в командной строке операционной системы Linux» является элементарным введением в интерпретаторы команд таких как: bash, csh и других. Оно предназначено для использования в курсах: «Параллельное программирование», «Грид- и кластер технологии в нефтегазовом комплексе», «Архитектура высокопроизводительных вычислительных систем», «Программирование» и других. Его можно использовать в любых курсах инженерно-технических дисциплин по информатике, включающих разделы по работе в операционной системы Linux.
Минимальные системные требования:
Тип компьютера, процессор, частота: IBM-PC совместимый
Видеосистема: монитор, видеокарта, поддерживающая разрешение1024x768 Дополнительное оборудование: привод CD-ROM
Дополнительное программное обеспечение: программа для чтения pdf-файлов.
© РГУ нефти и газа (НИУ) имени И.М. Губкина, 2019
© Арсеньев-Образцов С.С., Жукова Т.М., Волков Е.А, 2019
2
Содержание
1. |
Введение ...................................................................................................................... |
4 |
|
2. |
Обозначения ............................................................................................................... |
5 |
|
3. |
Вход в систему ............................................................................................................ |
6 |
|
4. |
Терминал и текстовые консоли ................................................................................. |
7 |
|
5. |
|
Навигация в файловой системе в CLI.................................................................... |
10 |
6. |
|
Работа с опциями отдельных команд .................................................................... |
19 |
7. |
|
Обращение к справочной системе ......................................................................... |
21 |
8. |
|
Запуск графических приложений из командной строки ..................................... |
22 |
9. |
|
Редактирование текста в командной строке ......................................................... |
24 |
10. |
Запуск приложений в CLI. Элементы работа с текстовыми файлами ............... |
25 |
|
11. |
Перенаправление стандартного вводы/вывода данных, конвейер ..................... |
32 |
|
12. |
Приложение.............................................................................................................. |
35 |
3
Введение
В данном пособии рассмотрены основные элементы работы с командной строкой. Командная строка применяется во всех unix-образных системах (Unix, Linux, MacOS и др.) и является важным инструментом работы программиста, использующего данные операционные системы.
Командная строка является средой работы создателей программного обеспечения, ориентированного на высокопроизводительные вычисления. Возможности, предоставляемые командной строкой, намного шире, чем при работе с «обычным» графическим интерфейсом. Программисты, обладающие навыком использования командной строки, всегда отдают ей предпочтение, ориентируясь на многозадачность, практичность, возможность удаленной работы, универсальность и др.
Существует множество задач, которые просто требуют понимания устройства командной строки (например, написание сценариев). Разработчики, создающие разнообразные прикладные системы, например промежуточное программное обеспечение вычислительных кластеров, работают именно с командной строкой, создавая скрипты сценариев выполнения различных макрокоманд.
С течением времени для обычных пользователей роль командной строки стала падать. Различного вида интерфейсы (GUI – англ. graphical user interface, NUI – англ. natural user interface и др.) позволяют пользователю забыть о классическом методе работы с компьютером. Но важность работы с командной строкой для программиста трудно переоценить.
Пособие «Основы работы в командной строке операционной системы Linux» является элементарным введением в применение командных интерпретаторов, предоставляющих пользователю возможности работы намного превосходящие GUI. Работа в основном ведется с использованием примеров, поэтому желательно иметь под рукой компьютер с установленной на нем Unix-образной системой.
4
Обозначения
Важные моменты отмечены стрелкой. Эти разделы используются для выделения распространенных ошибок или недоразумений.
Как читать результаты выполнения операций
Текст, который вы увидите на своем компьютере, работающем в режиме терминала, представляется следующим образом:
$ more test.txt
This is test file 123 12,
For test purposes --More--(44%)
Команда, которую вводите вы, представляется следующим образом: $ more test.txt (Жирный шрифт)
Текст, ответа представляется следующим образом: This is test file.
Клавиши на клавиатуре
Клавиши на клавиатуре будут обозначаться в квадратных скобках: «клавиша A» будет записана «[A]». Обратите внимание, что клавиша Enter (нажимается в конце каждой строки команды) записывается «[ ]», клавиша Shift как «[ ]», а клавиша табуляции - «[ ]». Одновременное нажатие нескольких клавиш (например, нажатие клавиши shift при нажатии клавиши A) будет записано как «[ ] + [A]». Обратите внимание, что нажатие [A] генерирует строчную букву «a». Чтобы получить букву верхнего регистра «A», вам нужно нажать [ ] + [A].
Содержимое файлов
Содержимое файлов (с комментариями) будет показано следующим образом:
This is test file
123
12,
For test purposes
Здесь будет написан комментарий о предыдущем тексте.
5
1. Вход в систему
«Booting» (Загрузка) - это процесс превращения куска железа, пластмассы и кремния в то, что мы называем компьютером, который готов помочь вам в работе. Название происходит от «bootstrapping» - начальная загрузка.
В простейшем случае компьютер загрузит свою единственную операционную систему,
например, Microsoft Windows ™:
или Linux:
Некоторые компьютеры могут быть настроены так, чтобы они могли загружаться и в Windows и в Linux. Причем выбор между системами происходит во время загрузки:
Если компьютер уже запущен, его необходимо перезапустить для того, чтобы изменить операционную систему:
6
2. Терминал и текстовые консоли
Чтобы запустить текстовую консоль в системе Linux, выберите Приложения → Unix Shell → Gnome Terminal для Ubuntu или Applications→System→Konsole. Также иконка терминала обычно располагается в Toolbox (полоса с приложениями слева). И наконец, вы можете найти терминал в поиске. Текстовых консолей можно открыть сколь угодно много. Каждая из них запускает независимый интерпретатор командной строки («shell»).
В качестве альтернативы вы можете полностью отказаться от графической среды и вернуться в терминальный режим Unix. Нажмите [Ctrl] + [Alt] + [F2], чтобы получить «чистую» консоль без различного рода интерпретаторов и оболочек. Обратите внимание, что мы можем войти в систему как через графический интерфейс, так и с текстовым интерфейсом (-ами) одновременно. Фактически, вы можете использовать один и тот же компьютер с вашим соседом одновременно под разными аккаунтами. Unix - полностью многопользовательская операционная система. Идентичные интерфейсы доступны с помощью клавиш [F3], [F4], [F5] или [F6] вместо [F2]. [F1] также переводит вас в текстовую консоль.
Во время переключения между консолями вы часто можете заметить в течение нескольких секунд черный экран. Пожалуйста, будьте терпеливы и дайте коммутатору закончить, прежде чем что-то нажимать. Если вы попытаетесь переключиться, когда консоль находится в процессе обработки, вы можете затормозить компьютер еще больше.
Использование сочетания клавиш [Ctrl] + [Alt] + [F7] возвращает вас к графическому интерфейсу.
Рассмотрим первую строку приглашения к работе в командной строке:
user:~$
Текст в начале строки называется «prompt» («подсказка»), и его цель - предложить вам ввести некоторые команды.
Подсказку можно изменить (см. ниже), но по умолчанию для нашей версии Linux она содержит следующие компоненты:
user |
Имя вашего компьютера |
: |
Разделитель |
~ |
Каталог, в котором находится ваш сеанс, также известен как «текущий |
|
рабочий каталог». |
$ |
Конечный разделитель. |
Чтобы выполнить команду просто введите имя команды и нажмите клавишу enter [ ]. Например, команда ls перечисляет файлы в текущем рабочем каталоге:
user:~$ ls
Appscfg.PWF Desktop Library My Music My Pictures My Video Unix Intro
user:~$
Обратите внимание, что приглашение повторяется после завершения команды ls.
7
Выход из консоли
Как только мы закончили работу с терминалом или терминальным окном, нам нужно выйти. Для этого существует три способа.
Закрытие окна
В графической среде окно терминала - это еще одно окно. В правом верхнем углу расположены три кнопки: «свернуть», «развернуть» и «закрыть». Если вы нажмете кнопку [×], окно будет закрыто, и сеанс будет закончен.
Команда выхода
В терминальном окне или текстовой консоли вы можете дать команду «exit», что приведет к окончанию сессии. В графической среде завершение сеанса, запущенного в окне также закрывает окно.
Комбинация клавиш
И наконец, текстовую консоль или терминал можно закрыть комбинацией клавиш:
[Ctrl] + [D]
В системе Unix использование [Ctrl] + [D] означает «конец ввода».
Упражнение
1.Войдите в систему.
2.Запустите два окна терминала. (Приложения → Unix Shell → Gnome Terminal)
3.Перейдите в консоль, нажав [Ctrl] + [Alt] + [F2].
4.Повторите вход в другую консоль, нажав [Ctrl] + [Alt] + [F3].
5.Запустите команду «w». Эта команда выдает информацию о пользователях, работающих в системе :
user:~$ w |
|
|
|
|
|
|
10:20:00 up 16 min, |
5 users, |
load average: 0.01, 0.08, 0.16 |
||||
USER |
TTY |
LOGIN@ |
IDLE |
JCPU |
PCPU |
WHAT |
y250 |
tty2 |
10:10 |
10:00 |
0.05s |
0.05s |
-bash |
y250 |
tty3 |
10:10 |
0.00s |
0.07s |
0.00s |
w |
y250 |
tty7 |
10:06 |
10:07 |
3.39s |
0.47s |
/usr/bin/gnome-session |
y250 |
pts/0 |
10:09 |
10:27 |
0.02s |
0.02s |
bash |
y250 |
pts/1 |
10:09 |
10:20 |
0.04s |
0.04s |
bash |
user:~$
Дополнительная информация
Буквы «tty» в выводе команды w означают «teletype». Так назывались раньше терминалы для печати на бумаге, которые раньше заменяли мониторы компьютеров.
Телетайп «tty2» соответствует комбинации клавиш [Ctrl] + [Alt] + [F2], а «tty3» - [Ctrl] + [Alt] + [F3]. Седьмой телетайп (tty7) соответствует графическому интерфейсу,
8
управляемому программой, называемой gnome-session. Поэтом нужно использовать [Ctrl] + [Alt] + [F7] для возврата в графическую среду.
Графические окна терминала не являются «настоящими» телетайпами. Они управляются «pseudo-terminal service» или «pts». Первые два окна терминала, которые вы создаете, обозначаются соответственно pts / 0 и pts / 1.
Упражнение
Команда w дает информацию о пользователях системы. Попробуйте альтернативные команды «who» и «uptime»
9
3. Навигация по файловой системе
Все элементы системы Unix образуют иерархическую структуру, называемую «файловой системой». Эта иерархия является деревом папок (обычно называемых «каталогами» в системе Unix) и файлов определенного контента.
Обычно работа начинается из «домашнего каталога» - «home». Это стандартное место начала работы.
Каталоги (директории)
Рабочий каталог
Чтобы узнать, в каком каталоге мы находимся, введите команду pwd («print working directory»):
user:~$ pwd /home/y250
user:~$
Содержимое каталога
Чтобы узнать, что находится в текущем каталоге, мы используем команду ls ("list"):
10