Всё что нужно знать о Linux

Linux Обзоры

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

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

Ядро Linux можно использовать, изменять и распространять бесплатно. Поэтому существует множество дистрибутивов Linux, и некоторые из основных дистрибутивов Linux — это Ubuntu, Kali Linux, Fedora и Debian. Каждый дистрибутив Linux доступен бесплатно через Стандартную общественную лицензию GNU. GNU расшифровывается как GNU Not Linux, проект Ричарда Столлмана по распространению свободного программного обеспечения через общий источник. Это набор бесплатного программного обеспечения, которое может поставляться вместе с дистрибутивами.

Хорошо известными средами являются GNOME и KDE с широко используемой оконной системой X или Wayland.

Первоначально Linux был разработан для архитектуры x86, но позже был перенесен на многие другие платформы, особенно на смартфоны. Самая распространенная мобильная операционная система, Android, основана на Linux. Более того, ядро ​​Chrome OS также основано на Linux и занимает приличную долю рынка. Linux есть в умных домах, умных телевизорах, встроенных системах и даже в игровых консолях.

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

Многие люди считают, что Linux — ненадежная или профессиональная операционная система. Однако это далеко от реальности. Фактически, Linux — одна из предпочтительных операционных систем для настройки сетевого сервера.

Linux также называют «клоном Unix», потому что между Linux и Unix есть много общего. Разница в том, что у Linux есть собственный код. Исходный код Linux является бесплатным, тогда как Unix является проприетарным. Основная цель разработки Linux — сделать его доступным для всех. Многие функции Linux делают его предпочтительным выбором по сравнению с Unix, например, более быстрое обнаружение угроз, поддержка нескольких сред рабочего стола, бесплатное использование, гибкость настройки и переносимость.

Linux — превосходная операционная система благодаря своим бесчисленным важным функциям.

Содержание
  1. Что такое Linux?
  2. 1.1 Дистрибутивы Linux:
  3. 1.2 Linux и операционная система
  4. 2. История Linux
  5. 2.1 Предпосылки
  6. 2.2 Расцвет Unix
  7. 2.3 Генезис Linux
  8. 2.4 Талисман Linux (Смокинг)
  9. 3. Воплощение Linux
  10. 4. Начало работы с Linux
  11. 4.1 Доступ к Linux через графический интерфейс
  12. 4.2 Доступ к Linux через CLI
  13. 5. Оболочка Linux
  14. 5.1 Командная строка Linux
  15. 5.2 Редактирование в интерфейсе командной строки
  16. 5.3 Управление историей команд в оболочке Linux
  17. 5.3.1 Изменение размера истории в Linux Shell
  18. 5.4 Расширение имени файла в оболочке Linux
  19. 5.5 Перенаправление в Linux Shell
  20. 5.6 Каналы в оболочке Linux
  21. 6. Сценарии и программирование оболочки
  22. 6.1 Создание переменной в сценариях оболочки
  23. 6.2 Условные выражения в сценариях оболочки
  24. 6.3 Структуры цикла в сценариях оболочки
  25. 7 файлов и каталогов Linux
  26. 7.1 Иерархия системных каталогов
  27. 7.2 Архивирование файлов
  28. 8. сред рабочего стола Linux
  29. 8.1 X оконная система
  30. 8.2 GNOME
  31. 8.3 KDE
  32. 9 Управление программным обеспечением Linux
  33. 9.1 Что такое программное обеспечение с открытым исходным кодом?
  34. 9.2 Приложения Linux
  35. 10. Безопасность
  36. 10.1 Публично-частные ключи для шифрования
  37. 10.2 Цифровая подпись
  38. 10.3 GNU Privacy Guard (GPG)
  39. 10.4 Linux с усиленной безопасностью (SELinux)
  40. 10.5 Многоуровневая безопасность (MLS) и многокатегория безопасности (MCS)
  41. 10.6 Интернет-безопасность
  42. 10.6.1 Протокол интернет-безопасности
  43. 10.6.2 Межсетевые экраны
  44. 10.6.2.1 IPtables
  45. 10.6.2.2 Правила
  46. 10.6.2.3 Цепи
  47. 10.6.3 UFW (несложный брандмауэр)
  48. 11. Системное администрирование Linux
  49. 11.1 Суперпользователь (корневой пользователь) в Linux
  50. 11.2 Задачи системного администратора Linux
  51. 12. Программирование в Linux
  52. 13. Применений Linux
  53. 14. Игры в Linux
  54. 14.1 Поддержка драйверов графического процессора для Linux
  55. Вывод

Что такое Linux?

Linux обычно называют операционной системой, которая управляет аппаратными ресурсами, подключенными к вашему компьютеру. Это ядро, которое контролирует связь между системным программным обеспечением и оборудованием. Если быть точным, Linux — это ядро, которое является основным элементом операционной системы и разработано Линусом Торвальдсом. Ядро — это небольшая программа, которая находится в памяти вашей системы и управляет всем, будь то ваш процессор, память или любое другое подключенное оборудование. Он обрабатывает основные процессы компьютера и загружается перед загрузкой.

Ядро должно управлять многими важными процессами операционной системы

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

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

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

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

1.1 Дистрибутивы Linux:

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

Фактически существует только одна версия Linux, но несколько дистрибутивов, использующих ядро ​​Linux. Существует более 600 дистрибутивов Linux. Разные компании упаковывают ядра Linux по-разному, доступ к ним можно получить на kernel.org. Некоторыми известными дистрибутивами являются Debian, Red Hat, Ubuntu, OpenSUSE и Fedora.

Многие дистрибутивы предназначены для определенной цели или задачи; например, Kali Linux специально разработан для тестирования на проникновение, такого как NmapMaltegoAircrack-ng и Metasploit Framework. Kali Linux обычно выбирают эксперты по кибербезопасности и новички, которые заинтересованы в изучении тестирования на проникновение. Точно так же Ubuntu специально разработан для пользователей, плохо знакомых с Linux и переходящих с других операционных систем. Для получения дополнительных сведений о старых и новейших дистрибутивах Linux посетите DitroWatch. Просто имейте в виду, что в дистрибутивах могут быть разные способы установки пакетов и управления ими.

1.2 Linux и операционная система

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

Теперь давайте рассмотрим разницу между Linux

Операционные системы выполняют множество задач, таких как запуск приложения, редактирование документа, изображения, видео и выполнение других вычислений. Более того, он управляет загрузкой приложений, потому что для работы они должны быть загружены в память. Как и Unix, Linux всегда была многопользовательской операционной системой. Для сравнения, Windows представила его после Windows XP. Каждый дистрибутив имеет среду по умолчанию для простоты использования.

2. История Linux

Операционные системы Linux похожи на Unix, в котором используется бесплатное ядро ​​под названием Linux, выпущенное в 1991 году. Многие операционные системы используют ядро ​​Linux, и эти операционные системы также называются дистрибутивами. Ядро Linux можно использовать бесплатно, что означает, что любой может его модифицировать, создавать операционную систему и распространять ее. Целью разработки Linux было предоставить бесплатную операционную систему для персональных компьютеров. Однако позже он был перенесен на многие другие системы, такие как смартфоны, смарт-телевизоры, системы домашней автоматизации, Chromebook и планшеты. В настоящее время в мире есть миллионы устройств, работающих под управлением Linux.

Linux быстро растет, примерно 90% инфраструктуры облачных вычислений использует Linux, а 70% смартфонов работают на базе Linux. Итак, как Linux приобрел такую ​​популярность и с чего началось путешествие? Чтобы понять это, давайте сначала посмотрим на его предысторию:

2.1 Предпосылки

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

В конце 1960-х годов AT&TGeneral Electric и MIT провели совместные исследования и разработали операционную систему под названием MULTICS. MULTICS означает Mult IPLEX I нформация и C omputing S е р в, который представил функции, такие как управление файлами, многозадачность и взаимодействие нескольких пользователей. Разработка MULTICS стала важной вехой на пути к созданию современной операционной системы.

Основная цель создания MULTICS — представить многоцелевую компьютерную операционную систему, позволяющую множеству пользователей одновременно подключаться к системе. Поэтому ее еще называют утилитой с разделением времени. Для получения подробной информации о функциях этой революционной операционной системы посетите MULTICIANS.ORG.

Хотя это были согласованные усилия трех ведущих технологических гигантов, AT&T покинула проект в 1969 году, а General Electronics продала свои акции компании HoneywellЗатем Honeywell использовала MULTICS в качестве коммерческого продукта. Это был успех и, что более важно, большой шаг к созданию продвинутой операционной системы.

2.2 Расцвет Unix

В 1969 году усилиями Кена ТомсонаДенниса Ричи и других исследователей из лаборатории AT&T Bell была создана новая операционная система под названием Unix. Кен Томсон был одним из участников проекта MULTICS, поэтому Unix включал многие функции MULTICSUnix расшифровывается как UNiplexed Information and Computing, предназначенная для работы на миникомпьютерах. Доступность и возможность многозадачности сделали Unix огромной популярностью.

Unix быстро стала одной из широко используемых операционных систем

Unix быстро стала одной из широко используемых операционных систем, заменив MULTICS. Проект MULTICS был закрыт в 1985 году по многим причинам. Однако основную причину можно отнести к «эффекту второй системы», который позволил Unix подняться и добиться коммерческого успеха.

Получив признание многих исследователей, Деннис Ричи и Кен Томсон переписали операционную систему Unix на языке C. Затем он был продан Novell и IBM. Unix также бесплатно распространялся на факультеты информатики многих университетов, поскольку Unix использовался в основном для исследовательских целей. Многие функции были добавлены исследователями из Калифорнийского университета в Беркли. Таким образом, позже университет выпустил собственную версию Unix под названием BSD или Berkeley Software Distribution. BSD также быстро добился успеха и был принят DARPA.

В середине 1980-х годов существовало две центральные операционные системы: Unix, разработанная AT&T, и BDS Unix Беркли. У обеих операционных систем были разные выпуски с более продвинутыми функциями.

2.3 Генезис Linux

Переносимость Unix принесла ему популярность и коммерческий успех. В 1990-х годах AT&T подала иск против разработчика BSD, что остановило дальнейшую разработку. А затем возникла инициатива Ричарда Столмена по разработке GNU по разработке бесплатной Unix-подобной операционной системы, но, к сожалению, она не получила поддержки сообщества. К концу 1990-х у разработчика было достаточно материала для создания ядра своей операционной системы.

В 1991 году финский ученый-компьютерщик Линус Торвальдс сообщил, что разрабатывается новое ядро ​​операционной системы. Это было хобби и личный проект Линуса Торвальдса. В 1987 году для учебных заведений была выпущена Unix-подобная операционная система MINIX. Код MINIX был доступен для исследования, но любые модификации и распространение не допускались, что подтолкнуло Линуса Торвальдса к работе над своей операционной системой для процессора 80386.

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

Linux также называют Unix-подобной операционной системой, хотя она была с открытым исходным кодом и по-прежнему строго следовала стандартам Unix. Официальный стандарт Unix-подобных операционных систем называется POSIX. Стандарт определяет, как Unix-подобная операционная система должна работать с определенными наборами правил. Итак, Linux был построен в соответствии со стандартами POSIX.

В настоящее время Linux находится под управлением Linux Foundation, и Линус Торвальдс связан с этой компанией для улучшения и развития ядра.

2.4 Талисман Linux (Смокинг)

Linux — одно из самых замечательных технологических достижений современной информатики. Это подвиг, созданный усилиями сообщества разработчиков ПО с открытым исходным кодом. Официальный талисман Linux — пингвин по имени Тукс, который также является изображением с открытым исходным кодом и нарисован Ларри Юингом в 1996 году. Именно Алан Кокс визуализировал пингвина как официального талисмана Linux. Алан Кокс был одним из разработчиков ядра Linux. Ларри Эдвин позаимствовал подсказки у Алана Кокса и нарисовал изображение пингвина в программе с открытым исходным кодом под названием GIMP. Имя Tux был придуман Джеймсом Хьюзом и производным от « T orvalds игровая U Никс».

3. Воплощение Linux

Каждая современная операционная система состоит из трех основных компонентов:

  1. Ядро
  2. Среда
  3. Файловая структура

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

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

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

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

4. Начало работы с Linux

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

Установка большинства современных дистрибутивов Linux проста из-за графического процесса установки, и установка дистрибутива Linux в вашу систему занимает всего несколько минут. Существует множество дистрибутивов Linux, но в большинстве из них процедура установки аналогична.

Другой примечательной особенностью Linux является то, что он предоставляет обширную справочную документацию. Вы можете получить доступ к онлайн-руководствам и использовать терминал для получения подробной информации о любой утилите. Более того, весь набор руководств, предоставляемых Linux Documentation Project ( LDP ), также идет в комплекте с вашим системным дистрибутивом.

4.1 Доступ к Linux через графический интерфейс

Когда вы впервые обращаетесь к Linux, загрузчик загружает ядро ​​в память, а затем в графический интерфейс пользователя. Появится экран входа в систему для ввода вашего имени пользователя и пароля для доступа и использования Linux. Эта задача выполняется через диспетчер отображения. Диспетчеры дисплеев предоставляют возможности графического входа в систему, кроме того, они отслеживают сеансы пользователя и аутентификацию входа, загружают сервер дисплея и среду сразу после успешного входа в систему. В то же время дисплей-сервер управляет графической средой и взаимодействием с файлами в Linux. X — широко используемый сервер отображения, но это может быть Wayland, современный сервер отображения с дополнительными возможностями.

Пользовательский интерфейс зависит от дистрибутива. Большинство дистрибутивов используют GNOME Display Manager (GDM) или KDE Display Manager (KDM). Если при использовании пользовательского интерфейса возникает какая-либо проблема, вы можете выйти из него, нажав клавиши CTRL + ALT + BACKSPACE или переключившись на клавиши CTRL + ALT + F1 в CLI (интерфейс командной строки). После решения проблемы вы можете вернуться к графическому интерфейсу пользователя, нажав CTRL + ALT + F7.

4.2 Доступ к Linux через CLI

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

После успешного входа в систему CLI покажет, что вы находитесь в «домашнем» каталоге, и будет ждать команды от пользователя. Интерфейс командной строки предложит знак «$», что означает, что пользователь является обычным пользователем. Если это знак числа «#», пользователь является пользователем root.

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

Для переключения пользователя выйдите из системы:

logout

Для выключения используйте:

shutdown

Чтобы принудительно завершить работу системы, нажмите и удерживайте клавиши «CTRL» и «ALT», а затем нажмите «DEL».

5. Оболочка Linux

Оболочка — ключевой компонент Linux. Небольшая программа, также известная как интерпретатор команд, получает команду в качестве входных данных и отправляет ее ядру для выполнения управляемой операции. Доступ к интерфейсу командной строки можно получить как в среде GNOME, так и в среде KDE через приложение, называемое терминалом. Оболочка позволяет пользователю напрямую взаимодействовать с ядром системы. Более того, вы также можете использовать наборы команд в сценарии Bash для выполнения задачи.

Есть много типов снарядов, таких как:

  • Bourne Shell
  • Bourne Again Shell
  • Z-Shell
  • Korn Shell
  • C-Shell

Несмотря на то, что существует несколько оболочек, широко используемой оболочкой является Bourne Again Shell или Bash, поскольку она содержит характерные особенности как оболочки Korn Shell, так и оболочки C, и входит в качестве оболочки по умолчанию во многих дистрибутивах Linux.

5.1 Командная строка Linux

Интерфейс командной строки получает ввод в текстовой форме и интерпретирует его для ядра. После запуска CLI появится знак доллара «$» (« % » для C-Shell). Вы можете ввести команду рядом со знаком «$».

Если вы наберете «ls» после знака «$», терминал отобразит файлы и папки в текущих каталогах. Многие команды имеют собственный набор параметров, также называемых флагами. Флаги добавляются к командам для улучшения их основных функций.

$ls

Для более детального вывода можно использовать различные параметры, такие как «l», параметры или флаги всегда будут начинаться с тире «-» :

$ls -l

Команды можно вводить в несколько строк, используя обратную косую черту «\».

$ls \

>-l

По аналогии:

$rm -r \

>my_folder

Команда «rm» удаляет любую папку или файл.

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

$ls ; date

Приведенная выше команда выдаст список файлов и дату в стандартном выводе. Вы можете прервать любую выполняющуюся команду, нажав «CTRL + C».

5.2 Редактирование в интерфейсе командной строки

Редактировать и изменять команды в оболочке Bash относительно просто по сравнению с другими оболочками. Каждую вводимую команду можно изменить перед выполнением. Вы можете перемещаться в любое место командной строки, удалять или вставлять любое слово или символ, особенно в сложных командах. Есть определенные ключи; например, чтобы переместиться вперед на символ, используйте клавишу направления «CTRL + F» или «ВПРАВО», а для перемещения назад на символ используйте клавишу направления «CTRL + B» или «ВЛЕВО».

Аналогичным образом, чтобы удалить символ, используйте клавишу « CTRL + D» или «DEL», а для удаления символа перед курсором используйте «CTRL + H» или «BACKSPACE».

Переместите курсор в точку, в которую вы намеревались добавить текст, переместите курсор в точку, в которую вы хотите вставить текст. Чтобы вырезать символ, используйте «CTRL + W» или «ALT + D» ; затем, чтобы вставить его, используйте «CTRL + Y». Для редактирования символов в командах будет использоваться клавиша «CTRL», а для изменения слова в оболочке будут использоваться «ALT» версии команд. Кроме того, чтобы выполнить любую команду, нажмите клавишу «ENTER». Ключи, связанные с редактированием команд, хранятся в «/ etc / inputrc». Любой пользователь может изменить ключи редактирования командной строки, изменив «/ etc / inputrc».файл. Обычно используемые клавиши для редактирования команд в оболочке упоминаются в следующей таблице:

Читайте также:  Лучший игровой мини-ПК
Клавиши управления движением Действие
CTRL + F, СТРЕЛКА ВПРАВО Чтобы переместить указатель вперед на один символ
CTRL + B, СТРЕЛКА ВЛЕВО Чтобы переместить указатель на один символ назад
CTRL + A или HOME Чтобы переместить указатель в начало команды
CTRL + E или END Чтобы переместить указатель в конец команды
ALT + F Чтобы двигаться вперед по слову
ALT + B Для перехода назад по слову
CTRL + L Чтобы очистить все

 

Редактирование ключей Действие
CTRL + D или DEL Удаляет символ, на котором находится указатель
CTRL + H или BACKSPACE Удаляет символ перед указателем
CTRL + K Обрежьте оставшуюся строку после указателя
CTRL + U Обрежьте всю строку перед положением указателя
CTRL + W Вырезать предыдущее слово
CTRL + C Вырежьте всю линию
ALT + D Отрежьте остаток слова
ALT + DEL Вырезать слово от указателя до начала
CTRL + Y Вставить вырезанный текст
CTRL + V Чтобы вставить цитируемый текст
ALT + T Переставить два соседних слова
ALT + L Нижний регистр текущего слова
ALT + U Верхний регистр текущего слова
ALT + C Сделайте слово с большой буквы

Есть еще одна примечательная особенность оболочки Bash, которая автоматически выполняет команды и пути. Автозаполнение команды можно выполнить с помощью клавиши Tab. Если несколько каталогов или файлов начинаются с одного и того же имени, дважды нажмите клавишу TAB ; оболочка запросит все каталоги, начиная с текстовой строки, указанной в команде. Функция автозаполнения также работает с пользователями, переменными и хостами.

Например, для автозаполнения каталога введите «Dow», а затем нажмите клавишу Tab, оболочка автоматически заполнит его.

$ls Dow <tab>

$ls Downloads/

Если существует несколько каталогов с одинаковым именем, только одна буква не может быть автозаполнена после одного нажатия клавиши Tab. Еще раз нажмите клавишу TAB, чтобы проверить возможные файлы. Чтобы получить список возможного автозавершения в оболочке, нажмите CTRL + R.

Ключи Действие
Вкладка Автозаполнение
Вкладка Вкладка Список возможных доработок
ALT + /, CTRL + R + / Завершение имени файла, обычный текст
ALT + $, CTRL + R + $ Вариативное завершение
ALT + ~, CTRL + ~ Завершение имени пользователя, ~ для автозаполнения
ALT + @, CTRL + R + @ Завершение имени хоста, @ для автозаполнения
ALT! +, CTRL + R +! Завершает команду и текст

5.3 Управление историей команд в оболочке Linux

Оболочка Bash также хранит историю ранее выполненных команд. Любой пользователь может просматривать выполненную команду с помощью клавиш ВВЕРХ и ВНИЗ. По умолчанию размер команд, хранимых оболочкой, составляет 500. Чтобы проверить недавно выполненные команды, введите «история» в интерфейсе командной строки:

Оболочка Bash также хранит историю ранее выполненных команд

Список клавиш для просмотра истории команд приведен ниже:

Ключ Действие
CTRL + P, КЛАВИША ВВЕРХ Просмотрите список событий
CTRL + N, КЛАВИША ВНИЗ Прокрутите список событий вниз
ALT + < Отображает первое событие
ALT +> Отображает последнее событие
CTRL + R Обратный поиск приращения
! <CommandNumber> Отображение и выполнение команды по порядковому номеру
!! Отображение / ссылка на предыдущую команду
! <персонаж> Ссылка на команду, начинающуюся с определенного символа
!?шаблон? Ссылка на команду, начинающуюся с определенного шаблона
! — CMD # CMD # Отображает ряд событий

На события также можно ссылаться с помощью символа «!» знак; вы можете использовать номер команды. Если вы его не помните, просто введите несколько первых букв команды. Например:

$!5

Или же:

$!sudo apt up

Ссылка также может быть сделана с использованием отрицательного числа. Например:

$!6

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

$!!

Историю можно редактировать, ссылаясь на событие; команды в истории также можно назвать событием. Существует два основных подхода к редактированию команд: 1. Вы можете ссылаться и редактировать в командной строке с ее возможностями редактирования, или 2. Вы также можете использовать команду «fc», чтобы открыть указанные события в текстовом редакторе. Команда «fc» помогает открывать, изменять и запускать несколько команд.

В редакторе командной строки можно использовать множество горячих клавиш для редактирования команды, как упоминалось выше. Давайте разберемся, как редактировать указанные команды с помощью «fc». Команда «fc» выводит список различных команд в редакторе и выполняет их:

$fc 3

В редакторе командной строки можно использовать

Вышеупомянутая команда ссылается на третью команду в истории, которая называется «$ HISTSIZE». Команда откроется в текстовом редакторе по умолчанию, где вы можете изменить команду. После сохранения команды будут выполнены, также можно выбрать ряд команд:

$fc 3 5

Приведенная выше команда откроет ряд команд от 3 до 5

Приведенная выше команда откроет ряд команд от 3 до 5 в текстовом редакторе по умолчанию.

5.3.1 Изменение размера истории в Linux Shell

Количество событий, которые могут храниться в истории, назначается переменной с именем «HISTSIZE», а размер по умолчанию — 500. Однако размер можно изменить на любой, назначив новое значение:

$HISTSIZE=200

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

5.4 Расширение имени файла в оболочке Linux

Ваша система может содержать сотни файлов, и невозможно запомнить имя каждого файла. В этом конкретном случае может помочь подстановка файлов. Оболочка поставляется с набором специальных символов, также известных как подстановочные знаки. И эти символы — звездочка «*», вопросительный знак «?» И квадратные скобки «[]», которые облегчают поиск отображения в файле, содержащем указанную строку символов.

Звездочку « * » можно использовать где угодно, как в начале текста, так и в конце. Например:

$ls file*

Звездочка также может использоваться с комбинацией символов:

$ls *s*y

Файлы также могут быть перечислены по их расширению с помощью звездочки «*». Например, в каталоге есть несколько изображений, и для отображения изображений определенного расширения используйте команду:

$ls *jpg

Звездочку также можно использовать для одновременного удаления нескольких файлов.

Знак вопроса «?» является более конкретным по сравнению со звездочкой «*». Знак «?» используется для соответствия ровно одному символу. Например:

$ls doc?

А квадратные скобки «[]» используются для соответствия символам внутри скобок:

$ls doc[2B]

Для диапазона:

$ls doc[13]
$ls doc[1,2,3]
Особый персонаж Действие
* Соответствует нулю или более символов
? Точно соответствует одному символу
[] Соответствует классу возможных символов

Подстановочные знаки могут быть частью имени файла; в этой ситуации используйте косую черту «\» или просто заключите ( «» ) в имя:

$ls myfile\?
myfile?

$ls “myfile?”

myfile?

Во многих случаях в именах каталогов есть пробелы. Командная строка не распознает пробел и выдает ошибку. Чтобы преодолеть это, используйте косую черту «\» или кавычки. Например:

$cd my folder

Приведенная выше команда выдаст вам ошибку. Чтобы исправить, используйте:

$cd my\ folder

Или же:

$cd “my folder”

5.5 Перенаправление в Linux Shell

Перенаправление — еще одна примечательная утилита Bash. Для перенаправления ввода, вывода в файл или команду используются операторы перенаправления:

$echo “Hello” > my_document.txt

Приведенная выше команда создаст текстовый файл, если он еще не существует в каталоге, и поместит в него текст «Hello Linux». Если «my_document.txt» уже находится в каталоге и содержит текст, новый текст заменит старый текст:

$echo “Hello! This is Linux” >> my_document.txt

В приведенной выше команде «>>» используется для добавления текста к существующим файлам. Есть еще несколько операторов перенаправления, которые упомянуты в таблице ниже:

Оператор перенаправления Действие
> Перенаправляет стандартный вывод и перезаписывает существующий контент
>> Перенаправляет стандартный вывод и добавляет существующий контент
< Перенаправляет стандартный ввод
2> Перенаправляет стандартную ошибку
2 >> Перенаправляет и добавляет стандартную ошибку

5.6 Каналы в оболочке Linux

Канал используется для отправки выходных данных одной команды в качестве входных данных второй команды, а знак «|» называется оператором канала, который также можно использовать для фильтрации:

$cat my_document.txt | grep “Linux”

Вышеупомянутая команда отправит вывод команды «cat» команде «grep», которая будет искать указанный текст в выходных данных «$ cat my_document.txt» и отображать его как стандартный вывод.

6. Сценарии и программирование оболочки

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

#! /bin/bash

echo “Hello World”

Для сценария Bash не нужен специальный редактор. Используйте любой редактор, например, nano или vim. Персонажи #! с путем к интерпретатору ( / bin / bash ) в приведенном выше скрипте называются bang или shebang. Сохраните сценарий с расширением.sh и для запуска сценария используйте команду Bash следующим образом:

$bash hello_world.sh

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

6.1 Создание переменной в сценариях оболочки

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

Упоминание типа данных не обязательно:

#! /bin/bash

my_variable = “Hello World”

echo $my_variable

Доступ к переменной можно получить с помощью знака доллара «$» :

6.2 Условные выражения в сценариях оболочки

Как и любой другой язык программирования, Bash также поддерживает условные операторы. Кроме того, Bash поддерживает как if-then, так и вложенное if-then:

#! /bin/bash

echo “Enter Number”

read my_number

if [ $my_number > 10 ]

then

echo “Number is greater than 10

else

echo “Number is smaller than 10

fi

Задайте условие в квадратных скобках после «если»

Задайте условие в квадратных скобках после «если». Обратите внимание, что оператор if должен заканчиваться на «fi». Если условие верно, будет отображаться «Число больше 10». В противном случае будет напечатано «Число не больше 10». Условная структура, используемая в Bash, приведена в таблице ниже:

Условное заявление Действие
если команда

тогда

утверждение

фи

Если команда проверки верна, if выполнит
если команда

тогда

утверждение

еще

утверждение

фи

if-then выполняется, если команда проверки верна; в противном случаебудет выполнено другое действие
если команда

тогда

утверждение

команда elif

еще

утверждение

фи

Вложенная структура if : позволяет добавлять несколько проверочных команд

Список часто используемых операторов приведен в таблице ниже:

Сравнение Действие
Для целых чисел
-экв Равный
-gt Больше чем
-lt Меньше, чем
-ge Больше и равно
-le Меньше и равно
-ne Не равный
Для струнных
знак равно Проверяет, равны ли строки
-z Проверяет, пусты ли строки
знак равно Проверьте, не равны ли строки

6.3 Структуры цикла в сценариях оболочки

Циклы — еще одна полезная структура программирования в сценариях Bash. Обычно используемые структуры цикла — это цикл, а цикл while и Bash поддерживают оба:

#! /bin/bash

echo “The numbers are”

for i in  1 2 3 4 5

do

echo $i

done

Циклы - еще одна полезная структура программирования в сценариях Bash

Программа напечатает числа от 0 до 5.

#! /bin/bash

i=

echo “Number is”

while [ $i -le 5 ]

do

echo $i

((i++))

done

Выше программа реализуется с в то время цикла.

Структура петли Действие
для переменной в списке

делать

утверждение

Выполнено

дизайн for-in для просмотра списка значений
в то время как условие

делать

утверждение

Выполнено

while-do предназначен для цикла до тех пор, пока не будет выполнено указанное условие
выбрать переменную в списке

делать

утверждение

Выполнено

Создает меню

7 файлов и каталогов Linux

В Linux файлы организованы в иерархическую структуру. На файл можно ссылаться не только по имени, но и по пути. Ограничений нет, и пользователь может создать столько папок, сколько пожелает. Кроме того, пользователь может выполнять различные операции, такие как перемещение, копирование, стирание и т. Д. Обе среды рабочего стола, такие как KDE и GNOME, предоставляют функциональные возможности для выполнения ранее упомянутых действий.

Каталог можно создать с помощью команды «mkdir» ; вы можете назвать это как угодно. Лучше всего объединять слова имени каталога с помощью символа подчеркивания «_», хотя вы можете использовать кавычки или escape-последовательности, чтобы указать путь к каталогу с пробелом в его имени.

7.1 Иерархия системных каталогов

Все в Linux находится в корневом каталоге «/»; корневой каталог содержит все файлы, необходимые для системы. Например, загрузочные файлы, пакеты, временные файлы, библиотеки и т.д.

Все в Linux находится в корневом каталоге

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

Командование Действие
mkdir Создает каталог
rmdir Удаляет каталог
ls Списки каталогов
CD Изменяет каталог
pwd Показать путь к текущему каталогу
~ / путь Тильда (~) — уникальный символ, представляющий путь к домашнему каталогу.

 

Командование Действие
ls Перечисляет имена файлов и каталогов
файл кошки Отображает файл в стандартном выводе
меньше файла Отображение экрана файла по экрану, используйте клавишу «пробел» для перехода на следующую страницу.
еще файл Отображение экрана файла по экрану, используйте клавишу «пробел» для перехода на следующую страницу.
lpr файл Отправляет файл на принтер
lpq Список заданий на печать
lprm Удалить задание из очереди печати
cp Копирование файлов
rm Удалите файлы или каталог
мв Перемещение файлов

7.2 Архивирование файлов

Процесс объединения нескольких файлов в один называется архивированием файлов. В Linux существует множество утилит для архивирования. Вы также можете сжимать архивы. Архивирование и сжатие файлов очень удобны при создании резервных копий или отправке файлов через FTP через Интернет. Сжатие файлов уменьшает размер файла, что упрощает загрузку даже при более медленном подключении к Интернету. Обычно используемые утилиты архивирования и сжатия — это zip, gzip, tar и bzip.

Деготь является хорошо известная утилита архивирования, которая выступает за Tape Archive. А для сжатия архивов tar, таких как zip, gzip, bzip2 и xz, используйте следующие команды для желаемых действий:

Командование Действие
tar -cf имя файла Чтобы заархивировать файл
tar -xf имя файла Распаковать архив
gzip имя файла Чтобы сжать файл с помощью gzip
bzip2 имя файла Чтобы сжать файл с помощью bzip2
zip имя файла Чтобы сжать файл с помощью zip

Чтобы получить дополнительную информацию об утилите tar, введите «man tar» в интерфейсе командной строки.

8. сред рабочего стола Linux

Среда рабочего стола объединяет интерактивные окна и различные графические элементы, такие как значки, виджеты и панели инструментов, для создания графического пользовательского интерфейса (GUI). Это среда рабочего стола, которая определяет, как будет выглядеть операционная система.

Linux имеет множество окружений рабочего стола, которые представляют собой графические интерфейсы, используемые для связи с ядром. Это необязательно, и вы можете выполнять все задачи в интерфейсе командной строки (CLI), минималистской программе для управления ядром. Однако графический интерфейс упрощает и упрощает взаимодействие с системой. Среда рабочего стола теперь стала неотъемлемой частью любой операционной системы.

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

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

Окружение рабочего стола состоит из оконной системы и графического пользовательского интерфейса. Оконная система в Linux называется X-оконной системой, а обычными средами являются GNOME и KDE.

8.1 X оконная система

Оконная система любой операционной системы обеспечивает фундаментальную основу для рисования и отображения окон с интерактивной клавиатурой и мышью. Linux и Unix используют ту же систему X окна, или просто X. Когда дело доходит до конфигурации, системы X windows достаточно гибки. Его поддерживают практически все видеокарты. Система X Window не привязана к какому-либо конкретному интерфейсу. Он предоставляет наборы инструментов, таких как оконные менеджеры или файловые менеджеры, которые можно использовать и изменять в соответствии с любыми настройками операционной системы.

Три основных компонента завершают систему X Window. X — серверWindow System, и X — клиентСервер X поддерживает окна и аппаратного обеспечения интерактивности. Он получает входные данные от оборудования, передает их клиентским приложениям и отображает выходные данные. Клиент Х представляет собой программу, которая обменивается данными с сервером X, Xterm, Xclock и Xcalc. Чтобы получить систему X Window, необходимо установить сервер X Window. Сервер X Window можно загрузить с xfree86.org или ww.x.org.

8.2 GNOME

GNOME — хорошо известная среда рабочего стола, которая используется во многих дистрибутивах Linux. Эта простая в использовании и мощная графическая среда сокращенно называется средой сетевой объектной модели GNU. GNOME — это бесплатная среда рабочего стола, DE по умолчанию для Red Hat, Fedora и Ubuntu.

GNOME содержит все компоненты, необходимые для среды, такие как оконный менеджер, веб-браузер и файловый менеджер. Файловый менеджер, который использует GNOME, называется Nautilus. Что касается оконного менеджера, можно использовать любой оконный менеджер, совместимый с GNOME. Примечательные особенности GNOME упомянуты ниже:

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

8.3 KDE

KDE также известен как K Desktop Environment, и он также включает в себя все стандартные функции рабочего стола. KDE — это сочетание опыта работы с операционными системами MacOS и Windows. Проект KDE распространяется под общедоступной лицензией GNU. Он разработан для работы с любыми операционными системами на основе Unix, включая Linux, Solaris, HP-UX и FreeBSD. Он использует библиотеку Qt для инструментов графического интерфейса, которые разрабатывает Trolltech.

В последней версии KDE есть собственный оконный менеджер, известный как файловый менеджер Kwin и Dolphin. Панель рабочего стола, используемая в KDE, называется Kicker. KDE представляет собой комбинацию нескольких приложений, что делает его подходящей средой рабочего стола. Эти приложения упомянуты ниже:

  • KDE позволяет обрабатывать несколько рабочих пространств, также известных как действия.
  • Приложение, используемое для RSS, называется Akregator, оно позволяет читать последние статьи с различных веб-сайтов блогов.
  • Для воспроизведения аудиофайла используется приложение Amarok, а медиаплеер KDE называется
  • Для управления личной информацией KDE поставляется с приложением под названием
  • Параметры, связанные с сетью, такие как FTP, SSH, управляются с помощью мастера сети

Как и другие среды рабочего стола, KDE также обладает широкими возможностями настройки. Каждый элемент среды настраивается.

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

9 Управление программным обеспечением Linux

Приложения являются ядром любой операционной системы. Установка и удаление приложений в Linux всегда были относительно простыми. Существуют различные инструменты управления пакетами. Пакеты в Linux упакованы в специальные форматы, управление которыми осуществляется с помощью инструментов управления пакетами. Обычно используемые инструменты управления пакетами — это диспетчер пакетов Red Hat (RPM) и диспетчер пакетов Debian (DEB). Это специальные архивы для пакетов, которые содержат все файлы, зависимости и библиотеки, относящиеся к пакетам. Чтобы установить любой пакет, менеджеры пакетов также отслеживают библиотеки и зависимости других установленных пакетов при установке нового пакета, чтобы он работал без ошибок.

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

Наиболее часто используемые менеджеры пакетов перечислены ниже:

  • Менеджер пакетов Synaptic (Snap)
  • DPKG — система управления пакетами Debian
  • RPM — менеджер пакетов Red Hat
  • Менеджер пакетов Pacman (Arch Linux)
  • Менеджер пакетов Zypper (openSUSE)
  • Менеджер пакетов Portage (Gentoo)

9.1 Что такое программное обеспечение с открытым исходным кодом?

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

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

Программное обеспечение с открытым исходным кодом выпускается по общедоступной лицензии, что в конечном итоге не позволяет любому другому источнику использовать код и продавать его на коммерческой основе. Самая известная лицензия — GNU GPL. Он сохраняет авторские права на свободно распространяемое программное обеспечение. Некоторые другие лицензии, такие как Стандартная общественная лицензия ограниченного применения (LGPL), позволяют коммерческим компаниям использовать некоторые библиотеки программного обеспечения по лицензии GNU. Аналогичным образомПубличная лицензия Qt (QPL) позволяет разработчикам с открытым исходным кодом использовать библиотеки Qt; для получения подробной информации о лицензировании открытого исходного кода посетите opensource.org.

В настоящее время Linux подпадает под лицензию GNU. Многие приложения, поставляемые с дистрибутивами Linux, такие как Vim, терминал Bash, оболочка TCSH, компиляторы TeX и C ++, также являются частью программного обеспечения с открытым исходным кодом под лицензией GNU.

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

9.2 Приложения Linux

В Linux вы можете получить почти все типы приложений, будь то Office Suite, графические инструменты, инструменты разработки, веб-инструменты и сетевые инструменты. Многие приложения из Windows и macOS теперь изначально доступны в Linux. Но вы получите бесплатную альтернативу каждому приложению в операционной системе Linux. Некоторые известные приложения Linux упомянуты в списке ниже:

Офисные пакеты
LibreOffice
FreeOffice
Apache OpenOffice
Каллиграфия
OnlyOffice
Мультимедийные и графические приложения
GIMP
digiKam
Крита
Inkscape
Ритмбокс
VLC Media Player
Почтовые приложения
Thunderbird
Эволюция
Geary
Сильфид
Кольчуга Когтей
Новости приложений
Акрегатор
RSSOwl
QuiteRSS
FreshRSS

Помимо приложений, упомянутых выше, вы получите множество приложений, связанных с Интернетом, инструментов и утилит, связанных с базами данных и сетями.

10. Безопасность

Безопасность — важный аспект, о котором следует помнить при использовании любой операционной системы. Linux имеет хорошую репутацию в области безопасности, поскольку предлагает множество инструментов для шифрования данных, проверки целостности и цифровой подписи. Пакет шифрования GNUPrivacy Guard (GPG) позволяет зашифровать ваше сообщение или данные и использовать их для проверки целостности. Инструмент был представлен компанией Pretty Good Privacy (PGP), а позже стал частью PGP и OpenPGP. Любой проект может использовать OpenPGP в целях безопасности.

10.1 Публично-частные ключи для шифрования

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

Чтобы отправить зашифрованное сообщение получателю, сначала вам понадобится открытый ключ шифрования получателя. Затем получатель будет использовать свой закрытый ключ для расшифровки сообщения. В Linux у каждого пользователя может быть открытый и закрытый ключ. «GPG» используется утилита для создания открытых и закрытых ключей.

10.2 Цифровая подпись

Цифровые подписи используются для проверки целостности сообщения, полученного пользователем. Это гарантирует, что данные не будут скомпрометированы во время маршрутизации. Таким образом, цифровая подпись повышает безопасность передачи данных.

Цифровая подпись сообщения означает создание контрольной суммы с использованием хеш-алгоритма, такого как MD5SHA2 или SHA3. Алгоритм хеширования контрольной суммы сгенерирует уникальное значение, которое точно представляет сообщение. Любые изменения в сообщении изменят значение.

10.3 GNU Privacy Guard (GPG)

Большинство дистрибутивов Linux используют средства защиты конфиденциальности GNU для защиты связи. GnuPG зашифровал сообщение и поставил цифровую подпись. В то время как KMail и Thunderbird используют GnuPG для шифрования. Для выполнения любой операции GnuPG используется утилита «gpg». Чтобы сгенерировать свой ключ, используйте команду, указанную ниже:

$gpg —full-generate-key

Большинство дистрибутивов Linux используют средства защиты

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

$gpg —import user_public.key

«Пользователь-public.key» это имя файла. Ключевой файл будет иметь расширение «.key». Другие часто используемые команды «gpg» приведены в следующей таблице:

Команда GPG Действие
gpg –edit-key имя Отредактируйте ключи
gpg –sign-key имя Подписать открытый ключ закрытым ключом
gpg –delete-key имя Удалить открытый ключ из связки открытых ключей
gpg –delete-secret-key имя Удалите как открытый, так и закрытый ключ из связки открытых и закрытых ключей.
gpg –export name Экспорт определенного ключа из вашей связки ключей
gpg –import name Импортируйте ключи в вашу связку открытых ключей

10.4 Linux с усиленной безопасностью (SELinux)

В Linux было несколько утилит и инструментов для защиты конкретной службы, но не было конкретных инструментов для защиты всей среды на административном уровне. Чтобы защитить Linux, NSA (Агентство национальной безопасности) и разработчики Red Hat инициировали проект под названием Security-Enhanced Linux или SELinux. SELinux реализован не только в Red Hat, но и в других дистрибутивах, таких как Debian, Fedora, Ubuntu и т.д.

SELinux — это инструмент безопасности ядра, который упрощает реализацию защиты от неправильной конфигурации и взломанных демонов.

Для его включения требуется изменение в файле конфигурации SELinux. Чтобы отключить его, откройте его конфигурационный файл «/ etc / SELinux / config» в любом текстовом редакторе и установите для переменной SELINUX значение «disabled» :

Чтобы временно отключить SELinux, используйте:

$setenforce 

И чтобы снова включить его, используйте:

$setenforce 1

И Linux, и Unix используют дискретный контроль доступа или DAC для ограничения доступа к системе. В DAC пользователи имеют доступ к разрешениям файлов и программ. Однако у этого подхода есть слабость, если злоумышленник получает доступ к учетной записи пользователя с правами администратора для доступа ко всей системе. Чтобы исправить эту слабость, Агентство национальной безопасности (АНБ) сформировало обязательный контроль доступа (MAC), который ограничивает доступ других пользователей к объектам в операционной системе, где субъекты являются запущенными процессами, а объекты — файлами или каталогами.

10.5 Многоуровневая безопасность (MLS) и многокатегория безопасности (MCS)

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

С другой стороны, MCS (Multi-Category Security) позволяет пользователям устанавливать категории и ограничивать контроль доступа к файлам и папкам по категориям.

10.6 Интернет-безопасность

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

10.6.1 Протокол интернет-безопасности

IPsec — это протокол, используемый для шифрования связи через Интернет и защиты IP, который является частью IPV6 и также может быть реализован на IPV4. IPSec представляет собой комбинацию трех протоколов: AH (заголовок аутентификации), ESP (протокол инкапсуляции безопасности) и IKE (обмен ключами в Интернете). Его можно использовать для шифрования данных и проверки хоста и хост-сети. Через IPsec ядро ​​автоматически шифрует и расшифровывает входящий и исходящий трафик.

AH (заголовок аутентификации) гарантирует, что пакет исходит от исходного пользователя, а не от кого-то другого; ESP шифрует и расшифровывает сообщение, в то время как IKE обменивается ключами между отправителем и получателем.

10.6.2 Межсетевые экраны

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

Брандмауэры и шифрование данных — это подходы к защите интернет-соединения и предотвращению любого прямого непроверенного доступа. Хотя шифрование предотвращает компрометацию данных, аутентификация обеспечивает связь между правильным отправителем и получателем. А для защиты удаленной связи передача данных может быть зашифрована. Инструменты Secure Shell SSH могут использоваться для шифрования, а Kerberos — для аутентификации пользователей.

10.6.2.1 IPtables

IPtable утилита используется для фильтрации пакетов, который является надежным способом быстро настроить брандмауэр для системы. Iptables — это комбинация таблиц, цепочек и правил. Есть пять столов, а также три основные таблицы фильтра ТаблицаТаблица NAT, и MANGLE Таблица :

  • Таблица фильтров: это таблица по умолчанию, используемая для фильтрации пакетов. Он решает, разрешено ли пакету достичь места назначения или отбросить его.
  • Таблица NAT: называемая преобразованием сетевых адресов, определяет правило для изменения адресов источника и назначения пакета для его маршрутизации в соответствии с настройкой NAT.
  • Таблица MANGLE: Эта таблица используется для изменения IP-заголовка пакета путем изменения TTL (времени жизни) пакета.
  • Таблица RAW: Эти таблицы предназначены для отслеживания соединений.
  • Таблица БЕЗОПАСНОСТИ: Эта таблица используется для установки SELinux и тегирования пакета.

10.6.2.2 Правила

Правила — это команды, которые используются для изменения сетевого трафика. Каждый пакет будет проверяться на основании правила.

10.6.2.3 Цепи

Цепочки — это правила, которые обрабатываются по порядку. В IPtable пять цепочек :

  • Предварительная маршрутизация:эта цепочка применяется к пакету еще до входа в маршрутизацию.
  • Вход:пакет поступает в систему маршрутизации.
  • Вперед:прямая цепочка применяется, когда пакет проходит через вашу систему.
  • Вывод:цепочка вывода применяется ко всем исходящим пакетам.
  • Пост-маршрутизация:цепочка пост-маршрутизации применяется, когда пакет завершает свою маршрутизацию.

Каждый пакет должен пройти через правила цепочки от предварительной до пост-маршрутизации по порядку.

10.6.3 UFW (несложный брандмауэр)

UFW — это интерфейс для управления правилами брандмауэра во многих дистрибутивах Linux. Это довольно простая, удобная утилита, также доступная в форме графического интерфейса пользователя. Основная цель разработки UFW — упростить использование IPtables. Он предоставляет брандмауэры как IPV4, так и IPV6 на основе хоста.

11. Системное администрирование Linux

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

11.1 Суперпользователь (корневой пользователь) в Linux

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

Если вы используете систему как обычный пользователь, переключитесь на пользователя root для выполнения любой задачи системного администрирования. Для этого есть команда «su», также известная как «переключить пользователя» или «sudo», что означает «суперпользователь делать ».

11.2 Задачи системного администратора Linux

Другие задачи системного администрирования упомянуты ниже:

  • Пользователи: пользователь root может управлять всеми пользователями, подключенными к системе. Пользователи root также управляют правами доступа каждого пользователя.
  • Файловые системы: файлы хранятся на ваших устройствах хранения, таких как жесткие диски, CD-ROM и USB-накопители. Управление файловыми системами включает в себя подключение устройств хранения, создание разделов, резервное копирование, форматирование и проверку проблем с файловой системой.
  • Устройства: все устройства, такие как принтеры и DVD-диски, подключаются к операционной системе через специальный файл, называемый файлами устройств. Файл устройства — это драйвер устройства, помещенный в каталог «/ etc / dev», и для управления устройством вам необходимо настроить правила «udev», диспетчер устройств для добавления или удаления устройств в каталоге «/ dev».
  • Ядро: ядро также управляет взаимодействием устройств ввода-вывода и операционных систем и защищает систему от неисправного оборудования. Ядро выполняет большинство задач автоматически. Однако для добавления нового устройства вам может потребоваться настроить ядро, что также называется компиляцией ядра.

12. Программирование в Linux

Linux поддерживает все языки программирования, большинство языков имеют встроенную поддержку, а некоторые из них портированы. Основной инструмент для создания приложений Linux называется GNU Compiler Collection (GCC). GCC поддерживает языки программирования Ada, C, C ++, Go и Fortran. Языки, которые имеют кросс-платформенную реализацию, — это PHP, Ruby, Python, Java, Perl и Rust.

«Интегрированные среды разработки», поддерживаемые Linux, перечислены в следующем списке:

  • CodeLite
  • Затмение
  • ActiveState Komodo
  • KDevelop
  • Лазарь
  • MonoDevelop
  • NetBeans
  • Qt Creator

13. Применений Linux

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

Основные области, в которых Linux довольно популярен, упомянуты ниже:

  • Веб-обслуживание: значительный процент веб-сайтов в Интернете использует сервер Apache, сервер с открытым исходным кодом и в основном работает под управлением Linux. По оценкам, 60% веб-серверов используют Linux.
  • Сеть:Linux является предпочтительным выбором для работы в сети во многих малых и крупных организациях.
  • Базы данных: безопасный и надежный характер Linux делает его идеальным выбором для баз данных.
  • Настольные компьютеры: Хотя на большом рынке настольных компьютеров доминирует
    операционная система Windows, парадигма меняется. Linux становится популярным, и его доля на рынке также растет.
  • Мобильное устройство: Android, самая популярная и широко используемая операционная система для смартфонов, также основана на Linux. Доля Android на рынке превышает 70%, что добавляет Linux в список широко используемых операционных систем.

Кроме того, Linux была предпочтительной операционной системой в киноиндустрии. Анимационные студии, такие как Pixar и Dreamwork Animations, используют Linux.

14. Игры в Linux

Игры — это форма развлечения, и в мире насчитывается около 2,8 миллиарда игроков и более двух тысяч компаний, занимающихся разработкой игр. На игровом рынке преобладают персональные компьютеры на базе Windows и игровые консоли, такие как PlayStation и Xbox.

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

Steam, популярная онлайн-платформа для распространения игр для ПК, изначально доступна для Linux. Многие игры являются нативными, и многие из них портируются на Linux. В 2018 году Valve, разработчики Steam, выпустили еще одну платформу для Linux под названием Proton. Proton обеспечивает уровень совместимости, так что в игры для Windows можно легко играть в операционной системе Linux. На ProtonDB можно просмотреть весь список поддерживаемых игр.

Графический процессор является требованием для многих современных игр, и Linux поддерживает почти все графические процессоры от известных производителей, таких как Nvidia и AMD. Таким образом, Linux с мощным процессором и графическим процессором может служить игровым ПК со многими играми, которые изначально поддерживают Linux.

14.1 Поддержка драйверов графического процессора для Linux

Существует много видеокарт, но на рынке доминируют два производителя графических процессоров, Nvidia и AMD. Драйверы для графических процессоров AMD легко доступны, потому что существуют две разные версии драйверов AMD. Один — это драйвер Radeon с открытым исходным кодом, а другой — драйвер Catalyst с закрытым исходным кодом. С другой стороны, драйверы интегрированной графики Intel имеют полностью открытый исходный код. Но когда дело доходит до Nvidia, драйверы являются проприетарными и недоступны для Linux. Сообщество разработчиков Linux с открытым исходным кодом создало собственные драйверы, поддерживающие графические процессоры Nvidia, которые называются nouveau. Nvidia также поддерживает развитие модерна, выпуская подтверждающие документы.

Вывод

В 1991 году финско-американский инженер-программист Линус Бенедикт Торвальдс выпустил ядро ​​операционной системы под названием Linux, изначально разработанное для ПК с процессорами x86. Это была личная инициатива Торвальдса. Целью создания Linux было предоставить бесплатную операционную систему, потому что в то время на рынке доминировала несвободная операционная система Unix.

Начало разработки операционной системы связано с проектом MULTICS, созданным MITGeneral Electronics и AT&T Bell Labs в середине 1960-х годов. Bell Labs из AT&T покинула проект MULTICS, а позже Кен Томпсон и Деннис Ритчи, которые были частью проекта MULTICS, создали новую операционную систему под названием Unix. Unix имела огромный успех и широко использовалась многими предприятиями и образовательными учреждениями. Калифорнийский университет в Беркли в 1977 году выпустил операционную систему под названием Berkeley Software Distribution (BSD), основанную на коде Unix, и позже на нее был подан иск от AT&T. Richards Stallman’sПроект GNU не привлек внимания сообщества разработчиков. В 1987 году Эндрю С. Таненбаум выпустил свою собственную Unix-подобную операционную систему под названием Minix для образовательных целей. Исходный код Minix (Mini-Unix) был общедоступным, но любые изменения и распространение были запрещены. Более того, Unix была слишком дорогой, что побудило Торвальдса, студента факультета информатики Хельсинкского университета, приступить к разработке ядра Linux. Наконец, 25 августа 1991 года он успешно создал ядро ​​операционной системы и разместил его в Интернете.

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

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

Доступ к Linux можно получить либо через CLI (интерфейс командной строки), либо через графический интерфейс пользователя (графический интерфейс пользователя). Ключевым компонентом операционной системы Linux является Shell, небольшая программа, которая помогает пользователю взаимодействовать с ядром с помощью команд. Существуют различные виды снарядов; обычно используется оболочка Bourne Again Shell, также известная как Bash. Bash также включает функции других оболочек, таких как Korn Shell и C Shell. Интерфейс оболочки используется для управления ядром для выполнения таких задач, как управление файлами, создание и удаление каталогов, изменение настроек Интернета, просмотр файлов и т. Д. И если вы хотите выполнить задачу с помощью нескольких команд, сценарии оболочки могут помочь в этом. Оболочку можно использовать через интерфейс командной строки и графический интерфейс.

Многим пользователям было бы немного сложно справиться с CLI. В этих случаях помогает окружение рабочего стола. Среда рабочего стола объединяет графические элементы, такие как значки, виджеты, док-станции и т. Д., И оконную систему. Широко используемые среды рабочего стола — это Gnome и KDE.

Linux имеет хорошую репутацию, когда дело касается безопасности. Linux предоставляет множество инструментов для защиты данных пользователя. Наиболее часто используемый инструмент — GNUPrivacy Guard, также известный как GPG. Кроме того, для защиты всего Linux на административном уровне используется SELinux, который является модулем безопасности уровня ядра и защищает его от неправильной настройки. Кроме того, для защиты интернет-коммуникаций используются различные протоколы, такие как IPsec, IPtables и брандмауэры.

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

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

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

Оцените статью
ПОПУЛЯРНЫЕ ТЕХНОЛОГИИ
Добавить комментарий