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

19 декабря 2018, 21:11

Для начала

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

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

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


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

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

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Олег Челбаев (sprut)
    Олег Челбаев (sprut) 10 месяцев назад

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

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

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

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

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

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

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

    tail -f logfile

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

    sudo apt-get install ccze -y

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

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

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

01 октября 2019, 07:07
"У всякого в умном дому неведомо никому" (с) Народная мудрость
15 марта 2019, 10:08
Расскажу как автоматизировать списки покупок, дел и т.д. через Home Assistant + TODOist и слать красивые списки в Telegram. Примеры из личной жизни прилагаются.
05 октября 2019, 13:03
Особенности работы видеонаблюдения у входной двери. Как добиться того, чтобы вы увидели все что нужно и не потеряли критичную информацию.
04 сентября 2019, 17:18
Измерение параметров и качества воздуха в вашей квартире или доме. Выбор детекторов и датчиков CO2, VOC, PM2.5, CO (carbon monoxide или угарного газа), дыма и газа, а также температуры и влажности.
09 сентября 2019, 15:25
В статье мы поговорим о способах применения очистителей и увлажнителей воздуха, приточной и вытяжной вентиляции, рекуперации и других вопросах связанных с чистым воздухом в вашем доме
27 сентября 2019, 17:58
HomeKit и Telegram. Проще как никогда.
01 октября 2019, 13:18
Как сделать дверной звонок в обычной квартире, где над входной дверью установлена розетка 220В для обычного звонка?
10 июня 2019, 09:32
Умный дом по низкой цене или что делать если мало денег ? Бомж-сборка ПК для бюджетного контроллера умного дома.
15 мая 2019, 08:25
Теперь ваш умный дом будет знать обстановку на улице и предупредит вас в случае затруднения движения.
27 сентября 2019, 13:14
Управление светодиондной rgb лентой с ИК пультом посредством Home Assistant.