Основы Linux для программируемых сетей и систем — исполняемые файлы, DevOps / DevNet инженер курсы Тарту

Основы Linux для программируемых сетей и систем — исполняемые файлы, DevOps / DevNet инженер курсы Тарту

В рамках сегодняшней нашей статьи мы расскажем об исполняемых файлах — эта тема входит в DevOps / DevNet инженер курсы Тарту. Скорее всего, без умения создавать такие файлы не обойдется ни один инженер программируемых сетей и систем. Более того, подобные навыки крайне важны для представителей многих других современных ИТ-профессий. Потому мы советуем пройти хотя бы базовое обучение основам системного администрирования. Тем более, что сегодня такое образование можно получить онлайн на платформе SEDICOMM University.

Что такое исполняемые файлы в Линукс, DevOps / DevNet инженер курсы Тарту

Прежде всего остального, давайте разберемся, что такое исполняемые файлы в Linux. А уже потом перейдем к рассмотрению того, как они создаются и для чего используются. Исполняемый файл в Линукс — это текстовый файл, содержимое которого интерпретируется командной оболочкой как набор команд с соответствующими опциями и аргументами.

Соответственно, в такой файл можно поместить определенную последовательность инструкций. И потом выполнять ее введением одной единственной команды — команды исполнения файла. То есть, это своего рода программирование в Linux. Чтобы узнать больше — советуем пройти наш DevOps / DevNet скачать курс Тарту. Который на практике научит вас создавать не только, но также и скрипты оболочки Линукс.

Как создать исполняемый файл в Linux

Прежде всего, давайте создадим новый файл и тут же поместив в него простейшую команду. Сделать это нам поможет команда cat, если совместить ее с перенаправлением стандартного вывода (поток 1). Вводим в командную строку команду cat > file1 и нажимаем Enter для выполнения команды. После чего вводим с клавиатуры команду echo “Hello, world!” и нажимаем комбинацию клавиш Ctrl + D для завершения ввода.

В результате у вас должен был получиться файл file1, который содержит одну текстовую строку — echo “Hello, world!”. Нашим постоянным читателям должно было стать очевидным, что файл содержит команду. Которая предназначена для выведения в командную строку текстового сообщения, указанного в кавычках. Теперь перейдем к следующему шагу.

Чтобы файл можно было выполнить — ему нужно присвоить соответствующие настройки разрешений. По умолчанию даже владелец файла имеет право лишь читать и записывать новый файл. Вводим в командную строку команду chmod u+x file1, чтобы разрешить выполнение файла владельцу.

На этом процесс создания выполняемого файла в Линукс завершен! Чтобы узнать больше о разрешениях доступа, команде chmod и многом другом — советуем пройти инженер DevOps / DevNet курсы Тарту. Или хотя бы почитать нашу прошлую статью о командах chown и chmod. Которые позволяют настраивать атрибуты файла — разрешения (Permissions) и владельца (Owner).

Как выполнить исполняемый файл в Linux

Теперь, когда у вас есть свой исполняемый файл, давайте разберемся в том, как его запускать. Стоит отметить, что сделать это можно двумя способами:

  • sh file1 — данная команда вызывает командный интерпретатор shell (позволяет запустить скрипт);
  • ./file1 — данная конструкция позволяет запустить файл в текущей директории.

При этом оба варианта приведут к тому, что команда, находящаяся в текстовом файле, будет выполнена. А именно — выведет в командную строку классическое приветствие Hello, world!

Стоит отметить, что в такой файл вы можете поместить любой набор команд. При этом их можно комбинировать с помощью символов объединения:

  • «&» — последовательное выполнение команд;
  • «&&» — последовательное выполнение, переход к следующей при условии успешного завершения предыдущей.

Также полезно использовать символ «|» для выстраивания конвейера. От последовательного выполнения команд конвейер отличается тем, что вывод предыдущей команды становится вводом следующей. Это бывает полезно, к примеру, для обработки (фильтрации, сортировки) вывода команды с целью получения более удобочитаемого результата. Чтобы узнать больше — советуем пройти наш курс DevOps / DevNet Тарту.

Команда SEDICOMM University: Академия Cisco, Linux Professional Institute, Python Institute.