On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

FreeBSD для начинающих.

Annelise Anderson

Поздравляем с установкой FreeBSD! Теперь настало время прочитать этот документ. Это введение для людей, которые только начинают работать с FreeBSD и Un*x, поэтому оно начинается с самых основ. Я подразумеваю, что Вы используете FreeBSD версии 2.0.5 или более позднюю, Ваша система имеет одного пользователя (Вас), и Вы неплохо разбираетесь с DOS/Windows или OS/2.

1. Вход в систему и выход из нее.

Войдите в систему (когда Вы видите приглашение login: ) как пользователь, созданный Вами в процессе инсталяции, или как root. (Во время инсталяции FreeBSD будет создан бюджет для пользователя root; root может делать в системе все что угодно, включая удаление жизненно важных файлов, так что будьте осторожны.) После входа Вы увидите приглашение, начинающееся с символов % или #, в зависимости от того под каким пользователем Вы вошли. Символ % характерен для обычного пользователя, а символ # - для пользователя с правами root.

Для выхода из системы (к новому приглашению login: ) просто введите

    # exit

Естественно, после каждой команды нужно нажимать enter , и помните, что Unix чувстителен к регистру символов -- exit, но не EXIT.

Чтобы выгрузить систему введите

    # /sbin/shutdown -h now

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

    # /sbin/shutdown -r now

или

    # /sbin/reboot

Вы также можете перезагрузить компьютер, нажав клавиши Ctrl-Alt-Delete, и немного подождав пока система корректно завершит свою работу. Это аналогично команде /sbin/reboot и намного, намного лучше, чем нажатие кнопки Reset. Вы ведь не хотите переустанавливать FreeBSD, не так ли?

2. Добавление пользователя с правами суперпользователя (root).

Если Вы не создали других пользователей в процессе инсталяции и, таким образом, входите в систему как root, Вы возможно захотите создать нового пользователя. Это можно сделать командой

    # adduser

Если Вы используете эту команду в первый раз, Вас спросят о некоторых значениях по умолчанию, чтобы затем их сохранить. Например, Вы можете сделать csh оболочкой (shell) по умолчанию вместо sh. В противном случае, просто нажимайте каждый раз enter, чтобы согласиться с каждым значением по умолчанию. Эти значения сохраняются в файле /etc/adduser.conf, который может быть затем отредактрирован любым текстовым редактором.

Предположим Вы создали пользователя jack с полным именем Jack Benimble. Для безопасности ему следует дать пароль. Когда Вас спросят хотите ли Вы включить пользователя jack в другие групппы, введите whell.

    Login group is ``jack''. Invite jack into other groups: wheel

Это позволит входить в систему как пользователь jack и затем использовать команду su, чтобы стать root'ом.

Вы можете прервать выполнение команды adduser в любое время, нажав клавиши Ctrl-c. Рекомендуем Вам создать еще одного пользователя на случай, если вы вдруг почему-то не сможете войти в систему под именем jack.

После этого выйдите из системы и снова войдите в нее как пользователь jack. Вообще, по возможности старайтесь работать в системе как обычный пользователь, чтобы случайно что-нибудь не испортить.

Если Вы уже создали пользователя и хотите, чтобы он мог использовать команду su, зайдите в систему как root и исправьте файл /etc/group, добавив слово "jack" в первую строчку (группу wheel). Но сначала попрактикуйтесь в использовании текстового редактора vi, или используйте редактор попроще, например ее.

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

3. Начало работы

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

Вот несколько команд с описанием, что они делают:

id

Сообщает Вам, кто Вы!

pwd

Показывает в какой текущей директории Вы находитесь.

ls

Выдает список файлов в текущей директории.

ls -F

Выдает список файлов в текущей директории со значком "*" - после исполняемых файлов, "/" - после директорий и "@" - после символических ссылок.

ls -l

Выдает список файлов в длинном формате, т.е. с указанием размера, даты и прав.

ls -a

Выдает список всех файлов, включая скрытые файлы (файлы с точкой в начале имени) файла.

cd

Меняет директорию. cd .. переходит вверх на один уровень (обратите внимание на пробел после слова cd), cd ~ переходит в домашнюю директорию пользователя, например, /usr/home/jack. Попробуйте ввести cd /cdrom, а затем ls, чтобы выяснить установлен ли у Вас CD-ROM и работает ли он.

view filename

Позволит Вам просмотреть файл с именем filename без возможности изменить его. Попробуйте ввести view /etc/fstab (для выхода наберите :q).

cat filename

Отображает файл с именем filename на экране. Если файл слишком большой и не умещается на экране, нажмите ScrollLock и, используя клавишу "стрелка вверх", двигайтесь назад. Вы также можете использовать ScrollLock для просмотра man pages. Попробуте просмотреть файлы "с точкой" в своей домашней директории.

Обратите внимание на псевдонимы (aliases) в файле .cshrc для некоторых из команд ls (они очень удобны). Вы можете создать другие псевдонимы, отредактировав .cshrc. Чтобы сделать эти псевдонимы доступными всем пользователям, отредактируйте файл /etc/csh.cshrc.

4. Получение справки и информации.

Имеются несколько команд помощи. После каждой команды вместо слова "text" нужно ввести какое-то слово -- обычно это команда или имя файла.

apropos text

Выдаст Вам все, что содержит строку text в базе данных whatis.

man text

Выдаст соответствующий man page для слова text. Man pages - это главный источник информации в Un*x системах. Например, man ls расскажет Вам обо всех возможностях использования команды ls. Управляющие комбинации клавиш: enter - для продвижения по тексту, Ctrl-b - для возврата, Ctrl-f - для продвижения вперед, q или Ctrl-c - для выхода.

which text

Сообщит, в какой директории находится команда text, если эта директория прописана в пользовательском пути (path).

locate text

Все пути, где найдена строка text.

whatis text

Сообщит Вам, что делает команда text. Комбинация whatis * расскажет Вам обо всех двоичных файлах в текущей директории.

whereis text

Найдет файл с именем text, сообщив его полный путь.

Возможно вы захотите попробовать использовать команду whatis на некоторых полезных командах, таких как cat, more, grep, mv, find, tar, chmod, chown, date, and script. Команда more позволит Вам читать файл постранично, например, more filename или cat filename|more. Символ * работает как групповой символ, например, ls w* выдаст список всех файлов в текущей директории, начинающихся с буквы w.

Некотрые из этих команд работают не очень хорошо? И locate и whatis зависят от базы данных, которая еженедельно перестраивается. Если Вы не собираетесь оставлять работающую машину до конца недели, попробуйте время от времени выполнять команды для ежедневного, еженедельного и ежемесячного сопровождения. Запустите их как пользователь root и дайте каждой из них закончить, прежде чем запускать другую.

    # /etc/daily
    # /etc/weekly
    # /etc/monthly

Если Вы устали ждать, нажмите Alt-F2 и Вы получите новую виртуальную консоль. В конце концов, это же многопользовательская и многозадачная система. Однако, эти команды могут выдавать сообщения на экран во время своего выполнения; команда clear очистит экран. После их выполнения, Вы можете просмотреть сообщения в /var/mail/root и /var/log/messages. В основном, выполнение таких команд является частью администрирования системы -- и как единственный пользователь Unix системы, Вы - свой собственный системный администратор. Вообще, все что должно делаться с правами root'а может считаться системным администрированием.

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

Для настройки Вашей системы, Вам придется редактировать текстовые файлы. Большинство из них находится в директории /etc, и изменять их может только root. Вы можете использовать удобный редактор ее, но в конечном счете vi стоит того, чтобы его изучить. Есть отличное руководство по редактору vi в /usr/src/contrib/nvi/docs/tutorial, если Вы конечно его установили; однако его можно получить и по ftp с ftp.cdrom.com в директории FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.

Перед тем, как редактировать файл, сделайте его копию. Предположим, что Вам надо отредактировать файл /etc/rc.conf. Перейдите командой cd /etc в дирекорию /etc и наберите

    # cp rc.conf rc.conf.orig

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

    # mv rc.conf rc.conf.orig
    # cp rc.conf.orig rc.conf

потому что команда mv сохраняет первоначальную дату и владельца файла. Теперь можно редактировать rc.conf. Если Вы теперь хотите вернуть оригинал, наберите mv rc.conf rc.conf.myedit (подразумевается, что Вы хотите сохранить Вашу исправленную версию) и затем введите

    # mv rc.conf.orig rc.conf

Для редактирования файла наберите

    # vi filename

Двигаться по тексту можно "стрелками". Esc переключает vi в командный режим. Вот некоторые команды, который Вам нужно знать:

x

удаляет букву, на которой находится курсор.

dd

удаляет всю строку

i

вставляет текст в место курсора

a

вставляет текст после курсора

Если Вы введете i или a, Вы можете редактировать файл. Esc переключает обратно в командный режим, где Вы можете ввести

:w

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

:wq

записать и выйти

:q!

выйти без записи

/text

найти слово "text"; /Enter (клавиша Enter) для поиска следующего слова "text"

G

перейти в конец файла

nG

перейти на строку n файла, где n - номер строки

Ctrl-L

перерисовать экран

Ctrl-b Ctrl-f

двигаться вперед и назад по экрану.

Потренируйтесь немного в работе с vi в своей домашней директории, создав какой-нибудь новый файл. И не удивляйтесь, если Вы получите несколько сюрпризов от vi, потому что это действительно сложный редактор, и когда-нибудь Вы введете неосторожно команду, которая сделает совсем не то, что вы от нее ожидаете. (Хотя некоторым людям на самом деле нравится vi - он гораздо мощнее DOS'овского EDIT).

Теперь Вы можете зайти в систему как root, воспользоваться vi для редактирования /etc/group, и добавить пользователя в группу wheel, чтобы он имел права root'a. Просто добавьте запятую и имя пользователя в конец первой строчки файла, нажмите Esc для перехода в командный режим, и введите :wq для записи и выхода. Изменения вступят в силу немедленно. Имейте в виду, что пробел после запятой не нужен.

6. Печать файлов из DOS.

На этом этапе у Вас наверняка принтер под FreeBSD не работает, поэтому здесь описан способ создания файла из man page, копирования его на дискету, и затем печати его из DOS'а. Предположим, Вы хотите повнимательнее почитать о изменении прав на файлы (это дейстивительно очень важно). Для этого Вы можете использовать команду man chmod. Команда
 

    # man chmod | col -b > chmod.txt

удалит все лишние коды форматирования и запишет man page в файл chmod.txt. Теперь вставьте отформатированную дискету под DOS'ом в дисковод, станьте root'ом (используя su), и наберите команду
 

    # /sbin/mount -t msdos /dev/fd0 /mnt

для монтирования дисковода в точку /mnt.
Теперь (Вам больше не нужно быть root'ом) зайдите в директорию, где Вы создали файл chmod.txt и скопируйте его на дискету
 

    % cp chmod.txt /mnt

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

    # /sbin/umount /mnt

и перезагрузитесь для возврата в DOS.
Далее скопируйте файл в какую-нибудь директорию, откройте его любым текстовым редактором и распечатайте. Надеюсь это сработало! (Копирование файлов с FreeBSD на смонтированный раздел DOS в некоторых случаях все еще представляет небольшой риск).

7. Другие полезные команды.

df

показывает свободное дисковое пространство и смонтированные системы

ps aux

показывает запущенные процессы. ps ax - в более узкой форме

rm filename

удаляет файл с именем filename

rm -R dir

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

ls -R

выдает список всех файлов в текущей директории и во всех поддиректориях; я использовал вариант ls -AFR > where.txt, чтобы получить список всех файлов в директории / и отдельно в директории /usr, прежде чем нашел лучший способ для поиска файлов.

passwd

меняет пароль пользователя

man hier

man page по файловой системе Unix

Используйте команду find для поиска файлов в директории /usr и любой его поддиректории:
 

    % find /usr -name "filename"

Можете использовать символ * в слове "fileneme". Если Вы скажете искать в директории / вместо /usr, поиск будет производиться во всех смонтированных файловых системах, включая CD-ROM и раздел DOS.



Литература по FreeBSD