Ubuntu знакомство с консолью

Linux - начинающим. Часть 1. Первое знакомство - Записки IT специалиста

ubuntu знакомство с консолью

ГЛАВА. Знакомство. с. Консолью. и. Терминалом. Что. такое. Терминал. и. Консоль. До этого момента нам не редко приходилось открывать Терминал и . Например, как уже упоминалось выше, серверные версии Ubuntu поставляются без графической оболочки. С помощью Для работы консоли графическая оболочка не нужна совсем. Именно так Более глубокое знакомство. По сложившейся традиции первая программа будет просто выводить в консоли приветствие «Hello world!» – «Здравствуй Мир!».

Самое время познакомиться с термином точка монтирования, который означает место файловой системы, куда подключается устройство хранения данных. После чего перенести туда все пользовательские данные. В Linux всё есть файл: Не будем вдаваться в подробности, а разберем несколько простых примеров. Скажем, нужно создать образ оптического диска. Берем соответствующий инструмент и копируем содержимое файла устройства в файл ISO образа: Нет ничего проще, копируем содержимое одного файла блочного устройства в файл другого блочного устройства: Другая ситуация, какое-либо ПО настоятельно ищет библиотеку lib Создаем символическую ссылку на lib Потому что все есть файл и символическая ссылка тоже тип файла.

А теперь попробуйте подсунуть Windows приложению lib Или нам нужно сохранить вывод какой-либо команды.

Краткое знакомство с консолью

Например, команда ifconfig выведет на экран сведения о сетевых адаптерах системы: А теперь вспоминаем, что все есть файл, в том числе и устройство отображения экранпоэтому просто перенаправим стандартный поток вывода вместо экрана в нужный нам файл: Потоки и конвейер В прошлом примере мы затронули стандартный поток вывода. В Linux существуют стандартные для всех процессов потоки ввода-вывода данных stdin, stdout и поток вывода ошибок stderr.

Как минимум то, что процесс обмена данными между различными процессами стандартизован. Это позволяет создавать конвейеры, когда стандартный поток вывода одной команды передается стандартному потоку ввода. Например, мы хотим посмотреть список установленных пакетов в системе, в частности пакеты squid. Для этой цели есть команда: Это что такое и как тут что-то понять? На экране быстро промелькнули сведения о всех установленных в системе пакетах и все что мы можем видеть, это "хвост" этого вывода: Но ведь нам и не нужен весь вывод этой команды, нас интересуют исключительно пакеты squid.

Поэтому направим вывод этой команды на ввод другой, которая уже отберет и покажет то, что нам нужно: Причем конвейер может быть сколь угодно длинным, результат работы одной команды можно передавать второй, от второй к третьей и. Еще один пример из жизни. Вам надо получить все строки вашего конфигурационного файла squid, но без комментариев и пустых строк, чтобы, например, выложить на форуме или отправить другу.

Можно конечно скопировать все, но вряд-ли кто-то захочет вам помогать, прокручивая полотно стандартного файла squid. Просто и понятно, все опции как на ладони. Это стало возможным в результате использования конвейера трех команд, первая вывела в поток содержимое файла, вторая отобрала все строки кроме комментариев, а третья удалила пустые, результат мы направили в файл.

И это надо помнить! Потому что, в отличие от Windows, myfile. TXT - это три разных файла.

ubuntu знакомство с консолью

В целях совместимости с другими системами не стоит этим злоупотреблять и хранить файлы, имя которых отличается только регистром, а хорошим тоном считается использование в именах только строчных букв. Расширения и типы файлов В Windows системах тип файла определяется его расширением, если мы переименуем exe-файл в jpg, то он не запустится, и система будет пытаться обработать его как картинку.

В Linux тип файла определяется по его содержимому и расширение используется исключительно для совместимости с другими системами или для удобства пользователя. Возможность исполнения файла обеспечивается установкой соответствующего атрибута. Так в Windows чтобы сделать скрипт исполняемым, надо было изменить расширение с txt на bat, в Linux для этого нужно сделать файл исполняемым. Непонимание этого момента приводит к ситуациям, когда начинающий администратор не понимает, почему его скрипт myscript.

На самом деле расширение. Позвольте, скажет иной читатель, это ведь сколько всего надо помнить: Тут нужно справочник покупать или всегда интернет под рукой держать Вовсе нет, достаточно помнить названия команд, это как раз несложно, по сложившимся в UNIX традициям, командам дают короткие и удобные имена. В данной консоли можно выполнять различные команды и программы. Можно просто выполнить приложение с аргументами, например: Таким образом, мы познакомились с командой cat и перенаправлением вывода в файл.

Команды в консоли имеют вид: Если аргумент содержит пробел, то его можно заключить в двойные кавычки об одинарных позже.

С чего начать обучение на Ubuntu?

Более сложные команды мы рассмотрим в следующих статьях. Я не хочу дублировать массу руководств по работе с терминалом, а лишь перечислю те команды и приёмы, которые, на мой взгляд, являются наиболее нужными и интересными.

Приглашение консоли сопровождает нас при работе в консоли. У меня приглашение выглядит так: Это очень полезное упрощение, позволяющее нам не писать полный путь каждый раз при выполнении разных команд. Для этого надо добавить новый путь в системную переменную PATH. Но давайте пока не будем отвлекаться от главной темы.

ubuntu знакомство с консолью

Переменные окружения — это отдельный разговор. Теперь рассмотрим, что же делает программа gcc. Её работа включает три этапа: Препроцессор включает в основной файл содержимое всех заголовочных файлов, указанных в директивах include. В заголовочных файлах обычно находятся объявления функций, используемых в программе, но не определённых в тексте программы. Их определения находятся где-то в другом месте: Вторая стадия — компиляция.

Шаг 6: Краткое знакомство с консолью / Habr

Результат сохраняется в объектном файле. Разумеется, на машинах с разной архитектурой процессора двоичные файлы получаются в разных форматах, и на одной машине невозможно запустить бинарник, собранный на другой машине разве только, если у них одинаковая архитектура процессора и одинаковые операционные системы.

Вот почему программы для UNIX-подобных систем распространяются в виде исходных кодов: Последняя стадия — компоновка.

Она заключается в связывании всех объектных файлов проекта в один, связывании вызовов функций с их определениями, и присоединением библиотечных файлов, содержащих функции, которые вызываются, но не определены в проекте. В результате формируется запускаемый файл — наша конечная цель.