Список из полезных команд Linux для работы с Raspberry Pi/Orange Pi/Banana Pi

Список из полезных команд Linux для работы с Raspberry PiИногда сложно запоминать все команды Linux, которые вы используете для работы с Raspberry Pi, поэтому я создал список полезных команд, которые сделают использование Linux на Raspberry Pi намного проще. Но сначала обратите внимание на пользовательские привилегии:

Есть два пользовательских «режима», с которыми вы можете работать в Linux. Один из них — пользовательский режим с основными правами доступа, а другой — режим с правами доступа администратора (супер-пользователь или root). Некоторые задачи не могут выполняться с базовыми привилегиями, поэтому вам необходимо ввести их с привилегиями суперпользователя для их выполнения. Вы будете часто видеть префикс sudo перед командами, а это означает, что вы говорите компьютеру, чтобы он выполнял эту команду с привилегиями суперпользователя.

Альтернативой вводу sudo перед каждой командой является доступ к командной строке root, которая запускает каждую команду с привилегиями суперпользователя. Вы можете получить доступ к root режиму, введя sudo su в командной строке. После ввода sudo su вы увидите командную строку root@orangepipc:/home/orangepi#, а все последующие команды будут иметь привилегии суперпользователя.sudo su - получить доступ к root режиму (Список из полезных команд Linux для работы с Raspberry Pi)

В большинстве приведенных ниже команд есть много других полезных опций, о которых я не упоминаю. Чтобы просмотреть список всех других доступных параметров для команды, введите команду, а затем —help.Полезные команды Linux для Raspberry Pi/Orange Pi/Banana Pi

Общие команды Linux

  • apt-get update: синхронизирует список пакетов в вашей системе с списком в репозиториях. Используйте комманду перед установкой новых пакетов, чтобы убедиться, что вы устанавливаете последнюю версию.
  • apt-get upgrade: обновление всех пакетов программного обеспечения, которые вы установили.
  • clear: удаляет ранее выполняемые команды и текст с экрана терминала.
  • date: распечатывает текущую дату.
  • find / -name example.txt: ищет файл example.txt и выводит список всех каталогов, содержащих файл.
  • nano example.txt: открывает файл example.txt в текстовом редакторе Linux Nano.
  • poweroff: немедленное завершение работы.
  • raspi-config: открывает окно конфигурации — raspi-config, в которой пользователь может выполнить настройки системы. raspi-config — это инструмент конфигурации Raspberry Pi, написанная и поддерживаемая Alex Bradbury. raspi-config предназначен для Raspbian OS.
  • reboot: немедленная перезагрузка.
  • shutdown -h now: немедленное завершение работы.
  • shutdown -h 01:22: завершение работы в 1:22.
  • logout: выйти из системы.
  • startx: открывает GUI (Graphical User Interface).

Команды файлов и каталогов

  • cat example.txt: отображает содержимое файла example.txt.
  • cd /abc/xyz: команда для изменения текущего рабочего каталога на /abc/xyz.
  • cp XXX: копирует файл или каталог XXX и вставляет его в указанное место; то есть cp examplefile.txt /home/orangepi/office/ копирует examplefile.txt в текущем каталоге и вставляет его в каталог /home/orangepi/office/. Если файл отсутствует в текущем каталоге, добавьте путь к местоположению файла (то есть cp /home/orangepi/documents/examplefile.txt /home/orangepi/office/ копирует файл из каталога documents в office).
  • ls -l: перечисляет файлы в текущем каталоге вместе с размером файла, измененной датой и права доступа.
  • mkdir example_directory: Создает новый каталог с именем example_directory внутри текущего каталога.
  • mv XXX: перемещает файл или каталог XXX и вставляет его в указанное место; то есть mv examplefile.txt /home/orangepi/office/ перемещает examplefile.txt в текущем каталоге в каталог /home/orangepi/office/. Если файл отсутствует в текущем каталоге, добавьте путь к местоположению файла (то есть mv /home/orangepi/documents/examplefile.txt /home/orangepi/office/ перемещает файл из каталога documents в office). Эта команда также может использоваться для переименования файлов (но только в пределах одного и того же каталога). Например, mv examplefile.txt newfile.txt переименовывает examplefile.txt в файл newfile.txt и сохраняет его в том же каталоге.
  • rm example.txt: удаляет файл example.txt.
  • rmdir example_directory: удаляет каталог example_directory (только если он пуст).
  • rm -rf dir1: удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое.
  • scp user@192.168.0.100:/some/path/file.txt: копирует файл через SSH. Может использоваться для загрузки файла с ПК на Raspberry Pi. user@192.168.0.100 — имя пользователя и локальный IP-адрес ПК, а /some/path/file.txt — это путь и имя файла файла на ПК.
  • touch example.txt: создает новый пустой файл с именем example.txt в текущем каталоге.
  • tail examplefile.txt: просмотр последних строк файла examplefile.txt. Команда tail записывает в стандартный поток вывода содержимое файла, заданного в параметре, начиная с указанной позиции. Примеры команд:
    • tail examplefile.txt: для просмотра последних 10 строк файла;
    • tail -20 examplefile.txt: для просмотра указанного числа строк с конца файла;
    • tail -c +200 examplefile.txt | pg: для постраничного просмотра файла, начиная с двухсотого байта;
    • tail -f examplefile.txt: для отслеживания изменений файла.

Монтирование файловых систем

  • mount /dev/hda2 /mnt/hda2: монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’.
  • umount /dev/hda2: размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2.
  • fuser -km /mnt/hda2: принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем.
  • umount -n /mnt/hda2: выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске.
  • mount -o loop file.iso /mnt/cdrom: смонтировать ISO-образ.
  • mount -t vfat /dev/hda5 /mnt/hda5: монтировать файловую систему Windows FAT32.
  • mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share: монтировать сетевую файловую систему Windows (SMB/CIFS).
  • mount -o bind /home/user/prg /var/ftp/user: «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно.

Сетевые и интернет-команды Linux

  • ifconfig: выдает информацию о состоянии активных интерфейсов. Команда ifconfig — аналог IPconfig Windows, с другими ключевыми параметрами и более широким функционалом. Используется для назначения сетевого адреса, изменение настроек параметров сетевого адаптера и IP протокола. Она используется в большинстве *nix систем на этапе загрузки операционной системы для настройки сетевых интерфейсов. После этого она обычно используется только при отладке, настройке или восстановлении системы.
  • iwconfig: выдает информацию о состоянии активных беспроводных интерфейсов. iwconfig подобен ifconfig, но предназначен для беспроводных интерфейсов. Он используется для установки параметров сетевых интерфейсов, которые специфичны для беспроводных действий (например, частота). iwconfig также может быть использован для отображения этих параметров, и статистики беспроводных интерфейсов (извлекается из /proc/net/wireless).
  • iwlist wlan0 scan: выводит список доступных беспроводных сетей в настоящее время.
  • iwlist wlan0 scan | grep ESSID: используйте grep вместе с именем поля, чтобы перечислять только нужные вам поля (например, просто перечислить ESSID).
  • nmap: сканирует вашу сеть и перечисляет подключенные устройства, номер порта, протокол, состояние (открытую или закрытую) операционную систему, MAC-адреса и другую информацию.
  • ping: проверяет связь между двумя устройствами, подключенными к сети. Например, ping 192.168.0.100 отправит пакет на устройство по IP 192.168.0.100 и ждёт ответа. Она также работает с адресами веб-сайтов.
  • wget http://www.website.com/example.txt: загружает файл example.txt из интернета и сохраняет его в текущем каталоге.

Информация о системе

  • cat /proc/meminfo: отображает сведения о памяти.
  • cat /proc/partitions: показывает размер и количество разделов на SD-карте или жестком диске.
  • cat /proc/version: показывает к какому типу относится ОС.
  • cat /etc/issue: показывает версию ОС Linux.
  • arch: отобразить архитектуру компьютера.
  • uname -m: отобразить архитектуру компьютера.
  • uname -r: отобразить используемую версию ядра
  • df -h: выдает число свободных килобайтных блоков и незанятых описателей файлов в смонтированных файловых системах, используя значения соответствующих счетчиков в суперблоках.
  • dpkg --get-selections | grep XXX: показывает все установленные пакеты, относящиеся к XXX.
  • dpkg --get-selections: показывает все установленные вами пакеты.
  • free: показывает, сколько свободной памяти доступно.
  • hostname -I: показывает IP-адрес вашего Raspberry Pi, Orange Pi или Banana Pi.
  • lsusb: список USB-устройств, подключенных к плате.

Надеюсь, этот список команд сделает навигацию по Linux на вашем Raspberry Pi более эффективной и приятной. Если у вас есть другие команды, которые вы часто используете, оставьте комментарий, чтобы сообщить нам об этом!

Материалы

Raspberry Pi:Настройка/raspi-config — Онлайн справочник
IBM Knowledge Center — Просмотр последних строк файла (команда tail)
ifconfig — Википедия
DF(1) — Linux-библиотека
Очень полезные команды Linux на одном листе [Записки на полях]
42 of the Most Useful Raspberry Pi Commands

Похожие записи

Комментарии 12

  • не могу установить сторонние приложения… скачиваю-устанавливаю-пишет что нет такого файла… помогите…

  • Можно ли запитать Малинку/Апельсинку через GPIO (+5 / Ground)?
    Можно ли запустить удаленно (через SSH подключение с другого компьютера) на Малинке/Апельсинке
    netcat -l — p (какой-нибудь порт) > какой-нибудь файл.txt
    таким образом, чтобы после отключения запущенный процесс продолжал работать?
    Можно ли запустить netcat -l — p (какой-нибудь порт) > какой-нибудь файл.txt
    автоматически при включении (или после)?
    Можно ли запустить netcat -l — p (какой-нибудь порт) > какой-нибудь файл.txt
    автоматически при включении (или после) но таким образом, чтобы вместо «какой-нибудь файл» подставлялась дата и время запуска команды?
    Спасибо.

    • 1. Да, Малинку, как и Апельсинку, можно питать через GPIO, а именно пины 02 или 04 и GND

       

      2. Можно запустить любую команду в фоне, для этого нужно поступить следующим образом: перед командой пишем nohup, а после — символ &.

      nohup sudo <ваша команда> > <имя файла.log> &

      Пример:

      root@orangepipc:~# nohup ping localhost -c 10 > ping.log &
      [1] 2830
      root@orangepipc:~# nohup: ignoring input and redirecting stderr to stdout

      После нажатия на ентер получите ИД процесса — [1] 2728, таким образом можно будет «убить» этот процесс.
      Если вы потеряли этот ИД, тогда можно найти процесс по имени:

      ps ax | grep <имя/часть имени процесса >

      Пример:

      root@orangepipc:~# ps ax | grep ping
       2830 pts/0    S      0:00 ping localhost
       2832 pts/0    S+     0:00 grep --color=auto ping
      

      где 2830 и есть ИД процесса.

    • 3. Выполнить команду при запуске системы можно, для этого нужно добавить команду в файле /etc/rc.local. Рекомендуется также выполнить в фоне.
      Пример:

      #!/bin/sh -e
      #
      # rc.local
      #
      # This script is executed at the end of each multiuser runlevel.
      # Make sure that the script will "exit 0" on success or any other
      # value on error.
      #
      # In order to enable or disable this script just change the execution
      # bits.
      #
      # By default this script does nothing.
      nohup ping localhost -c 10 > /opt/ping.log &
      exit 0
      

      Результат в файле /opt/ping.log:

      root@orangepipc:~# nano /opt/ping.log
        GNU nano 2.5.3                                                    File: /opt/ping.log
      
      PING localhost (127.0.0.1) 56(84) bytes of data.
      64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.104 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.094 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.125 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.101 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.155 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.106 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.095 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=8 ttl=64 time=0.228 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=9 ttl=64 time=0.084 ms
      64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.107 ms
      
      --- localhost ping statistics ---
      10 packets transmitted, 10 received, 0% packet loss, time 8998ms
      rtt min/avg/max/mdev = 0.084/0.119/0.228/0.043 ms
      
    • 4. Что касается имени файла, можно вот так:

      nohup ping localhost -c 10 > "log$(date +'-%d-%m-%Y__%H-%M-%S').txt" &

      Результат:

      -rw-r--r--  1 root   325 Jun  5 19:41 log-05-06-2018__19-41-38.txt
  • Относительно Xeoma (если интересно).
    Как сервер я ее использовать не стал (сложновата, как мне показалось, для относительно простых задач).
    Применил MotionEYE OS. Уже готовую. Правда, пока она есть для Малинки и некоторых Апельсинок типа One. Но г-н Кризан обещает сконфигурировать ее и под Апельсинки PC/PC2.
    На GitHUB у него лежат исходники.
    https://github.com/ccrisan/motioneyeos/releases
    Применяется как сервер. Тем не менее… В Винде в браузере, на 100 мб/с (у Малинки столько же ведь?) картинки крутятся достаточно прытко, да и видео пишется , на мой взгляд, приемлемо.
    P.S. Как-нибудь я попрошу Вас рассказать о Quake Arena (пока вот так вот «в лоб» поставленная через Package manager — «тормозит»).

    • Xeoma слишком навороченная, да и не совсем «open source».
      Если MotionEYE OS запускается на Orange Pi ONE, то должна работать и на остальных платах на базе Allwinner H3, а версию для Raspberry Pi думаю, что можно запустить и на Orange Pi PC2, но не факт.
      Попробую на днях поработать с MotionEYE OS, а чуть позже и с Quake Arena.

  • Да, и хочу сказать Спасибо за Кумир.

  • Спасибо.
    Будем пробовать (и ПИНЫ , и АВТОЗАГРУЗКУ, и ФОН, и АВТОИМЯ).
    Расскажу попозже.

  • C nohup все получилось, но только без & в конце.
    С & не получается.

    • Странно, вот что тут написано: «nohup не переводит автоматически команду в фоновый режим; пользователь должен сделать это явным образом, завершив командную строку символом «&». «

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *