Основы консоли ubuntu для ruby кодинга


На момент написание этого поста за окном март 2015 года. Уже появляются такие технологии как Oculus Rift, шлем виртуальной реальности. Но консоль по прежнему остается одним самых эффективных интерфейсов для работы с нашей системой. Если вы еще не освоили ее, то это отлично, потому что вам не составит труда сделать это!
Вы сможете погрузится в мир Ubuntu (любого дистрибутива linux) узнать много нового, но если вы хорошо знакомы с UNIX подобными системами, то все равно советую просмотреть эту статью, вдруг найдете для себе что-нибудь новое и интересное.


Основы консоли ubuntu для ruby кодинга

Хотелось сказать еще о фактах в пользу консоли, что ее популярность не падает и по сей день. Об этом говорит тот факт, что именно в Windows 10 добавят такие плюшки:
Как новая версия Powershell, которую наконец то появится пакетный менеджер, что позволит скачивать нужную программу, в одну простую команду. Также возможность и сразу установить программу без кликов по рекламным формочкам, которые так страстно желают нам подсунуть тот или иной яндексбар.

И так начнем, я достаточно давно использую gnulinux систему, попробовал много дистрибутивов, но в душе я такой же пользователь как и вы. Я расскажу какие моменты я использую, чтобы писать на руби более эффективно. Главное не тратить время в пустую и вам советую приспособиться. Потому, что во первых это интересно. А во вторых это просто и очень удобно.

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

Основные команды консоли.
Права доступа.
Дополнительные настройки.


Архитектура расположения системных директорий любого дистрибутива linux сильно отличается от Windows. Но здесь все очень упорядочено. Корневая директория / и все лежит в ней.
Например в /etc лежат все конфигурационные файлы нашей системы и некоторых программ.
В /bin и /sbin попадают все приложения.

Но большую часть времени мы будем проводить в домашней директории /home/имя_пользователя/
Сюда будет сохранятся все, с чем мы будем взаимодействовать, от различных gem'ов до конфигурационных настроек приложений которые использует пользователь. Важный момент, что если удалить приложение, то его настройки сохранятся. Много раз спасало при восстановлении системы.

По умолчанию в Ubuntu нельзя создавать пользователя root в правилах безопасности. (Конечно нет нечего не возможного :D и это более символический запрет, но без особой причины не рекомендую его нарушать) поэтому мы будем повышать нашего пользователя до прав администратора когда нам без этого не обойтись. Этим и занимается утилитка sudo.

И так перейдем в консоль/терминал нашей системы.

Список основных команд для работы с UNIX консолью, просто огромен. У каждой программы, есть множество ключей, настроек для ее запуска.

Для постоянной работы я использую этот список команд каждый день и без них не обойтись.

Где alex@alex-desktop ~ $
Это имя моего пользователя @ хост. А ~ $ указывает, что это обычный user а не root.

pwd — Возвращает в каком каталоге мы находимся,
alex@alex-desktop ~ $ pwd


ls -a - Покажет какие файлы лежат в этом каталоге
alex@alex-desktop ~ $ ls -a

ls -al - Покажет список файлов и права на их использование
alex@alex-desktop ~ $ ls -al

программа одна, а ключи разные.


cd — это программа позволяет ходить по директориям вперед и назад.
При использовании укажем директорию куда идем.

Примечание Не когда не пишите полное название файла или директории, достаточно ввести несколько первых символов и нажать клавишу tab и она допишет за вас. Если в системе окажется несколько совпадений, то при еще одном нажатии tab покажет список этих совпадений.
alex@alex-desktop ~ $ cd ruby/myblog


Также ввести в консоль повторно программу можно сделать на стрелочке (вверх) а не набирать ее снова.

Вернуться на директорию назад поможет cd и две точки.
alex@alex-desktop ~ $ cd ..


Открытие всех конфигурационных текстовых файлов поможет программа например nano или vim
alex@alex-desktop ~ $ nano ruby/mail.txt


Для просмотра файла, без его редактирование достаточно использовать cat
alex@alex-desktop ~ $ cat ruby/mail.txt


Список полезных команд на каждый день!

Основы консоли ubuntu для ruby кодинга

Права доступа

Основным моментом является что у каждой директории или файла есть права доступа.
Вам нужно обязательно разобраться с ними, в этом нет нечего сложного.
За изменение прав отвечает команда chmod (от слова change mod)
Но для начала посмотрим как узнать какие права уже стоят у нашего обьекта)

Нужно перейти в нужную директорию и выполнить:
alex@alex-desktop ~ $ ls -al

Увидим, что то такое похожее на

Основы консоли ubuntu для ruby кодинга
Слева и написаны наши права. Первый символ бывает либо d(директория), либо — это файл

Далее идет 3 группы по rwx
r -Это от слова read
w - Это от слова write
x - execute (запуск)

Первые 3(rwx) это для текущего пользователя
Вторые 3(rwx) это для группы пользователей
Третьи 3(rwx) это для остальных пользователей

Важно, где прочерк вместо символа, это значит что данный тип прав отсутствует.

Чтобы изменить права доступа используется команда chmod права путь_до_файла
alex@alex-desktop ~ $ chmod 700 ruby/mail.txt


Где каждая цифра псевдоним для каждой группы

Основы консоли ubuntu для ruby кодинга


Также интересный момент чтобы изенить права сразу у вложенных файлов в директории, понадобится использовать рекурсию (т.е ключ -R)
alex@alex-desktop ~ $chmod -R 700 mytestproject/


С помощью прав доступа любой руби скрипт, можно сделать запускаемым.
Для это нужно будет добавить к правам на скрипт +x (т.е запуск)
Предположим у нас в домашней директории лежит файл start.rb

Для его обычного бы запуска потребовалось
alex@alex-desktop ~ $ ruby start.rb

Но если добавить ее, в права запуск
alex@alex-desktop ~ $chmod +x start.rb

То можно будет запустить так
alex@alex-desktop ~ $ ./start.rb


Дополнительные настройки
Обязательно в настройках вашей системы, где настройка клавиатуры, настройте горячие клавиши на все программы, которые используете каждый день. Удобно кликнуть комбинацию на клавиатуре и не тянуться искать на рабочем столе или в выпадающем меню.
Очень удобно настраивать используя комбинацию alt + (любой символ)

В следующей статье рассмотрим какой выбрать текстовый редактор для написания ruby кода.