GNU/Linux: Основы работы
27 10 2009 | Рубрика: Система |
|
В предыдущей статье вы познакомились с процессом установки, и началом работы с операционной системой 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, и пр.). Оба шаблонных символа могут находится как по краям имен, так и внутри.
Для выполнения каких-либо действий используются утилиты. Использование утилиты так же называется выполнением команды.
Рассмотрим основные команды (утилиты) для работы с каталогами и файлами:
man — отображает подробную справочную информацию о команде, введенной после man. Например:
man pwd
отобразит справку о команде pwd. Перемещение по справке осуществляется клавишами «вверх», «пробел», и «вниз», выход клавишей ‘q’;
pwd — показывает текущий каталог;
cd — сменить каталог. Для перехода в подкаталог (или в подкаталог подкаталога, и далее) текущего каталога, используется относительный путь. Например, если вы находитесь в каталоге «/», то для перехода в подкаталог username, располагающийся в каталоге /home, выполните
cd home/username
Для перехода на каталог уровнем выше, используется «..». Так же можно использовать абсолютный адрес. В этом случае перейти можно в любой каталог, вне зависимости, находится ли он в иерархии текущего. Например, при текущем каталоге /home/username, команда
cd /bin
осуществит переход в /bin;
ls — показывает содержание текущего каталога. Если после команды ввести путь к другому каталогу, то команда покажет его содержимое. Чтобы отобразить скрытые каталоги и файлы, используйте параметр ‘a’ (ls -a). Для отображение свойств файлов и каталогов, используется параметр ‘l’ (строчная L) (ls -l). Оба параметра можно объединить (ls -al). Путь к каталогу всегда указывается после параметров;
cat — отображает содержимое текстовых файлов;
tac — аналогично команде cat, только отображает содержимое файлов в обратном порядке (построчно);
cp — копирует файл. Используется в нескольких формах:
cp файл1 файл2
копирует файл1 (должен существовать) в файл2 (может отсутствовать, но если существует, то перезаписывается),
cp файл1 файл2 … файлN каталог
копирует группу файлов в указанный каталог
cp -r кат1 кат2
копирует содержимое каталога кат1 в новый каталог с именем кат2. Если кат2 существует, то кат1 копируется как каталог внутрь кат2, Можно копировать сразу несколько каталогов (аналогично копированию файлов).
rm — удаляет указанный файл. При использовании параметра ‘r’ удаляет каталог (сначала убедитесь, что в удаляемом каталоге отсутствуют нужные Вам файлы).
Для воздействия на файлы и каталоги, необходимо обладать соответствующими правами. Находясь в домашнем каталоге, выполните последовательно команды
mkdir test
ls -l
Среди всего вывода Вы увидите строку, похожую на
drwxr-xr-x 2 techni techni 4096 2009-10-18 12:25 test
Первая колонка, состоящая из 10 символов, показывает права доступа. Первый символ означает тип файла:
— обычный файл;
d каталог;
А так-же ‘l’, ‘s’ и ‘p’, которые здесь рассматривать не будем.
Следующие 9 символов состоят из трех групп по три символа, указывающие права для различных типов пользователей:
первая тройка (здесь rwx) — для владельца;
вторая тройка (здесь r-x) — для пользователей, входящих в группу владельца;
третья тройка (здесь r-x) — для всех остальных пользователей;
Символы означают следующее:
— – нет прав;
r — право на чтение (просмотр содержимого);
w — право на запись (изменение содержимого);
x — для файла возможность исполнения, для каталога возможность перейти в него командой cd.
Будьте внимательны, для удаления файла необходимы права на запись в каталог.
————————————————————-
врезка
Что такое группа? Это метод логического объединения пользователей, позволяющий им задавать одинаковые права на общие файлы. Допустим, предприятие состоит из нескольких отделов, и имеется некоторый файл, доступ к которому должен иметь только сотрудники одного отдела. В этом случае, пользователи, работающие в данном отделе, объединяются в группы. Один пользователь может входить в различное число групп, в зависимости от потребностей.
————————————————————-
Для изменения прав доступа используется команда
chmod XXX name
где name – имя файла, каталога, XXX это цифры, означающие новые права для каждого типа пользователей.
Возможны следующие значения:
0 — запрещено все
1 — право на выполнение
2 — право на запись
3 — право на запись и выполнение
4 — право на чтение
5 — право на чтение и выполнение
6 — право на чтение и запись
7 — разрешено все
Например,
chmod 777 test
разрешит совершать любые действия с каталогом test всем пользователям.
Изменять права можно только на файлы и каталоги, владельцем которых Вы являетесь. Изменять права любых файлов и каталогов может только пользователь root.
Архивирование
Потребовалось отправить письмо, и прикрепить к нему несколько файлов? Можно вложить файлы по отдельности, а можно вложить их в один файл (то, что в Windows называется архивом). В Unix-системах изначально архивирование разделено на два этапа: упаковывание (объединения в дин файл) и сжатие.
Для упаковывания используется команда tar. Например,
tar -cvf name.tar file1 file2 … fileN
упакует файлы file1 … fileN в name.tar
tar -xvvf name.tar
распаковывает name.tar в текущий каталог
Команда имеет множество параметров, с которыми можете ознакомиться в справочной системе:
man tar
Сжатие производят утилиты gzip или bzip2. Так-же применяются универсальная (упаковка и сжатие) утилита zip.
На этом ознакомление с системой окончено. В следующий раз начнем рассматривать практическое применение.
Михаил Techni Храмов
q@sa-sec.org
SASecurity gr.
Тэги: bash, csh, GNU/Linux, GUI
Возник вопрос после прочтения? Или автор не описал важный момент?
Есть что сказать на эту тему, а комментарий - это не твое?
Тогда Go на наш форум.
Общайся на темы ИТ свободно, развивайся и рассказывай новое другим! Мы будем рады принять тебя в нашу компанию













6 Комментария (ев)
SLANIST
21 Ноя 2009
Полезные статьи. Автору спасибо. Ждем продолжения.
Эрика
06 Июн 2010
А как установить права на rwx только для создателя файла?
Автор
07 Июн 2010
>> А как установить права на rwx только для создателя файла?
Под учетной записью создателя файла:
chmod 700 file_name
михалыч76
19 Июл 2010
У Линуха один,но ооочень большой недостаток – дистрибутивы разрабатывают МНОЖЕСТВО людей во всём мире, что ведёт к несовместимости, например, deb-пакетов в Ubuntu или rpm – в Mandriva!
Поэтому FreeBSD – которая «собирается» компактно – FOREVER!!!
Да там и логики побольше…
михалыч76
19 Июл 2010
Да, а за статью спасибо!
Хотя и без картинок…
:D
Spider Agent
19 Июл 2010
Неправильный подход, уважаемый. Это все разные оси, на одном ядре. Не хотите проблем с совместимостью – устанавливайте из исходников. Ничего не имею против фрюши, но аргументы по линуху не убедительные.
Оставьте комментарий