10 основных консольных команд UNIX

19 дек. 2018 г.

Для начала

Привет! Это набор команд для тех, кто еще не знаком с командной строкой 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. Это не лучшая оболочка, но она широко распространена и обладает множеством функций, поэтому отлично подойдет в качестве отправной точки. Ниже пред­ ставлен краткий список ресурсов по теме. 

Шпаргалка по ВashРуководство пользователя Bash

Некоторые примеры для этой статьи использовались из книги Зед А. Шоу "Легкий способ выучить python" из раздела "Экспресс-курс по оболочке командной строки". 

Я могу где-то ошибиться или быть неточным, прошу простить и принимаю замечания в телеграмм. Если вам интересна тема пишите в комментарии, я дополню статью.

Всем спасибо!


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Олег Челбаев (sprut)
    Олег Челбаев (sprut) 5 месяцев назад

    Отличное начало - то что не хватает новичкам, а так ещё пара таких статей и больше вопросов по конфигам не будет =))) удачи в конкурсе =) и ждём продолжения

  2. Матюшов Сергей (Matyushov)
    Матюшов Сергей (Matyushov) 5 месяцев назад

    Однако sudo не дает полных root прав. Вообще то дает. А то про что вы пишите касается путей и прав. И все можно установить используя sudo.

    В современных дистрибутивах зачастую вообще отключают пользователя root

    Не вводите людей в заблуждения.

  3. Artem Tomshin (tweaker3)
    Artem Tomshin (tweaker3) отредактировано 4 месяца назад

    Добавлю команду tail для просмотра логов: 

    tail -f logfile

    Если установить ccze

    sudo apt-get install ccze -y

    То можно мониторить логи с подсветкой синтаксиса:

    tail -f logfile | ccze
К списку статей

Похожие статьи

15 мар. 2019 г.
Расскажу как автоматизировать списки покупок, дел и т.д. через Home Assistant + TODOist и слать красивые списки в Telegram. Примеры из личной жизни прилагаются.
15 мая 2019 г.
Теперь ваш умный дом будет знать обстановку на улице и предупредит вас в случае затруднения движения.