Изучение основных команд Linux – шпаргалка для Raspberry Pi
Большая часть работы с Raspberry Pi связана с использованием терминала. Терминал — это то, чего многие люди стараются избегать, потому что им кажется, что с ним сложно работать.
Но это вовсе не обязательно, ведь на самом деле всё можно свести к нескольким базовым командам, которые нужно знать, чтобы делать практически всё.
После того как вы выучите эти команды, вы наверняка будете чувствовать себя совершенно комфортно при работе с терминалом. Когда вы подключаетесь к терминалу через SSH-соединение, вы можете устанавливать программное обеспечение на Pi удалённо, создавать файлы или папки и запускать любые скрипты прямо со своего компьютера.
Вам также не нужно запоминать все эти команды наизусть — вы всегда можете вернуться к этой статье как к справочнику, чтобы вспомнить, как что-то делается.
Для данного руководства я буду использовать плату Raspberry Pi с установленной операционной системой Raspbian Lite.
Вот содержание:
Исследование файловой системы Linux
Пришло время поработать с командной строкой.
Для начала введите pwd, что означает «вывести рабочий каталог» (print working directory):
pi@raspberry:~ $ pwd
/home/pi
Результат — /home/pi. Прямые слэши всегда используются для обозначения папок и файлов внутри других папок. В данном случае текущий рабочий каталог — pi, который находится внутри home, который находится в корне файловой системы. Здесь pi — это имя пользователя, под которым вы вошли в систему.
Примечание: Команды в Linux чувствительны к регистру, что означает, что PWD, PwD, pWd и любые другие вариации полностью отличаются от pwd. Это же правило действует для всех остальных команд и для любого кода, написанного на языках программирования, рассматриваемых в этом курсе.
Навигация по файловой системе
Наиболее часто используемые команды — это ls (list, список) и cd (change directory, сменить каталог). Они используются для отображения содержимого каталога и перехода из одного каталога в другой.
Когда вы впервые открываете терминал, он откроется в вашей домашней папке (как вы уже видели с помощью команды pwd). Вы можете увидеть, какие именно файлы или папки находятся в рабочем каталоге, с помощью ls:
pi@raspberry:~ $ ls
Прямо сейчас ваш каталог пуст, поэтому вы ничего не увидите при попытке просмотреть свои файлы и папки. Хотите создать новую папку? Используйте mkdir, за которой следует имя, которое вы хотите дать папке:
pi@raspberry:~ $ mkdir NewFolder
pi@raspberry:~ $ ls
NewFolder
Для навигации мы будем использовать команду cd, за которой следует расположение, куда вы хотите перейти. Это делается следующим образом:
pi@raspberry:~ $ cd NewFolder
pi@raspberry:~/NewFolder $
Это переместило вас в каталог NewFolder, который вы только что создали.
Вот один трюк, который можно использовать, чтобы не запоминать точное имя пути — командная строка или терминал попытаются автодополнить фразу, если вы нажмёте клавишу Tab, когда что-то набрано лишь частично. Попробуйте команду cd снова (используйте cd .. для перехода на один каталог вверх):
pi@raspberry:~/NewFolder $ cd ..
pi@raspberry:~ $ ls
NewFolder
Теперь начните вводить команду cd снова…
pi@raspberry:~ $ cd NewF
…нажав Tab, когда вы набрали только „NewF“, терминал автодополнит путь к файлу:
pi@raspberry:~ $ cd NewFolder
Наконец, есть несколько быстрых команд, которые можно использовать для работы с файлами. Создайте новый файл с помощью команды touch:
pi@raspberry:~/NewFolder $ touch NewFile.txt
pi@raspberry:~/NewFolder $ ls
NewFile.txt
Отдельные файлы можно копировать с помощью команды cp, за которой следует имя файла, а также можно использовать эту команду для переименования файлов:
pi@raspberry:~/NewFolder $ cp NewFile.txt OtherFile.txt
pi@raspberry:~/NewFolder $ ls
NewFile.txt OtherFile.txt
Исходный файл затем можно удалить с помощью команды rm, за которой следует имя файла:
pi@raspberry:~/NewFolder $ rm NewFile.txt
pi@raspberry:~/NewFolder $ ls
OtherFile.txt
Вы можете перемещать файлы с помощью команды mv:
pi@raspberry:~/NewFolder $ mv OtherFile.txt /home/pi
pi@raspberry:~/NewFolder $ cd ..
pi@raspberry:~/NewFolder $ ls
NewFolder OtherFile.txt
С командной строкой можно делать гораздо больше, но это самые основы.
По мере того как вы всё больше используете Linux, вы будете сталкиваться с задачами, требующими командной строки, и через этот процесс вы узнаете, как много можно сделать, работая с командной строкой для управления файлами.
Редактирование файлов с помощью терминала
Nano — это простой в использовании текстовый редактор, который установлен по умолчанию в дистрибутиве Raspbian и многих других дистрибутивах Linux.
Использование Nano
Вы можете запустить nano, просто набрав nano в командной строке.
Вы можете использовать следующие команды для редактирования файла OtherFile.txt, созданного в предыдущем разделе:
pi@raspberry:~ $ cd
pi@raspberry:~ $ nano OtherFile.txt
Nano перейдёт по указанному пути и откроет файл, если он существует. Если файл не существует, будет создан новый буфер с этим именем файла в этом каталоге.
Давайте посмотрим на стандартный экран nano:
В верхней строке вы увидите название программы, номер версии, имя и расширение файла, который вы редактируете, а также информацию о том, был ли файл изменён с момента последнего сохранения.
Примечание: Если у вас новый файл, который ещё не сохранён, вы увидите «New Buffer».
Далее вы увидите содержимое вашего файла.
Наконец, последние две строки внизу — это строки с горячими клавишами (как показано ниже).
Горячие клавиши
Функции программы в nano называются «горячими клавишами» (shortcuts) — такие как сохранение, выход, поиск и т.д. Наиболее распространённые из них перечислены внизу экрана (как показано на рисунке выше), но есть ещё множество других, которые не отображаются.
Внимание: nano не использует клавишу Shift в горячих клавишах. Все горячие клавиши используют строчные буквы и немодифицированные цифровые клавиши, поэтому Ctrl+G — это НЕ Ctrl+Shift+G.
Нажмите Ctrl+G, чтобы вызвать меню справки, и прокручивайте стрелками вниз, чтобы увидеть список доступных горячих клавиш.
Когда вы закончите просматривать список, нажмите Ctrl+X для выхода из меню справки.
Теперь допустим, вы работаете с текстовым файлом и хотите сохранить его и выйти из nano. Это выполняется нажатием Ctrl+X.
Nano спросит, хотите ли вы сохранить изменения, и вы можете ввести:
Y, затем Enter — чтобы сохранить все изменения
N, затем Enter — чтобы отменить любые изменения
Это очень краткое руководство, показывающее, как редактировать файл и сохранять его с помощью программы nano.
Nano намного мощнее и имеет множество горячих клавиш, которые вы можете использовать в своих интересах, но это выходит за рамки того, что вам нужно знать для прохождения этого курса. Вы всегда можете обратиться к официальной документации или использовать встроенное меню справки.
Управление программным обеспечением на Raspberry Pi
Когда вы разберётесь в командной строке, загрузка и установка нового программного обеспечения на компьютер или устройство с операционной системой Linux станет довольно простым и понятным процессом.
Программное обеспечение поставляется в виде так называемых пакетов — программ, которые можно загрузить из Интернета и установить, просто набрав команду в строке приглашения.
Для загрузки и установки этих пакетов обычно используется менеджер пакетов, который скачивает и устанавливает не только запрошенное вами программное обеспечение, но и все остальные необходимые программы, известные как зависимости.
Дистрибутив Raspbian использует менеджер пакетов под названием apt.
Для управления программным обеспечением вам нужна авторизация администратора, которого вы уже знаете как суперпользователя. Для этого введите sudo (superuser do) перед командой.
Обновление и апгрейд
Прежде всего, необходимо обновить список доступных версий пакетов, о которых знает ваш менеджер пакетов. (Менеджер пакетов хранит такой список в файловой системе Raspberry.) Введите следующую команду:
pi@raspberry:~ $ sudo apt-get update
Для работы этой команды необходимо подключение к Интернету. После ввода команды пробегает текст с информацией о последних обновлениях списков.
Далее следует обновить программное обеспечение, что можно сделать командой apt upgrade. Эта команда обновляет все установленные пакеты до их самых последних версий:
pi@raspberry:~ $ sudo apt-get upgrade
С точки зрения формулировок, разница между update и upgrade неочевидна, но выполняют они совершенно разные действия (хотя обычно используются вместе).
sudo apt-get update обновляет список доступных версий пакетов, но не устанавливает и не обновляет ни один из них, тогда как sudo apt-get upgrade обновляет сами пакеты, проверяя список для этого. Поэтому вы всегда должны запускать update перед upgrade.
Установка программного обеспечения
Чтобы установить пакет, имя которого вы уже знаете, нужно ввести следующую команду:
pi@raspberry:~ $ sudo apt-get install <имя_нужного_приложения>
Запуск программного обеспечения
Чтобы запустить программу прямо из командной строки, просто введите её имя, как показано в следующей команде:
pi@raspberry:~ $ python
Это откроет интерпретатор Python, который мы рассмотрим в следующем модуле.
Удаление программного обеспечения
Чтобы удалить программное обеспечение с вашего RPi, вы снова обращаетесь к менеджеру пакетов apt. Вот пример:
pi@raspberry:~ $ sudo apt-get remove <имя_нужного_приложения>
Однако эта команда оставляет файлы, которые каким-либо образом связаны с программой, такие как файлы конфигурации и журналы. Если вы не собираетесь использовать эти файлы каким-либо образом, вы можете удалить всё с помощью purge:
pi@raspberry:~ $ sudo apt-get purge <имя_нужного_приложения>
Не удаляйте ни один пакет, который вы не устанавливали сами, если вы не абсолютно уверены, что знаете, для чего он нужен. Это может быть необходимый пакет, поставляемый с ОС Linux, и его удаление может привести к сбою системы.
Изменение настроек Raspberry Pi по умолчанию
Для изменения конфигурации Raspberry Pi можно использовать инструмент, написанный Алексом Брэдбери. Чтобы открыть инструмент настройки, просто выполните следующую команду из командной строки:
pi@raspberry:~ $ sudo raspi-config
sudo требуется, поскольку вы будете изменять файлы, которые не принадлежат пользователю pi.
Вы должны увидеть синий экран с параметрами в сером поле по центру:
raspi-config предназначен для предоставления функциональности для внесения наиболее распространённых изменений в конфигурацию. Имейте в виду, что некоторые параметры требуют перезагрузки для вступления в силу. Если вы изменили какие-либо из них, raspi-config спросит, хотите ли вы перезагрузиться сейчас, при нажатии кнопки <Finish>.
Доступны следующие параметры:
01. Expand Filesystem (Расширение файловой системы) 02. Change User Password (Изменение пароля пользователя) 03. Boot Options (Параметры загрузки) 04. Wait for Network at Boot (Ожидание сети при загрузке) 05. Internationalisation Options (Параметры интернационализации) 06. Enable Camera (Включение камеры) 07. Add to Rastrack (Добавление в Rastrack) 08. Overclock (Разгон) 09. Advanced Options (Дополнительные параметры) 10. About raspi-config (О raspi-config)
Большинство настроек говорят сами за себя, и для этого курса вам нужно изменить только одну настройку (как показано в следующем разделе).
Расширение файловой системы
Я рекомендую расширить файловую систему.
Выбор пункта 1 из меню raspi-config расширит вашу установку на весь объём microSD-карты, предоставив вам больше места для файлов.
Примечание: для этого потребуется перезагрузить Raspberry Pi. Обратите внимание, что подтверждение не запрашивается — при выборе этого пункта расширение раздела начнётся немедленно (как показано на рисунке ниже).
Прямо сейчас вам не нужно менять ничего другого.
Выключение и перезагрузка
Существуют более правильные способы выключить и перезагрузить Raspberry Pi, чем просто отключить его от сети. Отключение RPi от сети эквивалентно выключению компьютера нажатием кнопки питания или даже извлечению источника питания, что может привести к повреждению файлов.
Чтобы выключить Raspberry Pi, просто введите эту команду в командной строке:
pi@raspberry:~ $ sudo poweroff
После использования команды выключения вы увидите следующую информацию:
Для перезагрузки введите:
pi@raspberry:~ $ sudo reboot
Вот результат:
После перезагрузки вам нужно будет снова войти через SSH.
Заключение
Я рекомендую сохранить эту статью в закладки, потому что вам не нужно запоминать все эти команды наизусть.