Если на компьютере установлен Linux, то после включения и самотестирования ПК не происходит автоматической загрузки операционной системы (как это происходит с Dos и Windows), а появляется приглашение загрузчика LILO (LInux LOader).
| Co-Processor : Installed Extended Memory : 64512K | | CPU Speed : 166MHz Cache Memory : 512K | +------------------------------------------------------------------------------+ | Diskette Drive A : 1.44M, 3.5 in. Display Type : EGA/VGA | | Diskette Drive B : None Serial Port(s) : 3F8 2F8 | | Pri. Master Disk : LBA ,UDMA 2, 4325MB Parallel Port(s) : None | | Pri. Slave Disk : None EDO DRAM at Row(s): None | | Sec. Master Disk : CDROM,Mode 4 SDRAM at Row(s) : 0 1 2 3 | | Sec. Slave Disk : CDROM,Mode 2 | +------------------------------------------------------------------------------+ PCI device listing..... Bus No. Device No. Func No. Vendor ID Device ID Device Class IRQ -------------------------------------------------------------------------------- 0 1 1 8086 7111 IDE Controller 14/15 0 1 2 8086 7112 Serial bus controller NA 0 10 0 10B7 9001 Network controller 12 0 11 0 102B 051B Display controller NA LILO boot:_ |
В ответ на это приглашение надо набрать, какую операционную систему Вы хотите загрузить, и нажать <Enter>. Название -- это короткое слово, обычно linux для Linux, и dos для Dos/Windows. Список установленных ОС можно получить, нажав <Tab>.
Обычно Lilo настроен нак, чтобы если пользователь ничего не набирает, через некоторое время (в RedHat -- 5 секунд) загрузить ОС "по умолчанию" (обычно таковой является Linux).
Даже если Linux -- единственная ОС, установленная на компьютере, все равно при загрузке появляется приглашение Lilo, так как это позволяет передать ядру некоторые параметры (например, "не используй второй ide-контроллер").
Если приглашение появилось не полностью, например, только "LI" или "LIL", значит с компьютером что-то не в порядке (обычно это следствие неправильной установки или переконфигурации системы).
После ввода в приглашении Lilo слова "linux" будет произведена загрузка системы. При этом на экран будет выводиться весьма подробная информация о том, что происходит -- какая обнаружена аппаратура, какие запускаются системные сервисы и т.д.
eth0: 3Com 3c900 Boomerang 10Mbps/Combo at 0xd400, 00:60:08:6f:fa:9e, IRQ 12 8K word-wide RAM 3:5 Rx:Tx split, autoselect/10baseT interface. Enabling bus-master transmits and whole-frame receives. search inp.nsk.su Starting portmapper: portmap Mounting remote filesystems. Starting system loggers: syslogd klogd Starting at daemon: atd Starting cron daemon: crond Starting INET services: inetd Starting sshd: ssh Starting lpd: lpd Starting NFS services: rpc.mountd rpc.nfsd Starting amd: amd Loading keymap: Loading /usr/lib/kbd/keymaps/i386/qwerty/ruok.map.gz Loading symbolic screen map from file /usr/lib/kbd/consoletrans/koi2alt Starting sendmail: sendmail Starting gpm mouse services: gpm Starting sound configuration: sound Red Hat Linux release 5.2 (Apollo) Kernel 2.0.36 on an i586 bobby login:_ |
В конце концов появится приглашение "login:" (на картинке "bobby" -- это название компьютера). В ответ на него надо ввести свое login-имя (например, "ivanov"), и нажать <Enter>. Затем появится приглашение ввести пароль ("Password:"). При вводе пароля на экране ничего не появляется (даже "*"). Если пароль введен правильно, то Вы попадете в командную строку Unix (см. картинку ниже), иначе -- появится сообщение "Login incorrect" и затем опять приглашение "login:".
Red Hat Linux release 5.2 (Apollo) Kernel 2.0.36 on an i586 bobby login: ivanov Password: Last login: Fri Feb 12 11:57:30 on tty1 bobby:~% _ |
"bobby:~%" -- это приглашение shell (интерпретатора командной строки Unix). Здесь "bobby" -- имя компьютера, с которым Вы работаете, а за ним через двоеточие идет имя текущей директории, в данном случае -- "~", что обозначает домашнюю директорию.
В отличие от однопользовательских систем, таких, как Dos/Windows,
пользователь не может писать свои файлы в произвольное место на диске.
Для них каждому пользователю дается так называемая домашняя
директория (home directory). По умолчанию только сам пользователь
может писать в нее, а можно сделать и так, чтобы никто другой не смог
даже читать из нее файлы. Именно в эту директорию пользователь и
попадает сразу после входа в систему.
Для смены пароля служит команда passwd. Вначале она
требует ввести текущий пароль, затем новый, и еще раз новый, для
проверки. Причем пароль, как всегда, вводится вслепую.
На то, каким должен быть пароль, накладываются определенные
ограничения -- чтобы пароль не был слишком простым и не поддавался
отгадыванию/подбору. В разных Unix'ах они варьируются, но общие
правила таковы:
Примеры плохих паролей:
В тот момент, когда на экране появляется приглашение
"login:", система уже полностью функциональна, даже без
графической оболочки.
Даже в этот момент уже доступны многопользовательские возможности
Unix, в том числе и сетевые (например, вход по telnet), но об этом
позже. А в текстовом режиме Linux позволяет использовать так называемые
виртуальные консоли, переключение между которыми производится
комбинациями клавиш <Alt>+<F1>,
<Alt>+<F2> и так до
<Alt>+<F6>. Каждая виртуальная консоль -- как
отдельный терминал, с тем лишь отличием, что нельзя взаимодействовать с
ними всеми одновременно, а только по очереди.
Для запуска же графической системы X-Window (сокращенно просто "X")
надо набрать команду startx. Для выхода из X следует нажать
левую кнопку мыши на любом свободном месте экрана, в появившемся меню
выбрать пункт "Exit Fvwm" и затем "Yes, Really Quit".
Файловая система в Unix организована в виде единого дерева
директорий. Никаких букв дисков (a:, c:) здесь нет, а если
используется несколько физических дисков (например, первый жесткий
диск, второй, CD-ROM и т.д.) то они представляются отдельными ветвями
на общем дереве.
Директории разделяются косой чертой "/" (а не обратной, как в Dos),
например, "/home/inpunix/ivanov/" -- поддиректория "ivanov" в
директории "inpunix" директории "home". Самая верхняя директория
("корневая") называется "/".
Какие разрешаются имена:
Хотя единственный символ, которого не может быть в имени, это "/"
(поскольку это разделитель директорий), лучше не слишком увлекаться, и
стараться не делать имен с пробелами, и не злоупотреблять различием в
регистре букв -- это только внесет лишнюю путаницу. Также лучше не
называть файлы по-русски.
В каждой директории есть поддиректория ".", являющаяся ссылкой
на саму директорию и "..", являющаяся ссылками директорию
уровнем выше.
Файлы, имена которых начинаются c точки (включая . и
..), считаются "неинтересными", и в листинге директории обычно
не показываются.
Для просмотра листинга директории используется команда ls,
и с ключиком "-l" она выдает "детальный" листинг, со всеми
атрибутами файла:
Поля в строке имеют следующий смысл:
Естественно, наличие атрибута "x" не дает права, к примеру,
читать файл из такой директории, если у него нет атрибута "r".
Для вызова команды достаточно просто набрать ее имя и нажать
<Enter>.
Большинство команд "понимает" несколько (а некоторые -- и несколько
десятков) ключей (или опций), модифицирующих их
поведение. Опции предваряются символом "-". Например,
команда ls выдает листинг текущей директории, а
ls -l -- детальный листинг. Обычно символ ключа осмыслен
-- это первая буква слова, обозначающего действие ключа; так
"l" -- сокращение от "long".
Если надо указать несколько ключей, то их можно писать как
поотдельности, так и вместе. Так, команды "ls -l -a"
и "ls -la" эквивалентны.
Многие команды в Linux понимают так называемые длинные ключи
(long options). Длинный ключ -- это не одна буква, а слово,
предваряемое двойным дефисом. Например, "ls --all" -- то же
самое, что и "ls -a". Длинные ключи можно указывать
только раздельно.
Чтобы узнать, какие ключи понимает та или иная команда, самое лучшее
-- посмотреть страницу руководства по ней (man-страницу, man-page).
Это делается при помощи команды man. Например, "man ls"
покажет страницу про команду ls. Большинство man-страниц состоят из
следующих частей:
Выход из man -- буква "q".
Многие команды понимают также специальные ключи -h и
--help и выдают краткую (впрочем, не всегда :) справку по
своему использованию. Пример:
В очень редких случаях у команды отсутствует man-страница:
В таком случае имеет смысл попробовать альтернативную систему
документации -- info, просто набрав, к примеру,
"info diff". Info -- это гипертекстовая система, похожая
на help-систему в Windows или Borland C (правда, чисто текстовая и
потому не такая "красивая"). Даже если info-документации нет, а есть
только man-страница, info покажет ее. Документацию по самой info можно
посмотреть, набрав "info info".
Первое, что требуется уметь -- это посмотреть список имеющихся
файлов и их атрибуты. Для этого служит команда ls. Она всегда
выводит список сортированным по алфавиту, если не указано иное.
Причем, поскольку "." в имени файла необязательна, шаблон
"все файлы" -- это не "*.*", как в Dos, а просто "*".
Кроме того, можно указывать "*" в любом месте шаблона, а не
только в конце; так, "*fil*" означает "все файлы с 'fil' в
имени".
С данной группой команд все очевидно. Следует лишь заметить, что
mv может переименовывать не только файлы, но и директории, а
cp и rm также прекрасно справляются с директориями,
если им указать ключ "-r" (Recursive).
Замечание1: "cd" без параметров переходит в home-директорию.
Замечание2: для копирования файла с сохранением пометки о времени
следует указывать команде "cp" ключ "-p".
Команда вызывается так:
Пример: режим доступа -- восьмиричное число, по цифре на режим
доступа для владельца, группы и остальных (1 - 'x', 2 - 'w', 4 - 'r',
цифры складываются):
Здесь устанавливается разрешение на чтение, запись и выполнение
(4+2+1=7) для владельца и группы, и только чтение и исполнение (4+1=5)
-- для всех остальных.
Можно также указывать режим доступа в символьном виде, например,
u=rw,g=r,o= -- смысл очевиден. Подробнее про символьное
указание режима доступа можно почитать на man-странице команды chmod.
Символьный линк -- это специальный вид файла, который не является
собственно файлом, а есть ссылка на другой файл. Неким бледным
подобием символьных линков являются "ярлыки" (файлы .lnk) в
Windows95/NT.
Для создания символьного линка используется команда "ln" с
ключом "-s", при этом указывается что слинковать и
куда -- порядок параметров такой же, что в командах cp
и mv. При просмотре листинга директории в "детальном" формате
кроме имени самого линка показывается также, куда он указывает, а самым
первым символом (тип файла) ставится "l".
cat просто выдает все содержимое файла на экран. Если файл
большой, то верхняя его часть просто "уедет" за экран.
more выдает файл "по частям": сначала первый экран, а потом
можно скроллировать вниз по экрану (нажимая <Пробел>)
или по строке (<Enter>).
less -- это весьма удобная программа просмотра текстовых
файлов, позволяющая скроллинг в обоих направлениях, поддерживающая
поиск по файлу и еще много чего. Именно less используется в Linux для
просмотра man-страниц (в других Unix'ах в этих целях обычно
применяется более древняя more).
Поскольку работа с Unix -- это в значительной степени взаимодействие с
командной строкой, для облегчения этого процесса существует несколько
весьма приятных удобств.
Для завершения сессии надо набрать команду logout. После
этого на экране должно появиться приглашение для входа в систему.
Хотя компьютеры под Unix (и Linux в том числе) обычно не выключают
неделями и месяцами, иногда возникает потребность перезагрузить машину
(например, под другую ОС). Самый простой способ сделать это -- нажать
<Alt>+<Ctrl>+<Del>. При этом Linux корректно
завершит работу и перезагрузит ПК.
Если же надо выключить машину, то можно также нажать
<Alt>+<Ctrl>+<Del>, дождаться перезагрузки, и после
появления приглашения "LILO boot:" можно смело выключать
питание (но до того, как начнется загрузка ОС!!!).
Как поменять пароль
Как поменять свой пароль
bobby:~% passwd
Changing password for ivanov
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
bobby:~% _
Кроме того, при смене новый пароль должен отличаться от старого, а
Linux требует даже, чтобы пароль не был похож на старый. (Вообще
говоря, идеальный пароль -- случайное сочетание букв и не-букв, но его
очень сложно запомнить.)
Пароль Недостатки
ABCDEF Только заглавные буквы
123456 Только цифры
Cretin Словарное слово
abc123 Слишком простой
Виртуальные консоли и запуск X
Виртуальные консоли и запуск X
Файловая система ОС Unix
Файловая система ОС Unix
list.txt
A file with spaces.txt
Сводный отчет по трудозатратам за 1998й год.tex
Manual [part 1 of 3].txt
file.with.many.dots
являются вполне нормальными именами.
short
file_without_extension
.......
report.txt
это четыре разных имени.
REPORT.TXT
Report.txt
RePorT.tXt
Файл в Dos Устройство в Unix Назначение con /dev/tty Консоль nul /dev/null Пустота com1 /dev/ttyS0 Первый последовательный порт lpt1 /dev/lp0 Первый параллельный порт Атрибуты файла
bobby:~% ls -l netscape.ps
-rw-r--r-- 1 ivanov lab5 380609 Jan 15 15:29 netscape.ps
Права доступа
Что любопытно, возможен режим доступа "rwx---rwx", когда
"все остальные" могут делать с файлом что угодно, а члены группы -- нет
(хотя, казалось бы, они тоже "остальные"), и даже "---rwxrwx",
когда с файлом может что угодно делать любой, кроме владельца. Это
происходит потому, что Unix сначала проверяет, к какой категории
относится персона, запрашивающая доступ к файлу, а потом смотрит
соответствующие права, не обращая внимания на остальные.
Вызов команд
Вызов команд
Где взять описание команд?
Где взять описание команд?
man раздел страница
Например, "man 1 ln".
bobby:~% du --help
Usage: du [OPTION]... [FILE]...
Summarize disk usage of each FILE, recursively for directories.
-a, --all write counts for all files, not just directories
-b, --bytes print size in bytes
-c, --total produce a grand total
-D, --dereference-args dereference PATHs when symbolic link
-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
-k, --kilobytes use 1024-byte blocks, not 512 despite POSIXLY_CORRECT
-l, --count-links count sizes many times if hard linked
-L, --dereference dereference all symbolic links
-m, --megabytes use 1024K-byte blocks, not 512 despite POSIXLY_CORRECT
-S, --separate-dirs do not include size of subdirectories
-s, --summarize display only a total for each argument
-x, --one-file-system skip directories on different filesystems
--help display this help and exit
--version output version information and exit
Report bugs to fileutils-bugs@gnu.ai.mit.edu
bobby:~% _
bobby:~% man diff
No manual entry for diff
bobby:~% _
Базовые команды для работы с файлами
Сводка команд
Команда Unix Команда Dos Назначение Самые необходимые ls dir Просмотр листинга директории, показ атрибутов файла(ов) cd cd Переход в другую директорию pwd cd Показать, какая директория сейчас текущая cp copy Копирование файлов mv ren Переименование/перемещение файлов rm del Удаление файлов Иные mkdir md Создание директории rmdir rd Удаление директории chmod Изменение прав доступа файла ln -s Создание символьного линка cat type Выдача файла на экран more more Постраничный просмотр содержимого файла less Более удобный просмотр файла df Показ свободного места на диске du Показ объема, занимаемого директорией или файлом Просмотр листинга директории: ls
cd, pwd, cp, mv, rm, mkdir, rmdir
Управление доступом к файлу: chmod
bobby:~% ls -l file
-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:17 file
bobby:~% chmod 775 file
bobby:~% ls -l file
-rwxrwxr-x 1 ivanov lab5 756 Feb 14 20:17 file
Символьные линки: ln -s
bobby:/tmp/ex1% ls -l
total 1
-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt
bobby:/tmp/ex1% ln -s file.txt locallink
bobby:/tmp/ex1% ln -s /etc/fstab abslink
bobby:/tmp/ex1% ln -s ../../etc/termcap rellink
bobby:/tmp/ex1% ls -l
total 1
lrwxrwxrwx 1 ivanov lab5 10 Feb 14 20:45 abslink -> /etc/fstab
-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt
lrwxrwxrwx 1 ivanov lab5 8 Feb 14 20:44 locallink -> file.txt
lrwxrwxrwx 1 ivanov lab5 17 Feb 14 20:45 rellink -> ../../etc/termcap
Просмотр содержимого файла
Возможности, упрощающие работу с командной строкой
Возможности, упрощающие работу с командной строкой
Начальные навыки: выход из системы
Выход из системы
bobby:~% logout
Red Hat Linux release 5.2 (Apollo)
Kernel 2.0.36 on an i586
bobby login: _
Практические задания
Замечание.
Для проверки есть пользователь с именем "donald" и паролем
"duck". "Превратиться" в него можно, набрав
"su donald" и затем его пароль.