Linux что нужно знать разработчику

Обновлено: 05.07.2024

Руководитель проектов Дмитрий Мирошниченко специально для «Нетологии» составил список консольных команд, которые пригодятся начинающему веб-разработчику.

Веб-разработчикам рано или поздно приходится работать с сервером на Linux. Рассмотрим основные команды, которые понадобятся новичкам, на основе Linux дистрибутива Debian.

Работа в линуксе для меня — это, прежде всего, работа в консоли. Если вы привыкли к графическому интерфейсу, будет сложно. Но зато потом, когда освоитесь, вы оцените, как это удобно.

Файловая система в линуксе немного отличается от виндовой. Тут нет привычных дисков С и D. Зато есть корень диска. Отмечается косой чертой / От него идет отсчет всех директорий. Например, в директории /home хранятся все домашние директории пользователей.

Для любой команды в линуксе есть встроенная справка. Вызывается man команда. Например, можно посмотреть справку по команде man.

Так выглядит встроенная справка в линуксе

В линуксе есть много способов сделать какое-либо действие. Можно пользоваться разными программами. Я рассмотрю лишь те, которыми пользуюсь сам и которые мне удобны. Для вас набор может быть другой. Помните, что это всего лишь один из вариантов.

apt-get

Основной менеджер пакетов в дебиане.

apt-get update — обновление базы пакетов

apt-cache search ключевое_слово — поиск информации в базе пакетов по названию и описанию

apt-get install пакет — установка пакета из репозитория, зависимости также подтянутся

apt-get remove пакет — удаление пакета из системы

service

Команда работы с сервисами. Их можно запускать, останавливать, перезапускать и смотреть статус работы.

service nginx restart — перезапуск Nginx

service nginx reload — применение новых конфигов без перезапуска сервера

service php7.0-fpm restart — перезапуск php-fpm обработчика

service php7.0-fpm reload — аналогично Nginx.

Php-интерпретатор, консольная версия. Полезна для запуска различных скриптов в кроне (Cron). Например, парсеров.

python

Интерпретатор для Python-скриптов. Аналогично PHP.

Менеджер для работы с файлами. Идеологически противоречит работе в голой консоли, но с ним новичкам проще работать.

Основные Linux-команды для веб-разработчика

Классический двухпанельный midnight commander в действии

Основные Linux-команды для веб-разработчика

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

Запуск заданий по расписанию. Незаменимая вещь при автоматизации.

Nginx

Быстрый веб-сервер. Я использую его на своих проектах.

В директории /etc/nginx/sites-available находятся конфигурационные файлы для сайтов.

service nginx restart перезапуск Nginx

service nginx reload — применение новых конфигов без перезапуска сервера

service nginx stop — остановка веб-сервера

Apache

Веб-сервер чуть медленнее, чем Nginx. Один из самых популярных в интернете.

Одна из ключевых особенностей — .htaccess файлы дополнительной конфигурации. Можно управлять отдельными папками. Размещаете этот файл в папке и прописываете в нём правила.

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

service apache2 restart — перезапуск Apache

service apache2 reload — применение новых конфигов без перезапуска сервера.

service apache2 stop — остановка веб-сервера

Популярная система контроля версий. Без неё невозможна современная разработка. Базовые команды можно освоить за 15 минут прямо на сайте.

rsync

Синхронизирует две директории. Можно синхронизировать директории на разных серверах через SSH.

Аналог push в git (закачать изменения на удалённый сервер):

rsync -aP

-aP — архивация трафика плюс показывать прогресс работы

/dir1 — директория, откуда нужно залить изменения

username — имя пользователя на удалённом сервере

remote_host — ip или hostname удалённого сервера

destination_directory — директория, куда нужно залить изменения

Аналог pull в git (закачать изменения на наш сервер):

-aP — архивация трафика плюс показывать прогресс работы

username — имя пользователя на удалённом сервере

remote_host — ip или hostname удалённого сервера

destination_directory — директория откуда нужно залить изменения

place_to_sync_on_local_machine — директория, куда нужно залить изменения

Чтобы исключить какие-либо директории:

Нестандартный порт можно указать через параметр -e:

Перенос файлов между серверами по протоколу ftp.

Копирование всех файлов без исключений директорий:

name — имя пользователя на удалённом сервере

to — директория, куда надо копировать файлы

from — директория, откуда надо копировать на удалённом сервере

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Копирование всех файлов, исключая директорию tmp:

name — имя пользователя на удалённом сервере

to — директория, куда надо копировать файлы

from — директория, откуда надо копировать на удалённом сервере

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Копирование файлов по одному между серверами:

name — имя пользователя на удалённом сервере

tmp/tm.sql — путь к файлу, который нужно скопировать

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

mysql

Команда для работы с базами данных. Например, можно развернуть бекап:

mysql -u username -p dbname < filename.sql

username — имя пользователя базы данных

-p — требовать ввести пароль

dbname — название базы данных

filename.sql — дамп базы данных

mysqldump

Создаёт дамп базы данных.

username — имя пользователя базы данных

-p — требовать ввести пароль

dbname — имя базы данных

filename.sql — файл с дампом базы

Создаёт и распаковывает тар архивы.

tar -cvf archive.tar file1.txt file2.jpg

-cvf — создать новый архив в файл

archive.tar — название архива

file1.txt file2.jpg — файлы, которые будут упакованы. Если нужно упаковать все файлы в директории нужно указать *

Для распаковки архива:

tar -xvf archive.tar

-xvf — распаковать архив из файла

archive.tar — название архива

unzip

unzip archive.zip — распакует архив archive.zip в текущую директорию

cp — копирование файлов и директорий.

mv — перенос файлов и директорий.

rm — удаление файлов и директорий.

chmod — изменение прав доступа на файл или директорию. Права можно задавать как цифрами в двоичной или десятичной системе счисления, так и в понятном для человека.

Основные Linux-команды для веб-разработчика

Три вариант записи прав пользователя

chown — изменение владельца файла или директории.

nano — простой текстовый редактор. Идёт по умолчанию в куче дистрибутивов. В большинстве случаев его хватает для правки конфигов.

vim — «православный» текстовый редактор. Сложный для восприятия новичками. Но если если изучить, вы будете неудержимы и вас будут уважать все линкусоиды.

bash — популярная командная оболочка. Можно писать последовательные команды для выполнения. Часто повторяемые рутинные операции хорошо писать в баш скрипты. Пусть за вас потеет машина. Основные возможности описаны на bash.im.

Python — простой и понятный язык программирования на котором можно писать всё что угодно, включая скрипты для администрирования.

Если вкратце, то это минимально необходимый набор. Буду рад вашим дополнениям в комментариях.

Все действия в операционной системе выполняются с помощью программ, поэтому многим новичкам интересно не только использовать чужие программы, а писать свои. Многие хотят внести свой вклад в кодовую базу OpenSource.

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

1. На чем пишут программы?

Исторически сложилось так, что ядро Unix было написано на языке Си. Даже более того, этот язык был создан для написания ядра Unix. Поскольку ядро Linux было основано на ядре Minix (версии Unix), то оно тоже было написано на Си. Поэтому можно сказать, что основной язык программирования для Linux это Си и С++. Такая тенденция сохранялась на протяжении долгого времени.

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

2. Библиотеки

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

Библиотеки делятся на два типа:

  • Статические - они связываются с программой на этапе компиляции, они связываются и после этого все функции библиотеки доступны в программе как родные. Такие библиотеки имеют расширение .a;
  • Динамические - такие библиотеки встречаются намного чаще, они загружены в оперативную память, и связываются с программной динамически. Когда программе нужна какая-либо библиотека, она просто вызывает ее по известному адресу в оперативной памяти. Это позволяет экономить память. Расширение этих библиотек - .so, которое походит от Shared Object.

Таким образом, для любой программы на Си нужно подключать библиотеки, и все программы используют какие-либо библиотеки. Также важно заметить, на каком языке бы вы не надумали писать, в конечном итоге все будет сведено к системным библиотекам Си. Например, вы пишите программу на Python, используете стандартные возможности этого языка, а сам интерпретатор уже является программой на Си/С++, которая использует системные библиотеки для доступа к основным возможностям. Поэтому важно понимать как работают программы на Си. Конечно, есть языки, вроде Go, которые сразу переводятся на ассемблер, но там используются принципы те же, что и здесь. К тому же системное программирование linux, в основном, это Си или С++.

3. Процесс сборки программы

Перед тем как мы перейдем к практике и создадим свою первую программу, нужно разобрать как происходит процесс сборки, из каких этапов он состоит.

Каждая серьезная программа состоит из множества файлов, это файлы исходников с расширением .c и заголовочные файлы с расширением .h. Такие заголовочные файлы содержат функции, которые импортируются в программу из библиотек или других файлов .с. Перед тем. как компилятор сможет собрать программу и подготовить ее к работе, ему нужно проверить действительно ли все функции реализованы, доступны ли все статические библиотеки и собрать ее в один файл. Поэтому, первым делом выполняется препроцессор, который собирает исходный файл, выполняются такие инструкции, как include для включения кода заголовочных файлов.

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

Далее к работе приступает компоновщик. Его задача связать объектный модуль со статическими библиотеками и другими объектными модулями. Для каждого исходного файла создается отдельный объектный модуль. Только теперь программа может быть запущена.

А теперь, давайте рассмотрим весь єтот процесс на практике с использованием компилятора GCC.

4. Как собрать программу

Для сборки программ в Linux используется два типа компиляторов, это Gcc и Clang. Пока что GCC более распространен, поэтому рассматривать мы будем именно его. Обычно, программа уже установлена в вашей системе, если же нет, вы можете выполнить для установки в Ubuntu:

sudo apt install gcc

Перед тем как мы перейдем к написанию и сборке программы, давайте рассмотрим синтаксис и опции компилятора:

$ gcc опции исходный_файл_1.с -o готовый_файл

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

  • -o - записать результат в файл для вывода;
  • -c - создать объектный файл;
  • -x - указать тип файла;
  • -l - загрузить статическую библиотеку.

Собственно, это все самое основное, что нам понадобится. Теперь создадим нашу первую программу. Она будет выводить строку текста на экран и чтобы было интереснее, считать квадратный корень из числа 9. Вот исходный код:

int main() printf("losst.ru\n");
printf("Корень: %f\n", sqrt(9));
return 0;
>

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

gcc -c program.c -o program.o


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

gcc -lm program.o -o program


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


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


Это две библиотеки загрузчика, стандартная libc и libm, которую мы подключили.

5. Автоматизация сборки

Когда мы рассматриваем программирование под Linux невозможно не отметить систему автоматизации сборки программ. Дело в том, что когда исходных файлов программы много, вы не будете вручную вводить команды для их компиляции. Можно записать их один раз, а затем использовать везде. Для этого существует утилита make и файлы Makefile. Этот файл состоит из целей и имеет такой синтаксис:

цель: зависимости
<Tab> команда

В качестве зависимости цели может быть файл или другая цель, основная цель - all, а команда выполняет необходимые действия по сборке. Например, для нашей программы Makefile может выглядеть вот так:

program: program.o
gcc -lm program.o -o program

program.o: program.c
gcc -c program.c -o program.o

Затем вам достаточно выполнить команду make для запуска компиляции, только не забудьте удалить предыдущие временные файлы и собранную программу:


Программа снова готова и вы можете ее запустить.

Выводы

Создание программ Linux очень интересно и увлекательно. Вы сами убедитесь в этом, когда немного освоитесь в этом деле. Сложно охватить все в такой небольшой статье, но мы рассмотрели самые основы и они должны дать вам базу. В этой статье мы рассмотрели основы программирования в linux, если у вас остались вопросы, спрашивайте в комментариях!

Курс программирования на Си под Linux:


Linux — высокопроизводительная и стабильная система, которая отлично работает на высоконагруженных серверах и предоставляет комфортное использование среды рабочего стола. Для ОС разработаны различные графические оболочки — например, KDE, LXDE и GNOME. Разработчик может выбрать понравившийся интерфейс. Также система довольно хорошо защищена от взлома и вирусов, так как имеет специфическую архитектуру. И хотя Linux устанавливается бесплатно, как и системные программы, это совершенно не говорит о низком качестве продукта. Проект постоянно поддерживается сообществом независимых программистов и энтузиастов-пользователей.

Распределённые файловые системы Linux делают совместную работу над файлами более быстрой и простой, а также обеспечивают дополнительную гибкость сети. Система имеет встроенную поддержку SSH для удобного управления серверами через терминал — это протокол удалённого управления компьютером. Кроме того, в дистрибутивах Linux есть Bash для чтения и запуска команд, выполнения скриптов, работы с файлами. Этот язык помогает пользователям создавать сценарии для автоматизации различных операций в процессе решения прикладных задач.

Дистрибутивы Linux устанавливаются быстро и просто. Во многих из них есть крупные репозитории программного обеспечения с открытым исходным кодом — например, в Debian GNU. У дистрибутива Fedora тоже есть преимущество — это девятимесячный цикл выпуска, в котором все новые функции включены в последнюю сборку. Пользователи могут обновить версию без переустановки. А Ubuntu совместим с Android Open Source Project, которым часто пользуются разработчики Android.

И это ещё только общие нюансы — дальше в статье мы рассмотрим 5 основных преимуществ Linux для программистов.

1. Понимание связей кода и управление ими

Linux учит пользователей самостоятельно во всём разбираться, а не безоговорочно полагаться на инструменты готовой платформы. При программировании же в других ОС разработчик обычно не задумывается, где находятся заголовочные файлы и внешние библиотеки.

В целом ничего страшного нет в том, чтобы доверять системе и не вникать в эти нюансы. Но всё же разработчику лучше научиться осмысливать процессы и понимать, что вообще происходит. И Linux в этом может здорово ему помочь — в системе всё прозрачно, в любой момент программист может углубиться в недра системы, найти и прочитать соответствующий код.

Такой навык обязательно ему пригодится в ситуациях, когда готовых решений для решения конкретной задачи не окажется. Это относится и к другим ОС. В Linux можно написать код, чтобы его потом запустить в других системах. И важно понимать, по какому принципу он компилируется.

2. Автоматизация и логичность

В Linux есть мощный терминал. С его помощью разработчик может делать всё то, что позволяет ему сделать доступ через ssh на его веб-сервер, при этом у него есть доступ к локальному. В ОС используются принципы автоматизации. Она специально сделана так, чтобы основные приложения запускались из терминала с дополнительными опциями. Есть возможность и полностью извлекать их из терминала.

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

Одну и ту же задачу можно решить вручную и затратить час, а можно использовать нужную команду терминала и потерять не более минуты своего времени. Поэтому Linux ещё и помогает значительно сократить время. Здесь главное — понять нестандартный принцип работы механизмов ОС и привыкнуть к ним.

Приведём пример. Нам нужно добавить изображение обложки к 40 файлам PDF.

Наверняка мы будем действовать по такой схеме:

  1. Запустим документ в PDF-редакторе.
  2. Откроем главный файл с обложкой.
  3. Добавим к нему документ PDF.
  4. Сохраним этот файл как новый PDF-файл.
  5. Проделаем всё это для всех старых документов PDF.

Времени выполнение такой задачи уйдёт немало, да и к тому же, процесс будет рутинным. А вот в Linux всё значительно упрощается. Требуется лишь предварительно продумать все шаги для достижения поставленной цели.

После некоторых поисков решения мы вскоре наткнёмся на команду pdftk-java и выведем простое решение:

$ pdftk A=cover.pdf B=document_1.pdf \ cat A B \ output doc+cover_1.pdf

Теперь нужно проверить, работает ли команда. Достаточно испробовать её на примере одного документа. После этого нужно будет поизучать утилиты, которые обрабатывают наборы данных.

Здесь мы обнаружим команду parallel:

/docs/ -name "*.pdf" | \ parallel pdftk A=cover.pdf B=<> \ cat A B \ output <.>.cover.pdf

В результате задача будет решена быстрее и более разумным способом. Итак, вот что здесь главное, — научиться мыслить нестандартно, ведь обработка данных происходит не по привычному принципу линейности.


3. Возможность читать открытый существующий код

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

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

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

4. Наличие набора слоёв абстракции

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

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

Есть немало подходящих инструментов в Qt и Java. Также можно использовать стеки наподобие Pulse Audio, Pipewire и gstreamer.

5. Получение прямого доступа к устройствам

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

В Linux же универсальный и понятный интерфейс. Например, все камеры разработчик видит в системе в виде устройств /dev/video0, /dev/video1 и так далее. То есть управляющей программе не требуется информация об отдельных камерах — она взаимодействует с ними через стандартный интерфейс. И к единой системе наблюдения можно подключить абсолютные любые устройства.

Запомнить

1 преимущество Linux для программистов — возможность научиться понимать связи кода, управлять ими и решать нестандартные задачи.

2 преимущество — автоматизация и логичность ОС, за счёт чего на выполнение задач уходит меньше времени.

3 преимущество — возможность читать открытый существующий код других разработчиков и таким способом развиваться.

4 преимущество — наборы слоёв абстракции в Linux, с их помощью в разы уменьшается объём работы.

5 преимущество — прямой доступ к периферийным устройствам и максимально простой интерфейс платформы.


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

Давайте я попытаюсь в этом видео объяснить почему это важно знать, всем ли это важно знать и зачем это важно знать?

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

Важно понимать, что linux это одна из самых распространенных операционных систем в мире. Возможно, вы знаете что операционная система android работает на основе операционной системы linux.

В промышленности очень широко используется эта операционная система.

Если вы будете заниматься веб-программированием каких-то контроллеров микроконтроллеров или работать с программной частью, скорее всего, в этих системах вы будете иметь дело с операционной системой linux.

Если вы работаете со сферой web-разработки с облачными решениями какими-то веб-серверами и так далее, скорее всего, там тоже вы столкнетесь с linux.

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

Почему же система linux получила такое большое распространение?

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

Эта система очень надежная, надежность которой проверено многими годами развития этой операционной системы.

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

Конечно, мы с вами привыкли к операционной системе windows, операционной системе mac os т.к. они установлены на наших ноутбуках, на наших десктопных компьютерах.

Тем не менее, доля linux в различных сферах жизни очень значительная.

Действительно, зачем же вам изучать этот linux?

Сейчас существуют очень много решений, которые позволяют вам установить и использовать что-то готовое.

Например, если мы говорим о веб-серверах, то есть готовые решения как open server, денвер, XAMP

Если мы говорим о программировании на языке python, есть такие решения как conda и другие которые позволяют установить уже готовый набор программных средств, утилит которыми вы можете пользоваться и у вас все будет работать.

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

Все настроено, все работает и причем большинство хостингов предоставляют уже готовые решения, на которых уже все установлено.

Возникает вопрос, зачем же тогда изучать linux, когда просто взял и установил готовое решение. Все работает.

Зачем же нужно знать linux, если большинство задач можно решать с помощью этих систем?

Большинство проблем могут возникнуть у вас, если вам нужно будет что-то особенное.

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

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

Здесь уже сложности.

Либо вам нужны особые настройки какого-то системного программного обеспечения.

В таких ситуациях достаточно сложно обойтись этими готовыми решениями, о которых я только, что говорил.

В этих ситуациях от вас требуется понимание самого процесса работы с операционной системой linux.

Это базовые вещи, которые должен, как я считаю, знать каждый программист. Конечно, глубоко погружаться в эту сферу не нужно, но, хотя бы, базовые знания о работе с операционной системой linux должны быть у каждого веб-программиста.

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

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

Если у вас нет ясности в этом вопросе, вы будете просто подвисать в этом.

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

В принципе, какие-то базовые вещи можно делать и без знания linux, но знания linux дает вам значительное конкурентное преимущество перед другими специалистами. Может сэкономить вам время в сфере, в которой мы с вами работаем

Надеюсь, что я вас убедил и вы хотели бы дальнейшем обучаться linux.

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

Читайте также: