Для начала
Привет! Это набор команд для тех, кто еще не знаком с командной строкой Linux или Mac OS. Понимание того, что вы вводите сильно упростит настройку ваших систем автоматизации. Это статья про использование именно оболочки bash. Удачи!
Я не буду прописывать приглашения, т. к. запросы в системах UNIX настолько разнообразны, что большинство людей привыкают, что символ $ обозначает приглашение. После знака # я пишу комментарии, однако в терминале их писать не нужно.
pwd
Первая команда PWD - Print Working Directory, переводится, как вывести текущую директорию
$ pwd /Users $
cd
cd - переводится, как сменить директорию
cd ~ - это переход в домашнюю директорию
$ cd ~ $ pwd /Users/VictorPetrischev $ cd /Users/VictorPetrischev/Desktop $ pwd /Users/VictorPetrischev/Desktop $
Помните, что имена каталогов с пробелами следует помещать в кавычки. Это применимо к любой команде. Например, если у вас есть каталог Му Folder, используйте команду cd "Му Folder".
mkdir и rmdir
mkdir - make directory, создать каталог (директорию, папку - синонимы), и rmdir - remove diretory, удалить каталог (удаляет только пустые каталоги)
$ pwd $ cd ~ $ mkdir temp #Создать папку temp $ mkdir temp/stuff #Создать папку stuff в каталоге temp $ mkdir temp/stuff/things $ mkdir -p temp/stuff/things/frank/joe/alex/john #Создать ветку с директориями (/frank/joe/alex/john в папке things) $ mkdir "Folder with space" #В кавычки нужно брать название если в нем пробелы $
$ cd temp $ ls stuff $ cd stuff/things/frank/joe/alex/john/ $ cd.. $ rmdir john $ cd.. $ rmdir alex $ cd.. $ ls joe $ rmdir joe
Внимание! Если вы выполняете команду rm dir в операционной системе macOS и операция завершается неудачей (каталог остается на месте), хотя вы уверены в том, что он пуст, это означает, что в ка талоге находится файл с именем.DS_Store. В этом случае выполните команду rm -rf <каталог> (замените слово <каталог> именем удаляемого каталога)
ls
ls - вывод содержимого каталога
$ cd "Тихон Tech" $ pwd /Users/VictorPetrischev/Desktop/Тихон Tech $ ls Amperka DIY Control Temperature raspberrypi.txt Smart Home TIKHONs sofware xcode WTL_v0.0.16.370.34_mac YDXJ0979.JPG dcim log python raspbian tools.txt ultrasonic вилка Камера Хак Создать pdf из изображений.workflow $
touch
touch - создать пустой файл, например эту команду очень удобно использовать, когда вам нужно создать пустой файл без расширения с именем ssh для включения ssh по умолчанию в свежеустановленной raspbian.
$ cd temp $ touch iamcool.txt $ Is iamcool.txt $
less и cat
less и сat - команды для вывода содержимого файла. Less выводит текст разбивая на страницы или отрывки и перемещаться по тексту предполагается с помощью курсора. Cat просто отображает все содержимое файла в консоль
$ less test.txt [здесь отображается содержимое файла]
Чтобы завершить работу команды less, введите букву q (от слова quit — выход).
$ cat test.txt Текст файла выводится прямо в консоль $
rm
rm - remove, удалить
$ cd temp $ ls uncool.txt iamcool.txt neat.txt something thefourthfile.txt $ rm uncool.txt $ ls iamcool.txt neat.txt something thefourthfile.txt $ rm iamcool.txt neat.txt thefourthfile.txt $ ls something $ cp -r something newplace $ #Копирование файла $ rm something/awesome.txt $ rmdir something $ rm -rf newplace # рекурсивное удаление всех файлов в каталоге и каталога $ ls $
exit
exit - выход из оболочки, это как нажать на кнопку выключить на компьютере и потом отключить его из сети или просто выдернуть розетку (в случае закрыть терминал и прервать действия) - приближенное сравнение
Права суперпользователя
В некоторых случаях у вас не хватит прав выполнить ту или иную команду, тогда перед командой нужно ввести sudo, она дает временные root права и смотрит за тем, что бы вы не испортили систему. Однако sudo не дает полных root прав, которые например могут понадобиться при установке плагина homebridge-xiaomi-roborock-vacuum для homebridge. Тогда вам нужно зайти как пользователь root, для этого введите команду sudo su -, ВНИМАНИЕ ОПАСНОСТЬ "СЛОМАТЬ" СИСТЕМУ, ПОЛЬЗУЙТЕСЬ ROOT ПРАВАМИ С ОСТОРОЖНОСТЬЮ. Чтобы выйти из root, введите exit.
И еще команды, которые я часто использую при постройке умного дома
Подключение по ssh
$ ssh [имя пользователя]@[ip компьютера], например ssh pi@10.0.1.3
Иногда после переустановки системы на raspberry и терминал Mac OS выдает ошибку при подключении через ssh, тогда на до выполнить:
$ cd ~ $ rm.ssh/known_hosts
И подключиться снова
Для raspbian.
Обновление системы одной командой:
sudo apt-get update && sudo apt-get upgrade -y
Правильное выключение raspberry (так можно выключать и mac, почему-то таким способом он выключается намного быстрее):
sudo shutdown -h now
Руководства по Unix Bash
Оболочка командной строки, который вы пользовались, называется Bash. Это не лучшая оболочка, но она широко распространена и обладает множеством функций, поэтому отлично подойдет в качестве отправной точки.
Некоторые примеры для этой статьи использовались из книги Зед А. Шоу "Легкий способ выучить python" из раздела "Экспресс-курс по оболочке командной строки".
Я могу где-то ошибиться или быть неточным, прошу простить и принимаю замечания в телеграмм. Если вам интересна тема пишите в комментарии, я дополню статью.
Всем спасибо!
Отличное начало - то что не хватает новичкам, а так ещё пара таких статей и больше вопросов по конфигам не будет =))) удачи в конкурсе =) и ждём продолжения
Однако sudo не дает полных root прав. Вообще то дает. А то про что вы пишите касается путей и прав. И все можно установить используя sudo.
В современных дистрибутивах зачастую вообще отключают пользователя root
Не вводите людей в заблуждения.
Добавлю команду tail для просмотра логов:
Если установить ccze
То можно мониторить логи с подсветкой синтаксиса: