Приветствую Вас Гость | RSSГлавная | Статьи | Регистрация | Вход
Категории раздела
Wiki
Статьи
Наш опрос
Как давно вы знакомы с Linux-ом.
Мини-чат
50
Главная » Статьи » Wiki

Новичкам в Ubuntu
Основные понятия

* Linux и ядро Linux – вообще-то GNU/Linux это не совсем операционная система. Это ядро операционной системы. И оно представляет из себя, скажем так, базовую программу ОС, которая загружается при старте системы, определяет устройства, контроллеры, порты, файловую систему и тд и тп, и вместе со всем этим предоставляет интерфейс для доступа ко всему этому многообразию всем остальным утилитам. Все остальные утилиты вместе с ядром и образуют, собственно, ОС. Набор утилит определяется каждым дистрибутивом отдельно.

* Дистрибутивы Linux - дистрибутив Linux, это некая сборка ОС на базе ядра GNU/Linux из набора утилит. В отличае от Windows, в котором понятия дистрибутива не существует априори, дистрибутивы Linux крайне многообразны, фаршируются относительно разными наборами утилит и служат, как правило, для каких-то определенных целей. А так же каждый дистр имеет свою «фишку» - основную идею например, предназначение, или стандартный набор программ. Например медиа дистрибутивы, научные, школьные, общего использования. Каждым дистрибом занимается какая-то группа людей, это может быть одна контора, или несколько контор, плюс сила мысли и кода сторонников этого дистрибутива со всего мира.

* Терминал, консоль – если по простому, то консоль, это программа доступа к командной строке, что-то вроде виндовского cmd. C помощью консоли можно выполнять команды без графического интерфейса. Если вы в каком-то руководстве встречаете команду, которую нужно выполнить, ее однозначно нужно выполнять в консоли. В Ubuntu по умолчанию используется программа gnome-terminal. Хотя есть и xterm – стандартная unix консоль. Gnome-terminal можно запустить через меню программ Ubuntu: Программы-Стандартные-Терминал. Иконку терминала лучше вынести на панель вверху экрана простым drug-and-drop - перетаскиванием, так как пользоваться придется часто.

* Текстовый редактор – вам он понадобится, как никогда раньше в Windows. Чаще будет удобнее исправить что-либо в настройках программы с помощью правки конфигурационного файла в редакторе, а не с помощью меню конкретной программы. В Ubuntu используется графический редактор gedit, от есть gnome edit – редактор для Gnome. .....

Вот и настал такой момент, в который даже я собрался написать свой mini FAQ для самых «полных и окончательных» начинающих. Он будет касаться самых простых и основных понятий и команд, без которых в линуксе (а в частности в Ubuntu ) вообще никуда и вообще никак. Я постараюсь его сделать маленьким, и одновременно ничего не забыть. Идеей создания этого mini FAQ я обязан одному случаю, в котором моя жена никак не могла отобразить в консоли действие - «отредактировать такой-то текстовый файл под рутом». Для нее это была полнейшая ахинея, и я решил – таких вот «полных и окончательных» начинающих, вероятно, ужасно много. Собственно, когда-то давно и я таким был. Всем таким «окончательным» посвящается данная заметка.

Основные понятия

o Linux и ядро Linux – вообще-то GNU/Linux это не совсем операционная система. Это ядро операционной системы. И оно представляет из себя, скажем так, базовую программу ОС, которая загружается при старте системы, определяет устройства, контроллеры, порты, файловую систему и тд и тп, и вместе со всем этим предоставляет интерфейс для доступа ко всему этому многообразию всем остальным утилитам. Все остальные утилиты вместе с ядром и образуют, собственно, ОС. Набор утилит определяется каждым дистрибутивом отдельно.

o Дистрибутивы Linux - дистрибутив Linux, это некая сборка ОС на базе ядра GNU/Linux из набора утилит. В отличае от Windows, в котором понятия дистрибутива не существует априори, дистрибутивы Linux крайне многообразны, фаршируются относительно разными наборами утилит и служат, как правило, для каких-то определенных целей. А так же каждый дистр имеет свою «фишку» - основную идею например, предназначение, или стандартный набор программ. Например медиа дистрибутивы, научные, школьные, общего использования. Каждым дистрибом занимается какая-то группа людей, это может быть одна контора, или несколько контор, плюс сила мысли и кода сторонников этого дистрибутива со всего мира.

o Терминал, консоль – если по простому, то консоль, это программа доступа к командной строке, что-то вроде виндовского cmd. C помощью консоли можно выполнять команды без графического интерфейса. Если вы в каком-то руководстве встречаете команду, которую нужно выполнить, ее однозначно нужно выполнять в консоли. В Ubuntu по умолчанию используется программа gnome-terminal. Хотя есть и xterm – стандартная unix консоль. Gnome-terminal можно запустить через меню программ Ubuntu: Программы-Стандартные-Терминал. Иконку терминала лучше вынести на панель вверху экрана простым drug-and-drop - перетаскиванием, так как пользоваться придется часто.

o Текстовый редактор – вам он понадобится, как никогда раньше в Windows. Чаще будет удобнее исправить что-либо в настройках программы с помощью правки конфигурационного файла в редакторе, а не с помощью меню конкретной программы. В Ubuntu используется графический редактор gedit, от есть gnome edit – редактор для Gnome. Он доступен из меню программ Ubuntu через Программы-Стандартные-Текстовый Редактор. Очень классный текстовый редактор, должен заметить. Поддерживает табы для файлов (как в браузере Firefox для страничек), подсветку синтаксиса для любых языков разметки и очень многих языков программирования, также к нему можно подключать разнообразные плагины. А вот несколько редакторов командной строки, работать с которыми можно из консоли – vi, nano, sed. Но о них позже.

o Gnome, KDE – это графические менеджеры экрана. GDM – gnome diplay manager. Как бы это так объяснить... В Windows понятия dm нет вообще, потому что вся Windows это глубокая интеграция ядра, программ и dm, они неразрывны. Linux же – понятие сборное, и графических сред в нем тоже полно. KDE и Gnome – лишь одни из самых популярных. Это просто графическая оконная среда. В средах Gnome и KDE поставляются свои текстовые редакторы, программы обработки графики, браузеры, медиа плееры, утилиты настроек конфигурации. Вы можете посмотреть на скриншоты Ubuntu и Kubuntu, которые оснащены соответственно графической средой Gnome, и графической средой KDE, чтобы предствлять, как это все выглядит в действии и на экране:

- скриншоты Ubuntu

- скриншоты Kubuntu

o Файловая система и ее особенности – считается, что родной для Linux является файловая система Ext3, а раньше была Ext2. Но вообще-то ядро Linux поддерживает громадное множество файловых систем: ReiserFS, ext2/3, XFS, NTFS, UFS, AFFS, HPFS, SYSV, ISO9660, UDF, MS-DOS FAT, FAT32, UMSDOS, Minix, SMB и проч. Этот список я почерпнул из статьи VFS – файловая подсистема ядра Linux, и если вам интересно узнать подробности – прошу почитать. Вкратце же дело обстоит так: все доступные на компьютере файловые системы могут быть примонтированы в какую нибудь директорию. Имен в виде одной буквы у разделов на винчестере или CD-Rom-ов, флешек и прочего, как в структуре Windows – нет. Вместо этого каждая из этих файловых систем может быть примонтирована (подключена) с указанием отдельных опций в указанную директорию в иерархии Виртуальной Файловой Системы. Представьте себе, что все ваше медиа пространство (и разделы винчестера, и CD-ROM и флеш карточка и фотоаппарат) живет на одном единственном разделе С, но в таком случае нет смысла давать ему имя С. Это просто ваша файловая система. В корне этого медиа пространства живут основные директории - /dev (двайвера и устройства), /home (пользовательские, домашние, директории), /usr (программы), /bin – (запускаемые файлы), /mnt (примонтированные устройства) и тд. При этом в директорию /home можно примонтировать отдельный, самый большой раздел на винчестере, а в /usr – самый первый раздел, и там будут установлены все программы. В /mnt/cdrom можно монтировать CD, а в /mnt/flash – вашу флеш карточку, таким же образом можно подключать и удаленные сетевые ресурсы и тд.

В Ubuntu, например, по умолчанию Fat и NTFS разделы от установленной Windows принято по умолчанию монтировать в дир. /media с названиями типов и номеров разделов. /media/hda1 (ваш бывший диск С), /media/hda2 (бывший D). Надеюсь, теперь стало понятнее.

o Нумерация и именование разделов на винчестере – принято, что разделы именуются по типу и по номеру расположения на винчестере. Нумерацию с 1 до 4 принимают основные - Primary - разделы, с 5 и дальше – расширенные – Extended - разделы. Разделы на обычных винчестерах с IDE портом будут зваться hda1, hda2 или hda5, например. Разделы на SATA винчестерах будут звать sda1, sda4 и тд. Для наглядности я сделал скриншот карты разделов из виндовской программы Partition Magic и подписал, как называются разделы в Linux.

o Права файлов и каталогов, пользователи и группы – каждый файл или каталог в Linux имеет своего владельца – пользователя, а этот пользователь находится в одной или больше группах. Например, у нас может быть пользователь Vasia, он может быть включен в несколько групп – группу vasia, это его основная группа, группу printer, группу admin. Домашняя директория у него будет /home/vasia в файловой системе, и все файлы в ней будут принадлежать ему. На каждый файл раздается по три права на три группы пользователей системы (в контексте прав на файлы). Права – Чтение, Запись, Запуск. Сокращенно – r w x. Типы пользователей – Пользователь, Группа, Другие, сокращенно – u g o. Исполняемые файлы обычно имеют право x для запуска. Для директорий право x означает разрешение на вход в директорию, а право r – видимость ее вообще как элемента в системе.

Что мы имеем? Попытаюсь объяснить на примерах (далее в списках буду указывать три колонки – права, владелец:группа, имя файла):

1) rw-r--r-- vasia:vasia index.html
2) rw-rw-r-- vasia:printer index.html
3) rwxr--r-- kolia:printer script.sh
4) rwxrwxrx printer:printer script.sh
5) rwxr----- root:admin script.sh

Теперь поясняю:

1) этот файл может читать и изменять vasia, он не запускаемый; пользователи, входящие в группу vasia могут просто его читать; все остальные могут просто его читать.

2) этот файл может читать и изменять vasia, как владелец файла; читать и изменять пользователи, входящие в группу printer; только читать все остальные.

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

4) Пользователь printer может читать, изменять и запускать этот скрипт; Пользователи, входящие в группу printer, тоже могут делать все что им захочется; Все остальные пользователи тоже могут читать, менять, запускать этот файл.

5) Владелец этого файла – root. Только он может его читать, менять, запускать на исполнение. Пользователи, входящие в группу admin, могут только прочесть содержимое этого файла, все остальные даже не смогут прочесть его содержимое.

o Файлы принадлежащие пользователю root – для запуска, копирования, удаления, чтения или изменения таких файлов (напрмер /etc/fstab) в Ubuntu вам придется писать команду sudo перед вызовом каждой команды, для которой требуется права root. В основном права рута понадобятся для всего, что расположено не в вашей домашней директории. Команда sudo запросит у вас ваш пароль, не пугайтесь, это не пароль рута, который вы не знаете, просто ваш пароль.
Примеры:

sudo vi /etc/fstab

– запрос на редактирование файла, принадлежащего пользователю root.

sudo mkdir /var/localsites

– создание директории localsites в директории /var/, принадлежащей пользователю root.

Что имеем в итоге? В итоге, все что лежит в директории /home/username, принадлежит только этому username. В домашнем компьютере все остальное, как правило, просто принадлежит пользователю root – супер пользователю, администратору.

Ну, с базовыми понятиями вроде все, остальное будете постигать постепенно сами. Теперь предлагаю разобраться с
основными командами, запускаемыми из консоли.

<MainPage>
Читать дальше...
</MainPage>

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

o ls – распечатка списка файлов

Синтаксис: ls [опции] путь_к_директории

Набранный без параметров ls просто распечатает список файлов и каталогов в текущей директории в строку, один за другим.

ls -la;

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

o cd – переход в указанную директорию.

Синтаксис: cd путь_куда_перейти

Примеры:

cd /home/vasia; cd /var/www/mysites/site1

Особенности: можно указывать некоторые укороченные понятия. Так, знак ~ (тильда) означает домашнюю директорию пользователя. То есть вместо cd /home/vasia можно написать cd ~ , если вы конечно пользователь с именем vasia.Знак . (одна точка) – означает текущую директорию. Две точки - .. - директория уровнем выше. Знак – (минус или тире), означает «предыдущую директорию».
Таким образом, если мы, например, находимся в глубокой ветке файлового дерева /home/vasia/sites/blog/config и хотим подняться на 2 директории выше - /home/vasia/sites, вовсе не нужно писать полный путь – просто

cd ../..

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

cd -

таким образом мы попадем обратно в /home/vasia/sites/blog/config.
А теперь в родную домашнюю директорию -

cd ~

И обратно в /home/vasia/sites/blog/config

cd ./sites/blog/config

o cp – копирование.

Синтаксис: cp [опции] что куда.

Пример 1:

cp /home/vasia/sites/index.html /var/www/

- скопирует файл index.html, проживающий в директории /home/vasia/sites/ в директорию /var/www/.

Пример 2:

cp ./index.html ./index.html.bak

- как вы догадались, сделает в текущей директории новый файл, копию index.html только с другим именем.

Особенности: можно использовать маски файлов

* - любая последовательность символов, например

cp /home/vasia/*ml /home/ml

скопирует все файлы, заканчивающиеся на ml в директорию /home/ml. Туда попадут и html файлы, и xml, и какие-то еще, соответствующие маске.

-r – опция, означающая рекурсивность. То есть включается все что подходит под заданную маску из всех ниже расположенных директорий, например:

cp -r /home/vasia/*ml /home/ml

то же что и предыдущий пример, только файлы, соответствующие маске *ml будут скопированы не только из директории /home/vasia/, но и из всех поддиректорий.

o mv – перемещение файлов, работает аналогично cp, только файл исходник удаляется после копирования.

o rm – удаление файлов или каталогов. Пользуйтесь командой осторожно. Страшная сила! В этой команде так же действуют все сокращения и маски, как в командах cd и cp. Примеры:

rm /home/vasia/*ml

- удалит все *ml файлы из указанной директории.

rm -r /home/vasia/*ml

- удалит РЕКУРСИВНО все *ml файлы из указанной директории и всех ее поддиректорий.

rm /home/vasia/sites

- удалит полностью директорию sites по указанному пути.

o mkdir – создание директории. Например:

mkdir ~/newblog

- создание директории newblog в своем домашнем каталоге.

mkdir ../newblog

- создание директории newblog двумя директориями выше текущей директории.

o man, info – запомните эти две великие команды. Они означают "посмотреть мануал/информацию по команде", например:

man cp;
info rm

Работа с консольными текстовыми редакторами

o Текстовый редактор vi, он же vim. Для того, чтобы отредактировать или создать новый файл, напишите в консоли

vi filename

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

sudo vi filename

После того как файл откроется, нажмите на кнопку с буквой i, что значит insert (вставка). После этого можно писать, редактировать текст, удалять строки тд. Когда вы напишите все что вам нужно, нажмите Esc:wq. Вот что это значит: Esc – переход в командный режим. Двоеточие – если буквально, то "эй vim, слушай мою команду", wq – write quit, что по-русски значит сохранить и выйти.
Если вы открыли файл, например, не для редактирования, а так, посмотреть, и нечаянно в нем что-то написали, не страшно, можно не сохранять. Просто дайте команду Esc:q!. То есть – выйти без сохранения.

При поиске в файлах команда Esc:/ запросит строку поиска. Энтер – и вы перейдете на первое же собвпадение. Для перехода к следующему совпадению просто жмите n - то есть next.
Для начала этого хватит, а все остальное – милости прошу

man vi

o Текстовый редактор nano. Вообще-то, с ним и объяснять нечего. После запуска nano в двух нижних строках консоли будут указаны доступные комбинации клавиш – ctrl+G – помощь, ctrl+X – выход, ctrl+O – сохранить и тд. Режим редактирования текста доступен сразу после открытия редактора, без дополнительных команд какв vi. Жмите "помощь" и читайте все сами.
Удач, и помните о великих утилитах man и info!

Источник: http://itword.net/modules/myarticles/article.php?storyid=83

Категория: Wiki | Добавил: Sobsno_XZ (23.08.2008) | Автор: Andrey Afanasenko
Просмотров: 4529 | Рейтинг: 4.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход на сайт
Поиск