Взагалі важко відстежити всі корисні команди Raspberry Pi, які ми будемо часто використовувати, тому розглянемо список деяких з найбільш поширених і важливих, що зробить роботу в Linux на Raspberry Pi набагато простішою.
Примітка: існує два режими (modes), в яких ви можете працювати в Linux. Одним з них є режим з основними правами доступу, а інший режим з правами доступу адміністратора (типу супер користувача, або root). Деякі завдання не можуть бути виконані з основними правами і вам треба буде перейти в к root-режим для їх виконання. Ви часто бачитимете префікс sudoперед командами, що означає, що ви пропонуєте комп'ютеру виконати дану команду з супер повноваженнями. Іншим варіантом є доступ до командного рядка root,який запускає всі команди з суперповноваженням. Ви можете перейти в режим root, ввівши sudo suв командному рядку. Після введення sudo su, ви побачите root@raspberrypi:/home/pi# в командному рядку, і всі наступні команди можуть бути введені без префікса sudo,але матимуть повноваження суперкористувача.
Більшість команд нижче, мають багато інших корисних опцій, які в цьому занятті не пояснюються. Щоб побачити список всіх інших доступних варіантів команди, введіть команду, а потім –help.
Загальні команди
• apt-get update — оновлює версію Raspbian.
• apt-get upgrade — оновлює всі пакети програмного забезпечення, які ви встановили. Детальніше про використання інструменту apt-get (с.36).
• apt — відносно новий менеджер пакетів високого рівня для систем Debian/Ubuntu. Приклад використання: sudo apt update
• clear — очищає екран терміналу раніше запуску команд і тексту.
• date — виведення поточної дати.
• find / -name example.txt — пошук у всій системі файлу example.txt і виводення списку всіх каталогів, які містять файл.
• history – дозволяє побачити раніше використані команди або отримати інформацію про команду, яка виконується користувачем. Досвідчені користувачі знають, що історія запущених команд зберігається в файлі ~/.bash_history. Щоб команда не записувалась в історію, наберіть перед командою пробіл: [space] [command]
• killall - завершує процес з використанням його імені, наприклад, killall firefox
• man — показує сторінку керівництва для команди чи файлу (від слова manual). Щоб дізнатися більше запустіть man man, щоб переглянути сторінку керівництва команди man. Наприклад, щоб прочитати ASCII-таблицю, наберіть: man ascii
• nano example.txt — відкриває файл example.txt в «Nano» - текстовому редакторі Linux. Детальніше, як працювати в редакторі nano (c.25).
• pipes — дозволяє виведення однієї команди використати як вхідні дані для іншої команди. Символом pipes є вертикальна лінія |. Наприклад, щоб показувати тільки перші 10 записів з командою ls, це можна зробити через команду head таким чином (head за замовчуванням показує лише 10 записів): ls | head
• pkill - завершує запущений процес. Ця команда особливо корисна, коли додаток не відповідає: pkill [application_name]
• poweroff — негайне вимкнення.
• pwd — відображає ім'я поточного робочого каталогу - тобто, pwd
виведе щось на зразок /home/pi
.
• raspi-config — відкриває меню налаштування конфігурації.
• reboot — негайне перезавантаження.
• sudo — дає право дозволеному користувачу системи запустити команду як root користувач. Якщо набрали команду без sudo, а потім виявилось, що вона необхідна, наберіть: sudo !!
• shutdown -h now — негайне вимикання.
• shutdown -h 01:22 — зупинка в 1:22.
• startx — відкриває GUI (графічний інтерфейс користувача).
Команди для файлів/каталогів
• adduser і addgroup – використовуються для додавання користувача і групи в систему у відповідності з конфігурацією за замовчуванням, указаній в файлі /etc/adduser.conf, наприклад, sudo adduser pi
• cat example.txt — відображає вміст файлу example.txt.
• cd /abc/xyz — змінює поточний каталог на каталог /abc/xyz. Якщо випадково змінили директорію, то повернутися можна командою: cd -
• chmod — зазвичай використовується для зміни прав доступу до файлу. Команда chmod
може використовувати символи u
(користувач, який є власником файлу), g
(група файлів), o
(інші користувачі) і дозволи r (читання), w (запис) і x (виконання), + додає права, - забирає права. Наприклад, chmod u +x *filename*
надає дозвіл на виконання власнику файлу. Можливе використання восьмеричного формату, наприклад, якщо дозволити власнику читаи-писати-виконувати (rwx або 111 – число 7 в десятковому форматі), групі – лише читати та писати (rw- або 110 – число 6 в десятковому форматі), а іншим – лише читати (r-- або 100 – число 4 в десятковому форматі), то команда для дозволів file1 буде виглядати так: chmod 764 file1.
• chown — змінює користувача та/або групу, якій належить файл. Як правило, вона повинна бути запущена як root, використовуючи sudo, наприклад, sudo chown pi:root *filename*
змінює власника на pi
і групу на root
.
• cp XXX — копіює файл або каталог XXX, і вставляє його у вказане місце; тобто, cp examplefile.txt /home/pi/office/ копіює examplefile.txt в поточному каталозі і вставляє його в каталог /home/pi/office/. Якщо файл не знаходиться в поточному каталозі, додайте шлях розташування файлу (тобто, cp /home/pi/documents/examplefile.txt /home/pi/office/ копіює файл з каталогу documents в каталог office).
• dd — копіює файл з заданим перетворенням файлу. Часто використовується, щоб копіювати весь диск в один файл або навпаки, наприклад, dd if=/dev/sdd of=backup.img
створить резервну копію з SD-карти або USB-диска в /dev/sdd. Переконайтеся, що використовується правильний диск при копіюванні образу на карту пам'яті, бо ця команда може перезаписати весь диск.
• head filename —
відображає початок файлу і може бути використано з -n, щоб вказати кількість рядків, які показати (за замовчуванням 10), або з -c, щоб задати кількість байт.
• ls -l — отримуємо список файлів в поточному каталозі, разом з розміром файлу, датою зміни і дозволами. Використання прапора -a замість -l дає змогу переглядати файли, які починаються з . (крапки, тобто, точкові файли).
• mkdir example_directory — створює новий каталог з ім'ям example_directory всередині поточного каталогу.
• mv XXX — переміщає файл або каталог з ім'ям XXX у вказане місце. Наприклад, mv examplefile.txt /home/pi/office/ переміщує examplefile.txt з поточного каталога в каталог /home/pi/office/. Якщо файл не знаходиться в поточному каталозі, додайте шлях розташування файлу (тобто, mv /home/pi/documents/examplefile.txt /home/pi/office/ переміщує файл з каталогу documents в каталог office). Ця команда також може бути використана для перейменування файлів (але тільки в тій же директорії). Наприклад, mv examplefile.txt newfile.txt перейменовує examplefile.txt в newfile.txt, і зберігає його в тій же директорії.
• rm example.txt — видаляє файл example.txt.
• rmdir example_directory — видаляє каталог example_directory (тільки якщо він порожній).
• scp This email address is being protected from spambots. You need JavaScript enabled to view it.:/some/path/file.txt — копіює файл через SSH. Може бути використано для завантаження файлу з десктопа/ноутбука на Raspberry Pi. This email address is being protected from spambots. You need JavaScript enabled to view it. - це ім'я користувача та IP-адреса дектопа/ноутбука, а /some/path/file.txt - шлях та ім'я файлу файлу на десктопі/ноутбуці.
• tar — створення архіву або витягувати файлів з архівного файлу. Може також зменшити необхідний простір, шляхом стиснення файлу, подібно до архіву. Щоб створити стиснений файл використайте tar -cvzf *filename.tar.gz* *directory/*
Щоб витягнути вміст файлу з архіу скористайтеся tar -xvzf *filename.tar.gz*
• touch — створює новий порожній файл в поточному каталозі.
• tree — показати каталог і всі підкаталоги та файли з відступом у вигляді деревовидної структури.
• users — виводить імена всіх зкористувачів, які увійшли в систему
Команди для мережі/Інтернету
• ifconfig — використовується для перевірки стану мережевого з'єднання (щоб побачити, наприклад, чи отримав wlan0 IP-адресу).
• ip — утиліта командного рядка із пакета iproute2. Дозволяє виконати налаштування мережевої підсистеми і заменює такі утиліти, як ifconfig, route, arp. Наприклад, назначити IP-адресу інтерфейсу eth1 можна так: sudo ip addr add 192.168.56.10 dev eth1
• iwconfig — для перевірки, які мережі використовує бездротовий адаптер.
• iwlist wlan0 scan — виведення списку доступних в даний час бездротових мереж.
• iwlist wlan0 scan | grep ESSID — використовується grep разом з ім'ям поля для додавання в список тільки тих полів, які потрібні (наприклад, просто перерахувати ESSID).
• ping — запуск тестування між двома пристроями, підключеними до мережі. Наприклад, ping 10.0.0.32 пошле пакет до пристрою з IP 10.0.0.32 і буде чекати відповіді. Працює також з адресами веб-сайтів.
• wget http://www.website.com/example.txt — завантажує файл example.txt з Інтернету і зберігає його в поточній директорії.
Команди для отримання інформації про систему
• cat /proc/meminfo — показує детальну інформацію про вашу пам'ять.
• cat /proc/partitions — показує розмір і кількість розділів на карті SD або жорсткому диску.
• cat /proc/version — показує, яку версію Raspberry Pi ви використовуєте.
• df -h — відображення інформації про доступний дисковий простір.
• df / — показує, скільки вільного місця на диску.
• dpkg --get-selections | grep XXX — показує всі встановлені пакети, які пов'язані з XXX.
• dpkg --get-selections — показує всі ваші встановлені пакети.
• free — показує, скільки вільної пам'яті.
• hostname -I — показує IP-адресу вашого Raspberry Pi.
• lshw — найпростіший інструмент для отримання детальної інформації про апаратну конфігурацію машини. Для отримання найбільш повної інформації викликайте її з правами суперкористувача.
• lsusb — виведення списку апаратних USB-підключень до Raspberry Pi.
• UP key — натисканням клавіші UP буде введена остання команда, що була в командному рядку. Це швидкий спосіб виправити команди, які були записані помилково.
• vcgencmd measure_temp — показує температуру процесора.
• vcgencmd get_mem arm && vcgencmd get_mem gpu — показує розподіл пам'яті між процесором і GPU.
Детальніше як шукати інформацію про систему вашого Raspberry Pi (с.22)
Завдання та питання для перевірки
1. Створіть каталог і текстовий файл в ньому, в якому записати поточні IP-адресу та температуру процесора свого Raspberry Pi. Назвами каталогу і файлу повинно бути ваше ім’я латинськими літерами. Новостворений каталог розмістити в такому місці, щоб при віддаленому доступі до вашого Raspberry Pi будь-який користувач міг побачити ім’я його власника.
2. Створіть новий каталог на Raspberry Pi та копіюйте в нього раніше створений текстовий файл.
3. Створіть текстовий файл на робочому комп’ютері і за допомого SSH копіюйте його в каталог, створений в п.2.
4. Відкрийте зміст файла, який копіювали, за допомогою командного рядка.
5. Створіть на Raspberry Pi нового користувача з іменем pi_2 і паролем raspberry.
6. Забороніть вносити зміни в текстовий файл і перевірте, що користувач pi_2 тепер не може редагувати файл, атрибути якого ви змінили. Поясніть значення атрибутів файлу.
7. Виведіть не екран список встановлених пакетів ?
8. Змініть власника раніше створеного текстового файлу на pi_2. Чи змінились права доступу до файлу користувача pi_2 ?
9. Виведіть за допомогою термінальної команди список доступних бездротових мереж.
10. За допомогою команди nmap виконайте сканування локальної мережі.