Основы операционной системы gnu linux

GNU/Linux: Основы работы

В предыдущей статье (см. КГ №38) вы познакомились с процессом установки и началом работы с операционной системой GNU/Linux. Сейчас рассмотрим основы работы. Данные знания понадобятся в дальнейшем, когда будет рассматриваться практическое применение системы.

Интерфейсы пользователя GNU/Linux

GNU/Linux имеет два типа интерфейса: текстовый и графический (далее GUI). GUI удобен для обычного пользователя, однако далеко не всегда подходит для администрирования системы. К тому же, использование графики нерационально для серверов, поскольку впустую расходует аппаратные ресурсы. Текстовый же интерфейс, помимо того, что использует мало аппаратных ресурсов, позволяет получить наиболее полный и быстрый доступ ко всем составляющим системы (особенно к утилитам и конфигурационным файлам). Также использование текстового интерфейса безопаснее и надежнее, поскольку не используется множество графических библиотек и утилит, которые увеличивали бы общее число уязвимостей и ошибок в системе.

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

Чтобы перейти к работе в консоли, в меню загрузчика системы выберите пункт «Single user mode». Для учебных целей, а также если основная работа происходит в GUI, но иногда возникает потребность в администрировании, можно использовать эмуляторы консоли. В различные дистрибутивы включены различные эмуляторы: XTerm, Терминал, и др. Ссылки для запуска их находятся обычно в подменю «Стандартные» или «Системные утилиты».

Файловая система основана на модели иерархического дерева каталогов. В GNU/Linux отсутствуют логические диски, все каталоги являются подкаталогами единого дерева, начинающегося с «корневого каталога», обозначаемого «/». Структура каталогов представлена в следующем виде:

/ корневой каталог
/bin основные системные программы
/boot файлы загрузчика
/dev каталог устройств компьютера
/etc конфигурационные файлы системы и подкаталоги с конфигурационными файлами прикладных программ
/home каталоги пользователей
/lib библиотеки
/lost+found информация об удаленных файлах
/mnt каталог для монтирования устройств
/media в некоторых дистрибутивах (в том числе и в Ubuntu) служит для монтирования компакт-дисков и flash-накопителей
/root домашний каталог суперпользователя
/sbin системные программы
/usr прикладные программы и библиотеки
/var каталоги программ для хранения изменяющихся данных (например, каталоги веб-сервера).

Вообще, в Unix-системах каталог является файлом, содержащим ссылки на другие «вложенные в него» файлы и каталоги. Но для удобства изложения здесь будут различаться файлы и каталоги.

При работе с консолью можно использовать шаблоны: неточные имена (файлов и каталогов). Здесь вместо части имени используется символ ‘*’ для обозначения любого количества любых символов, а ‘?’ для обозначения любого одиночного символа. Например, fil* означает любой файл или каталог, начинающийся на fil (fil, film, file и пр.). Оба шаблонных символа могут находиться как по краям имен, так и внутри.

Читайте также:  Linux process exit statuses

Для выполнения каких-либо действий используются утилиты. Использование утилиты также называется выполнением команды.

Рассмотрим основные команды (утилиты) для работы с каталогами и файлами:

man — отображает подробную справочную информацию о команде, введенной после man. Например:

отобразит справку о команде pwd. Перемещение по справке осуществляется клавишами «вверх», «пробел» и «вниз», выход — клавишей ‘q’;

pwd — показывает текущий каталог;

cd — сменить каталог. Для перехода в подкаталог (или в подкаталог подкаталога и далее) текущего каталога используется относительный путь. Например, если вы находитесь в каталоге «/», то для перехода в подкаталог username, располагающийся в каталоге /home, выполните

Для перехода на каталог уровнем выше используется «..». Также можно использовать абсолютный адрес. В этом случае перейти можно в любой каталог, вне зависимости, находится ли он в иерархии текущего. Например, при текущем каталоге /home/username команда

ls — показывает содержание текущего каталога. Если после команды ввести путь к другому каталогу, то команда покажет его содержимое. Чтобы отобразить скрытые каталоги и файлы, используйте параметр ‘a’ (ls -a). Для отображение свойств файлов и каталогов используется параметр ‘l’ (строчная L) (ls -l). Оба параметра можно объединить (ls -al). Путь к каталогу всегда указывается после параметров;

cat — отображает содержимое текстовых файлов;

tac — аналогично команде cat, только отображает содержимое файлов в обратном порядке (построчно);

cp — копирует файл. Используется в нескольких формах:

копирует файл1 (должен существовать) в файл2 (может отсутствовать, но если существует, то перезаписывается),

cp файл1 файл2 … файлN каталог

копирует группу файлов в указанный каталог

копирует содержимое каталога кат1 в новый каталог с именем кат2. Если кат2 существует, то кат1 копируется как каталог внутрь кат2, Можно копировать сразу несколько каталогов (аналогично копированию файлов);

rm — удаляет указанный файл. При использовании параметра ‘r’ удаляет каталог (сначала убедитесь, что в удаляемом каталоге отсутствуют нужные вам файлы).

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

Среди всего вывода вы увидите строку, похожую на

drwxr-xr-x 2 techni techni 4096 2009-10-18 12:25 test

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

А также ‘l’, ‘s’ и ‘p’, которые здесь рассматривать не будем.

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

первая тройка (здесь rwx) — для владельца;
вторая тройка (здесь r-x) — для пользователей, входящих в группу владельца;
третья тройка (здесь r-x) — для всех остальных пользователей.

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

— — нет прав;
r — право на чтение (просмотр содержимого);
w — право на запись (изменение содержимого);
x — для файла возможность исполнения, для каталога возможность перейти в него командой cd.

Читайте также:  Linux код выполнения команды

Будьте внимательны, для удаления файла необходимы права на запись в каталог.

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

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

где name — имя файла, каталога, XXX — это цифры, означающие новые права для каждого типа пользователей.

Возможны следующие значения:

0 — запрещено все
1 — право на выполнение
2 — право на запись
3 — право на запись и выполнение
4 — право на чтение
5 — право на чтение и выполнение
6 — право на чтение и запись
7 — разрешено все

разрешит совершать любые действия с каталогом test всем пользователям.

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

Потребовалось отправить письмо и прикрепить к нему несколько файлов? Можно вложить файлы по отдельности, а можно вложить их в один файл (то, что в Windows называется архивом). В Unix-системах изначально архивирование разделено на два этапа: упаковывание (объединения в один файл) и сжатие.
Для упаковывания используется команда tar. Например,

tar -cvf name.tar file1 file2 … fileN

упакует файлы file1 … fileN в name.tar

распаковывает name.tar в текущий каталог.

Команда имеет множество параметров, с которыми можете ознакомиться в справочной системе:

Сжатие производят утилиты gzip или bzip2. Также применяется универсальная (упаковка и сжатие) утилита zip.

На этом ознакомление с системой окончено. В следующий раз поговорим о практическом применении.

Михаил Techni Храмов, q@sa-sec.org

Компьютерная газета. Статья была опубликована в номере 40 за 2009 год в рубрике ос

Источник

1. Введение в операционную систему gnu/Linux

ОС GNU/Linux, часто называемая в обиходе просто Linux – это современная многопользовательская операционная система с сетевой оконной графической системой X Window System. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

Когда создавалась система UNIX, компьютеры были большими (мейнфреймами), и пользователи работали на них через множество удаленных терминалов. У мейнфреймов также имелся особый терминал, который предназначался для системного администратора и назывался консолью.

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

Кроме консоли, Linux позволяет подключать к компьютеру и удаленные терминалы и, более того, обеспечивает возможность работы с несколькими виртуальными терминалами с одной консоли. Убедиться в этом можно при работе с Linux на локальной машине: нажмите комбинацию клавиш ++. Вы снова увидите приглашение login:. Однако это не возврат к началу работы с системой — вы просто переключились в другой виртуальный терминал. Здесь вы можете зарегистрироваться под другим именем. Попробуйте войти в систему под именем только что заведенного пользователя. После этого нажмите комбинацию клавиш ++. Вы вернетесь к первому экрану. По умолчанию Linux открывает при запуске 6 параллельных сеансов работы (виртуальных терминалов), и этим иногда очень удобно пользоваться. Для переключения между виртуальными терминалами используются комбинации ++ — ++. Если в процессе работы вы забыли, в каком терминале находитесь в данный момент, воспользуйтесь командой tty, которая выводит имя терминала в следующем формате: /dev/tty2.

Читайте также:  Virtual terminal in linux

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

2. Введение в командную строку

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

Если ваш дистрибутив Linux загружается в графическом режиме — зайдите в главное меню и найдите в нем несколько эмуляторов консоли, называемых Терминалы. Выберите эмулятор на свой вкус, например Konsole или xterm. В зависимости от вашего пользовательского интерфейса на панели задач также может существовать значок, четко его определяющий (Рисунок 1, «Значок терминала на панели KDE»).

Рисунок 1. Значок терминала на панели KDE

Когда вы запускаете эмулятор терминала, на самом деле вы используете командный интерпретатор shell. Вы обнаружите перед собой приглашение:

Здесь подразумевается, что ваше имя пользователя — queen, а ваша машина называется localhost. Пространство после приглашения предназначено для ввода ваших команд.

Когда вы запускаете shell в первый раз, вы обычно попадаете в свой домашний подкаталог внутри каталога /home/. Чтобы вывести на экран имя каталога, в котором вы в данный момент находитесь, наберите команду pwd (которая означает вывести рабочий каталог (Print Working Directory)):

Источник

Оцените статью
Adblock
detector