Фундаментальные основы linux панин. Фундаментальные основы Linux для начинающих

22.06.2022

Основы Linux

Linux вдохновлена операционной системой Unix, которая появилась в 1969 году и до сих пор используется и развивается. Многое из внутреннего устройства UNIX существует и в Linux, что является ключем к пониманию основы системы.

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

Каталоги и файловая система

Файловые системы в Linux и Unix организованы по принципу иерархической, древовидной структуры. Верхний уровень файловой системы - / или корневой каталог . Это означает что все другие файлы и каталоги (включая также другие диски и разделы) находятся внутри корневого каталога. В UNIX и Linux файлом считается все - включая жесткие диски, их разделы и съемные носители.

Например, /home/jebediah/cheeses.odt показывает полный путь к файлу cheeses.odt . Файл находится в каталоге jebediah , которая находится в каталоге home , который в свою очередь, находится в корневом каталоге (/).

Внутри корневого каталога (/) существует ряд важных системных каталогов, которые присутствуют в большинстве дистрибутивов Linux. Ниже следует список общих каталогов, которые находятся непосредственно в корневом каталоге (/):

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

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

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

    владелец

    относится к пользователю, который является владельцем файла

    группа

    относится к группе, связанной с файлом

    прочие

    относится ко всем остальным пользователям системы

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

    чтение

    файлы могут быть отображены и открыты для чтения

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

    запись

    файлы могут быть изменены или удалены

    содержимое калогов доступно для изменений

    выполнение

    исполняемые файлы могут быть запущены как программы

    каталоги могут быть открыты

To view and edit the permissions on files and directories, open the Applications → Accessories → Home Folder and right-click on a file or directory. Then select Properties . The permissions exist under the Permissions tab and allow for the editing of all permission levels, if you are the owner of the file.

To learn more about file permissions in Linux, read the file permissions page in the Ubuntu Wiki.

Терминалы

Working at the command line is not as daunting a task as you would think. There is no special knowledge needed to know how to use the command line. It is a program like everything else. Most things in Linux can be done using the command line, although there are graphical tools for most programs. Sometimes they are just not enough. This is where the command line comes in handy.

The Terminal is located in Applications → Terminal . The terminal is often called the command prompt or the shell. In days gone by, this was the way the user interacted with the computer. However, Linux users have found that the use of the shell can be quicker than a graphical method and still holds some merit today. Here you will learn how to use the terminal.

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

Основные команды

Просмотр содержимого каталогов: ls

Команда ls показывает список файлов разными цветами с полным форматированием текста

Создание каталогов: mkdir (имя каталога)

Команда mkdir создает новый каталог.

Перейти в каталог: cd (/адрес/каталога)

Команда cd позволяет перейти в любой указанный вами каталог.

Копирование файла или каталога: cp (что - имя файла или каталога) (куда - имя каталога или файла)

Команда cp копирует любой выбранный файл. Команда cp -r копирует любой выбранный каталог со всем содержимым.

Удаление файлов или каталогов: rm (имя файла или папки)

Команда rm удаляет любой выбранный файл. Команда rm -rf удаляет любой выбранный каталог со всем содержимым.

Переименовать файл или каталог: mv (имя файла или каталога)

Команда mv переименовывает или перемещает выбранный файл или каталог.

Поиск каталогов и файлов: locate (имя каталога или файла)

Команда locate позволяет найти заданный файл на вашем компьютере. Для ускорения работы используется индексация файлов. Для того чтобы обновить индекс, введите команду updatedb . Она запускается автоматически каждый день, если компьютер включен. Для запуска этой команды требуются права супер пользователя (см. «Пользователь root и командна sudo»).

Вы также можете использовать маски, чтобы указать более одного файла, такие как «*» (совпадение со всеми символами) или «?» (совпадение с одним символом).

For a more thorough introduction to the Linux command line, please read the command line introduction on the Ubuntu wiki.

Редактирование текста

All of the configurations and settings in Linux are saved in text files. Even though you most often can edit configurations through the graphical interface, you may occasionally have to edit them by hand. Mousepad is the default Xubuntu text editor, which you can launch by clicking Applications → Accessories → Mousepad on the desktop menu system.

Иногда, Mousepad запускается из командной строки с помощью приложения gksudo , которое запускает Mousepad с административными привилегиями, что позволяет изменять файлы конфигурации.

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

Nano -w

For more information about how to use nano , refer to the guide on the wiki .

There are also quite a few other terminal-based editors available in Ubuntu. Popular ones include VIM and Emacs (the pros and cons of each are cause for much friendly debate within the Linux community). These are often more complex to use than nano , but are also more powerful.

Пользователь root и командна sudo

The root user in GNU/Linux is the user which has administrative access to your system. Normal users do not have this access for security reasons. However, Ubuntu does not enable the root user. Instead, administrative access is given to individual users, who may use the "sudo" application to perform administrative tasks. The first user account you created on your system during installation will, by default, have access to sudo. You can restrict and enable sudo access to users with the Users and Groups application (see «Управление пользователями и группами» for more information).

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

Чтобы использовать sudo в командной строке, просто наберите «sudo» перед командой, которую необходимо выполнить. После этого потребуется ввести ваш пароль.

Sudo will remember your password for 15 minutes (by default). This feature was designed to allow users to perform multiple administrative tasks without being asked for a password each time.

Be careful when doing administrative tasks - you might damage your system!

Some other tips for using sudo include:

    Чтобы использовать терминал с правами супер пользователя (root), наберите «sudo -i» в командной строке

    The entire suite of default graphical configuration tools in Ubuntu already use sudo, so they will prompt you for your password if needed.

    При запуске графических приложений вместо «sudo» используется «gksudo». Это позволяет запрашивать пароль у пользователя в небольшом графическом окне. Команда «gksudo» удобна, если вы хотите установить кнопку запуска Synaptic на вашу панель или что-то подобное.

    For more information on the sudo program and the absence of a root user in Ubuntu, read the sudo page on the Ubuntu wiki.

Об этом руководстве

Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.

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



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

Введение в bash

Оболочка

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

На практике приглашение, которое вы видите, может немного отличаться. Например, оно может содержать имя хоста, имя текущей рабочей директории, или все вместе. Не зависимо от того, как выглядит ваше приглашение, есть одна несомненная вещь: программа, которая выводит это приглашение, называется оболочка интерпретатора команд (от англ. shell - оболочка, он же командная строка или терминал - прим. пер.), и, вероятнее всего, вашей командной оболочкой будет "bash".

А у вас запущен bash?

Вы можете убедиться, что используете bash, набрав:

$ echo $SHELL
/bin/bash

Если строчка выше выдает ошибку, или ответ не соответствует, возможно, что вы запустили другую оболочку. В этом случае большая часть этого руководства все еще будет полезна, но было бы значительно лучше для вас переключиться на bash, ради подготовки к экзамену 101.

О bash

Bash - это акроним от Bourne-again-shell, от англ. «ещё-одна-командная-оболочка-Борна» или «рождённая-вновь-командная оболочка» (тут игра слов Bourne/born - прим. пер.), и является оболочкой по умолчанию для большинства Linux-систем. Задача оболочки получать от вас команды, через которые вы взаимодействуете с Linux-системой. После того, как вы закончили ввод команд, вы можете выйти из оболочки (exit) или закончить сеанс (logout), в этом случае вы увидите приглашение входа в систему.

Кстати, вы также можете выйти из оболочки bash нажав control-D в приглашении.

Использование «cd»

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

$ cd /

Вы только что сообщили bash, что хотите работать в директории /, также известной, как корневая; все директории в системе имеют форму дерева, и / является его вершиной, т.е. корнем (в информатике деревья растут наоборот, корень вверху, а ветки спускаются вниз - прим. пер.). cd устанавливает директорию, в которой вы в данный момент работаете, также известную как «текущая рабочая директория».

Пути

Чтобы узнать текущую рабочую директорию в bash нужно набрать:

$ pwd
/

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

Абсолютные пути

Ниже несколько из них:

/dev
/usr
/usr/bin
/usr/local/bin

Как можно заметить, у всех абсолютных путей есть одна общая черта, они начинаются с /. Указывая, допустим, /usr/local/bin в качестве аргумента для cd, мы сообщаем, что хотим попасть в / директорию, затем в usr директорию внутри нее, и так далее в local и bin , вниз по дереву. Абсолютные пути всегда отсчитываются начиная от / сперва.

Относительные пути

Другой тип пути называется «относительный путь». bash, cd, и другие команды всегда интерпретируют их относительно текущей директории. Относительные пути НИКОГДА не начинаются с /. Так, если мы сначала переместимся в /usr :

$ cd /usr

То, затем мы можем использовать относительный путь local/bin , чтобы попасть в директорию /usr/local/bin :

$ cd local/bin
$ pwd
/usr/local/bin

Использование..

Относительные пути могут также содержать одну или более ".." директории. Директория ".." специальная; она указывает на родительскую директорию. Так, продолжая с примера выше:

$ pwd
/usr/local/bin
$ cd ..
$ pwd
/usr/local

Как видно, наша текущая директория теперь /usr/local . Мы смогли переместиться «назад» на одну директорию относительно текущей, где были до того.

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

$ pwd
/usr/local
$ cd ../share
$ pwd
/usr/share

Примеры относительных путей

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

$ cd /bin
$ cd ../usr/share/zoneinfo

$ cd /usr/X11R6/bin
$ cd ../lib/X11

$ cd /usr/bin
$ cd ../bin/../bin

А теперь наберите их и проверьте свои предположения. ;)

Понимание.

Перед тем как мы закончим изучение cd, есть несколько моментов, которые необходимо прояснить. Во-первых, есть еще одна специальная директория ".", которая означает «текущая директория». Хотя она и не используется с командой cd, но часто используется для выполнения программы из текущей директории, как в следующем примере:

$ ./myprog

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

cd и домашняя директория

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

Без каких либо аргументов cd переместит в вашу домашнюю директорию, которая будет /root для суперпользователя, или обычно /home/username (где username - имя пользователя в системе - прим.пер.) для любого другого пользователя. Но, что если мы хотим указать файл в нашей домашней директории? Может быть мы хотим передать путь к файлу в качестве аргумента нашей программе myprog . Если файл расположен в нашей домашней директории, мы можем набрать:

$ ./myprog /home/drobbins/myfile.txt

Однако, использования абсолютного пути вроде этого, не всегда удобно. К счастью, мы можем использовать символ ~ (тильда), чтобы проделать то же самое:

$ ./myprog ~/myfile.txt

Другие домашние директории пользователей

Bash воспримет одиночную ~ как указатель на вашу домашнюю директорию, но вы также можете использовать её для указания на домашние директории других пользователей. Например, если мы хотели сослаться на файл под названием fredsfile.txt в домашней директории пользователя fred , то могли бы набрать:

$ ./myprog ~fred/fredsfile.txt

Об авторах

Daniel Robbins

Дэниэль Роббинс - основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo , написал множество технических статей для IBM developerWorks , Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure .

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее - платформа HP ePrint . В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Отсутствует

Джим Уайтхёрст – президент и генеральный директор Red Hat, крупнейшей в мире корпорации, выпускающей программное обеспечение с открытым исходным кодом, – делится секретами управления высокоэффективной компанией нового типа – «открытой организацией». Эта принципиально новая модель большой компании до…

Linux Mint. Достойная замена Windows

Отсутствует

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

Отсутствует

О популярном дистрибутиве Linux Mint и о том как им пользоваться. Какие имеются приложения и как их устанавливать, а также о том, способен ли этот дистрибутив заменить Windows на домашнем компьютере.…

Отсутствует

Книга описывает процесс развертывания и администрирования сети на основе Unix-сервера и Linux-станций. Автор предлагает готовые решения для быстрой установки и настройки локальной сети. Большое количество примеров и готовых настроек позволяет использовать эту книгу в качестве практического руководс…

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

Рассмотрены практические вопросы по прокладке сети, организации сервера (Apache, Samba, DNS, DHCP) на основе операционной системы Linux и интеграции этого сервера в сетях Windows. Большое внимание уделено повседневной эксплуатации сети. Излагаются основы функционирования сетей и сетевой аппаратуры.…

Роберт Лав стоит у истоков создания операционной системы Linux. Он внес существенный вклад в создание ядра Linux и настольной среды GNOME. Эта книга представляет собой руководство по системному программированию для Linux, справочник по системным вызовам Linux, а также подробный рассказ о том, как …

Рассмотрены вопросы использования свободного программного обеспечения в качестве базы информатизации образовательного учреждения. Освещены правовые, экономические и методические аспекты перехода на свободное программное обеспечение. Обосновано значение этого процесса в формировании системы менеджме…

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

Материал привязан к последним версиям дистрибутивов Mandriva, Fedora Core, ASP Linux. В книге есть ответы практически на все вопросы, возникающие при ежедневной работе в Linux. Рассмотрены типичные ситуации: вход в систему, работа с файловой системой, использование графического интерфейса, установк…

Рассмотрена разработка приложений на языке C++ для Windows и/или Linux с применением библиотеки Qt 4, которая широко используется как в мире коммерческого, так и свободного программного обеспечения. Приведены примеры решения многих задач, с которыми сталкивается разработчик при проектировании польз…

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

Рассматривается широкий круг вопросов функционирования операционной системы UNIX, в том числе: базовые вопросы построения операционной системы, принципы организации файловой системы UNIX, учетные записи пользователей, установка, запуск и функционирование популярных операционных систем Linux, FreeBS…

Описывается установка и настройка аппаратных средств в операционной системе Linux: видеокарт, жестких дисков, оптических приводов и других основных устройств, а также принтеров, сканеров, модемов, flash-накопителей, сетевых карт и прочей периферии. При этом рассматриваются 2 варианта настройки – с …

Даны ответы на все вопросы, возникающие при работе с Linux: от установки и настройки этой ОС до настройки сервера на базе Linux. Материал книги максимально охватывает все сферы применения Linux: от запуска Windows-игр под управлением Linux до настройки собственного Web-сервера. Также рассмотрены: в…

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

Отсутствует

Данный лабораторный практикум подготовлен для студентов факультета бизнес-информатики и информационных технологий Магнитогорского государственного технического университета и ориентировано на подготовку системного администратора малой организации (SOHO) к решению вопросов конфигурирования рабочих с…

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

Отсутствует

NGINX – это высокопроизводительный сервер, который реализует функции прокси для веб-серверов и почтовых серверов и потребляет очень мало системных ресурсов. В Интернете хватает руководств по его настройке и примеров конфигураций, но при этом трудно понять, как правильно настроить NGINX для конкретн…

Аппаратная поддержка транзакционной памяти становится доступной в новейших процессорах. В статье описывается реализация набора инструкций RTM в функциональном симуляторе Wind River® Simics. Цель работы – обеспечение корректного исполнения новых инструкций и сохранение высокой скорости работы симуля…

Самоучитель системного администратора

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

Отличия Linux от Windows

Основа работы в Linux с графической средой не отличается от Windows. Но для корректной работы Linux нужно настроить.

Самые существенные отличия:

  1. Linux предназначен для продвинутых пользователей, Windows - "система для всех".
  2. Linux превосходит Windows в обработке потоков и данных.
  3. При использовании Linux можно не бояться нарушить какое-нибудь лицензионное соглашение.
  4. Любое приложение имеет собственное адресное пространство, независимое от адресного пространства ядра, что позволяет с легкостью создавать встроенные системы на основе Linux.

И это далеко неполный список преимуществ.

Преимущества Linux

Сегодня множество программистов Linux совершенствуют систему, разрабатывая новые версии и ее разновидности. Среди преимуществ можно выделить:

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

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

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

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

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

Список лучших дистрибутивов:

  1. Debian - стабильный и нетребовательный к ресурсам. Имеет огромное количество пакетов для установки. Абсолютно бесплатный.
  2. Ubuntu - менее консервативный вариант Debian. Считается одним из лучших для домашнего использования.

Для начинающих знакомство с Linux лучше всего подойдет Ubuntu, так как эта операционная система наиболее похожа на привычный всем Windows.

Установка и настройка Ubuntu

Существует две различные версии дистрибутивов Ubuntu: LTS и Regular. Главное отличие LTS - стабильность и длительная поддержка. Такая версия выходит раз в пять лет.

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

На момент написания статьи последней LTS версией является 18.04 Bionic Beaver.

Установка не вызовет никаких затруднений. От пользователя лишь требуется нажимать кнопку "Далее" в нужные моменты.

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

Основы Linux

На рабочем столе Ubuntu расположены: панель управления, dock-панель, а также меню приложений.

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

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

В меню приложений отображаются все установленные приложения.

Вместе с дистрибутивом Ubuntu поставляется файловый менеджер Nautilus. Этот файловый менеджер позволяет легко управлять файлами и каталогами.

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

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

  1. Название не должно превышать 255 символов.
  2. Linux является чувствительной к регистру системой, следовательно, "example.txt" и "Example.txt" являются разными файлами даже несмотря на то что они могут находиться в одном каталоге.
  3. Если название файла или каталога начинается с "." - такой файл или каталог будет помечен системой как скрытый.
  4. Поскольку основа Linux - UNIX, то он полностью поддерживает кодировку UTF-8, допускается использование национальной раскладки.

Терминалы в Linux

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

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

Для работы с терминалом не требуется знаний основ программирования в Linux, как это может показаться на первый взгляд. Нужно лишь знать определенные команды. Поскольку этих команд множество, то запомнить их очень тяжело даже людям, хорошо разбирающимся в Linux. Поэтому все эти команды можно найти в Интернете либо же воспользоваться внутренней справкой, введя в терминале "find --help".

Установка и удаление программ с помощью Synaptic

Synaptic - программа с графическим интерфейсом, использующаяся в дистрибутивах Debian и Ubuntu, и предназначенная для поиска, установки и удаления программ.

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

После того как нужная программа найдена, можно выполнить ее установку. Для этого нажмите на название программы правой кнопкой мыши и выберите пункт "Установка". Аналогично выполняется удаление и обновление программ.

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

Когда мы используем понятие «философия», то мы вовсе не имеем в виду вопросы типа «в чем смысл жизни» или «существует ли Бог», мы скорее подразумеваем то, какая логика, какие идеи лежали в основе создания этой вездесущей и живой операционной системы.

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

В этой статье мы будем использовать термин Unix/Linux для обозначения этой операционной системы. Unix был оригиналом, разработанным Томпсоном и Ритчи (Thompson и Ritchie). Линус Торвальдс (Linus Torvalds) и его команда провели реинжиниринг (реконструкцию) Unix.

Mac OS X, iOS, Android, Solaris, AIX, HP-UX и IRIX - это все формы Unix/Linux.

Red Hat, Ubuntu, Mint, Fedora, Debian, Slackware и SUSE - все это дистрибутивы Linux. Дистрибутив Linux - это просто операционная система, которая использует ядро ​​Linux и добавляет к нему свои собственные дополнительные компоненты. Эти компоненты включают в себя различные приложения, утилиты, модули, графические интерфейсы.

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

Unix была впервые разработана в начале 1970-х годов Деннисом Ритчи (Dennis Ritchie) и Кеном Томпсоном (Ken Thompson) в AT&T Labs. Тот факт, что он все еще используется спустя более 40 лет, говорит нам о качестве, долговечности и эффективности этой операционной системы. Эти ребята сделали все правильно! Сколько вы знаете вещей с начала 1970-х годов в области вычислительной техники, которые до сих пор существуют?

Однако вместо того, чтобы уйти в небытие эта «древняя» операционная система набирает обороты почти каждый день. Chrome, Android, iOS, Linux и Mac OS X основаны на этой 40-летней операционной системе. Если мы посмотрим на самый быстрорастущий рынок (мобильные устройства), то увидим, что в нем доминируют Unix-варианты с iOS и Android, на которые приходится более 91% рынка. Похоже, что мобильный рынок в ближайшем будущем будет почти на 100% состоять из Unix/Linux устройств.

Что же такого есть в этой скромной операционной системе, что сделало ее такой долговечной и надежной? Давайте рассмотрим некоторые аспекты философии Linux, которые сделали ее настолько успешной.

Предположение о том, что пользователь является технически подкованным

Разработчики Unix (и, соответственно, Linux) сделали радикальное предположение: пользователи являются хорошо подкованными в использовании компьютеров. Мы не можем сказать того же про другие операционные системы. Во многих случаях разработчики операционных систем предполагают, что мы невежественные, неграмотные неандертальцы, которых нужно защищать. Все совсем не так у Unix/Linux.

Как сказал один рассудительный человек: «Unix (Linux) не предназначен для того, чтобы мешать пользователям делать глупые вещи, поскольку это также мешало бы им делать умные вещи».

Прекрасно! Лучше и не скажешь!

Полный контроль

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

Предпочтение переносимости над высокой эффективностью

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

Хранение данных в простых текстовых файлах

Unix/Linux хранит данные в простых текстовых файлах, в отличие от других операционных систем. Это делает данные настолько переносимыми, насколько переносим сам код. Почти все системы могут импортировать и использовать простые текстовые файлы.

Использование скриптов шела для увеличения эффективности и переносимости

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

Разрешение пользователям настраивать свое окружение

Unix/Linux был разработан так, чтобы разрешить пользователю подстраивать свое рабочее окружение под свои нужды и по своему вкусу. Все контролирует пользователь, а не разработчики программного обеспечения. Unix/Linux всего лишь реализует механизм работы, но не заставляет вас делать что-то определенным образом. Адаптация под нужды пользователей такого рода может принимать различные формы, включая использование окружений с графическим интерфейсом (GUI). Для Linux доступно множество окружений с графическим интерфейсом, включая GNOME (по умолчанию установлен в Kali и наиболее широко используется), KDE, Unity (по умолчанию используется в Ubuntu), Sugar, Trinity, Xfce, Enlightenment и многие другие. В большинстве случаев, вне зависимости от того, какое окружение с графическим интерфейсом у вас установлено в системе по умолчанию, вы можете установить и использовать абсолютно любое другое, какое захотите.

Создание маленького и легкого ядра

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

Использование нижнего регистра и коротких названий

Традиционно в Unix/Linux используются короткие названия и команды и только в нижнем регистре.

Молчание - золото

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

Думайте об иерархии

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

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

Похожие статьи