Raspberry Pi:Основы Linux/Терминал
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Терминал[1]
Терминал (также называемый «командной строкой») — это один из мощнейших инструментов для управления компьютером (или, в данном случае, Pi). На операционных системах Windows и Mac OS тоже существует нечто подобное: в первом случае это cmd.exe или Powershell, а во втором — Terminal. Все эти инструменты позволяют манипулировать системой напрямую, то есть посредством различных команд. Кроме того, эти команды можно объединить в цепочку, тем самым создав сложный скрипт (подробнее о shell-скриптах для Linux читайте тут) — потенциально более эффективное средство для выполнения задач, чем громоздкие ПО-пакеты.
Запуск LXTerminal
На Raspberry Pi (с установленной Raspbian) терминалом по умолчанию является приложение LXTerminal. Его также называют «эмулятором терминала», и это означает, что он эмулирует в графической среде Raspbian видеотерминал — устройство, широко используемое до изобретения GUI, то есть графических пользовательских интерфейсов. Иконку LXTerminal можно найти на рабочем столе Raspbian. Будучи запущенным, оно выглядит примерно так:
Терминал должен показать следующее сообщение:
pi@raspberrypi ~ $
То есть этим сообщением система показывает нам имя пользователя (pi) и имя хоста (raspberrypi).
Теперь попробуем запустить какую-нибудь команду. Впишите pwd (это команда, показывающая текущую директорию) и нажмите Enter. В ответ будет показано что-то вроде
/home/pi
Навигация и просмотр файловой системы Pi
Один из ключевых аспектов использования терминала — это возможность навигации по файловой системе. Для начала запускаем команду
ls -la
Вы должны увидеть примерно следующее:
Команда ls отображает содержимое директории, в которой вы находитесь в данный момент (ее также называют «текущей» или «рабочей» директорией). Компонент -la — это то, что называют «меткой».
Функция метки — модифицировать запускаемую команду. В данном случае '''''l отображает содержимое директории в виде списка (показывая информацию вроде размера и даты последнего редактирования), в то время как a показывает абсолютно все файлы, включая даже те, что начинаются с точки (так называемые «дот-файлы»'). Дот-файлы обычно играют роль конфигурационных файлов для различного ПО. Кроме того, поскольку они представлены в текстовом виде, их можно модифицировать обычным редактированием.
Если мы хотим просмотреть какую-то другую директорию, то в нее нужно сначала перейти, и для этого используется команда cd. Путь к желаемой директории может быть как «полным», так и «относительным». К примеру, если вы захотите перейти к директории python_games, то можете вписать или cd /home/pi/python_games, или просто cd python_games (если в данный момент находитесь в /home/pi). Кроме того, есть несколько приемов, которые делают процесс перемещения в нужную папку более удобным. Так, символ «~» служит псевдонимом для домашней директории, то есть, ~/python_games — это то же самое, что и /home/pi/python_games. Символы «.» и «..» служат псевдонимами для текущей и родительской директорий, соответственно, то есть, если вы находитесь в директории /home/pi/python_games, то команда
cd ..
переместит вас в /home/pi.
История и автоматическое заполнение
Для того, чтобы вам не приходилось вбивать каждую команду, вы можете скроллить через предыдущие команды при помощи клавиш «вверх» и «вниз». Если одним из компонентов команды является имя файла или папки, то указать его можно при помощи клавиши Tab — это работает по принципу «автоматического заполнения». К примеру, если в текущей директории есть файл под названием aLongFileName, то для того, чтобы вписать его имя, вам нужно сначала вписать букву «a», а затем при помощи клавиши Tab скроллить через все файлы и директории, которые находятся в текущей директории и начинаются с буквы «a» — до тех пор, пока не встретите желаемый aLongFileName.
Команда sudo
Некоторые команды способны вносить в систему необратимые изменения, поэтому для их запуска требуются права самого главного пользователя системы — root-пользователя. Если вы не залогинены через root-пользователя, то его права можно временно получить при помощи команды sudo, но с условием, что ваша учетная запись находится в списке sudo-пользователей (так называемых «sudo'еров»). Если подставить к вашей команде приставку sudo и нажать Enter, система запросит ваш пароль, и если он будет введен правильно, то указанная вами команда будет выполнена с правами root-пользователя. И еще раз — будьте внимательны! Ряд команд, которые требуют для своего выполнения приставку sudo, могут нанести вашей системе необратимый ущерб.
Более подробно о sudo и root-пользователе читайте на этой странице.
Установка ПО при помощи apt-get
Для загрузки на Pi нового ПО можно использовать не только онлайн-магазин Pi Store, но и команду apt-get – это так называемый «пакетный менеджер», который имеется в комплекте всех Linux-дистрибутивов на базе Debian (включая Raspbian). Его функция заключается в установке ПО-пакетов, а также в управлении уже установленными ПО-пакетами. Для того, чтобы установить новый пакет, нужно вписать
sudo apt-get install <название_пакета>
, где <название_пакета> — это, собственно, пакет, который вы хотите установить.
Запуск команды
sudo apt-get update
обновляет список ПО-пакетов, которые уже установлены на вашей системе. Далее используется команда
sudo apt-get upgrade
, которая, собственно, и обновляет старые старые пакеты до новых версий. Наконец, команда
sudo apt-get remove <название_пакета>
удаляет пакет, установленный на вашей системе.
Более подробно об этом читайте на странице об утилите APT.
Другие полезные команды
В системе Linux есть и другие команды, которые вы можете найти полезными для работы с Raspberry Pi:
- Команда cp делает копию файла и помещает его в указанную локацию (по сути, это операция «копировать-вставить»). К примеру,
cp file_a /home/other_user/
скопирует файл file_a из вашей домашней директории в директорию other_user (при условии, что у вас есть разрешение на копирование в эту директорию). Имейте в виду, что если целью является директория, то имя файла останется тем же, а если цель — это имя файла, то файлу будет дано другое имя.
- Команда mv перемещает файл в указанную локацию (по сути, это операция «вырезать-вставить»). Используется аналогично cp, то есть если вписать
mv file_a /home/other_user/
, это переместит файл file_a из вашей домашней директории в директорию other_user. Кроме того, mv используется для переименования файла, например, так —
mv hello.txt story.txt
- Команда rm удаляет указанный файл (или директорию, если используется с меткой -r). И предупреждаем — файлы, удаленные таким образом, восстановлению, как правило, не подлежат.
- Команда mkdir создает новую директорию. К примеру, если вписать
mkdir new_dir
, это создаст в текущей директории папку под названием new_dir.
- Команда cat показывает содержимое файлов. К примеру, если вбить
cat some_file
, это покажет содержимое файла some_file.
О других командах можно почитать на соответствующей странице.
Справочная информация о командах
Если вас интересует более подробная информация о той или иной команде, то ее можно посмотреть при помощи команды man. К примеру, если вас интересуют подробности о команде ls, то в командную строку нужно вписать
man ls
В ответ вам будет показана так называемая man-страница (man — это сокращение от manual, что можно перевести как «руководство» или «справочник»), которая, помимо прочего, будет рассказывать о метках для этой команды и для чего они предназначены. На некоторых man-страницах указаны примеры использования команд.