Дерни за веревочку, дверца и откроется. (C) Бабушка
| Страница ДКД (Страница провайдера) | Линукс-Чайник (Оглавление) |
Перед тем как с головой окунуться в разбор простейших команд и механизмов Линукса, хотелось бы указать на несколько важных деталей, которые следует запомнить раз и навсегда:
adduser и passwd. Первая заводит
для вас учетную запись, вторая - устанавливает пароль, запускать ее надо, указывая
имя пользователя (которое вы установите утилитой adduser). После этого наберите
logout, и войдите в систему по-новой, с новым именем. Вы заметите, что приглашение
суперюзера ("#") сменится на приглашение рядового пользователя ("$"). Все, теперь
вы можете спокойно продолжать изучение системы.
whatis <команда>, apropos <команда>
которые выдадут более краткую информацию.
ls -l > mydir
- читает содержимое текущего каталога и пишет его в mydir
gzip -dc myfile.tar.gz | tar tf - | less
- выводит содержимое архива myfile.tar.gz для пролистывания.
2. Глава 2: Углубляемся...
2.1. Таблица сравнения
Для начала, небольшая таблица сравнения, чтобы вы могли начать адаптироваться.
В ней сравниваются важнейшие команды ДОС и их Linux - аналоги:
| DOS | Linux | Комментарий |
|---|---|---|
| BACKUP | tar -Mcvf <у-во> <кат> | Абсолютно отличаются |
| CD кат\ | cd кат/ | Синтакс почти одинаков |
| COPY файл1 файл2 | cp файл1 файл2 | То же |
| DEL файл | rm файл | Имейте в виду - Undelete здесь НЕТ!!! |
| DELTREE кат\ | rm -R кат/ | То же |
| DIR | ls | Разный синтакс. В Red Hat можно пользоваться и командой dir |
| EDIT файл | vi файл | Мой любимый - компактен, удобен и быстр |
| emacs файл | Намного более мощный | |
| jstar файл | Дело вкуса, но мне не понравилось | |
| FORMAT | fdformat | Разная философия |
| mount, umount | ||
| HELP | man | Та же философия |
| MD кат | mkdir кат/ | Аналогичны |
| MOVE файл1 файл2 | mv файл1 файл2 | То же |
| NUL | /dev/null | То же |
| PRINT файл | lpr файл | То же |
| PRN | /dev/lp0, /dev/lp1 | То же |
| RD кат | rmdir кат/ | Похожий синтакс |
| REN файл1 файл2 | mv файл1 файл2 | Нельзя использовать маски |
| RESTORE | tar -Mxpvf у-во | Другой синтакс |
| TYPE файл | less файл | Гораздо удобнее |
| WIN | startx | Валит наповал :) |
$ ls -F
ls /tmp -F --color;
$ ln -s <файл или каталог - родитель> <название ссылки>
Например:
$ ln -s /usr/doc/g77/DOC g77manual.txt
Теперь вместо того, чтобы долго и нудно вводить
/usr/doc/g77/DOC, вы сможете
воспользоваться лаконичным g77manual.txt.
$ ls -l quotacheck
-rwxr-x--- 1 root employees 21104 Mar 25 1997
quotacheck* Слово root обозначает владельца файла - суперюзера (root). Он может производить все операции, связанные со сменой правил доступа к этому файлу. Правила доступа (-rwxr-x---) расшифровываются так:
$ chmod idXperm файл,где: id - идентификатор секции правил (u - владелец, g - группа, o - все остальные); X - +/- - соответсвенно, установить признак или сбросить;
$ chmod ugo+rwx myfile
Есть более короткий путь - воспользоваться масками прав доступа, они имеют вид трехзначных чисел. Почему-то все стараются обьяснять выбор этих масок традиционным путем - "пусть --- соответствует 0, --x это единица и т.д.д." Мы поступим по другом. Рассмотрим типичную маску доступа - 755. Разложим трехначное число на отдельные знаки: 755 - на 7 5 5, они по порядку соответствуют правам владельца, группы и остальных. Теперь обозначим право на чтение четверкой, на запись двойкой, а на выполнение - единицей. Тогда 7 расшифруется как 4 (чтение) + 2 (запись) + 1 (выполнение), а 5 - как 4 (чтение) + 1 (выполнение). Обратная задача - пусть нам надо разрешить владельцу чтение и выполнение, группе и остальным - только чтение. Имеем:
Владелец: 4 + 1 = 5
Группа: 4
Остальные: 4
Получаем 544, и используем команду:
chmod 544 myfileВсе! Намного удобнее и лаконичнее, не правда ли?
.* - выберет все скрытые файлы;
*.* - все файлы с расширением, точнее, с точкой в середине;
p*r - выберет как "piter", так и "piper", а не все слова на
букву "p" как в ДОС.
С символом вопроса никаких вопросов :) - он и здесь обозначает любой одиночный символ. Более продвинутая возможность - использование квадратных скобок. Например, вам надо вывести все файлы, начинающиеся на A, B и D:
$ ls [ABD]*
Если надо искать много символов, то вовсе незачем печатать все их в скобках, так как поддерживаются диапазоны, например, [A-P] соответствует всем символам от A до P. Пример:
$ ls [A-C,1]*doc
- напечатает имена всех файлов, которые начинаются только с A, B, C или 1 и заканчиваются на doc.
Итак, самый простой способ - использование виртуальных консолей. Виртуальная консоль представляет собой как бы компьютер внутри компьютера, можно рассматривать их как некий суррогат отдельных окон, хотя на самом деле консоли намного мощнее. По умолчанию для экономного использования памяти в Red Hat используется шесть консолей (но можно задать и больше). Если вы читали первый раздел, то знаете, что переключаться между ними можно по Alt-Fx (где x=1-6). Причем в каждой консоли вы можете работать под разными именами, периодически перепрыгивая в ту, где вы работаете как root чтобы смонтировать/размонтировать дискету и т.д. Кстати говоря, можно обходиться и без этого, запуская в текущей консоли новую сессию: su - <имя пользователя>, например, su - root. Сделав нужное, можно покинуть сессию набрав "exit".
Перейдем собственно к изучению многозадачности. Каждая запускаемая задача здесь именуется "процесс". Процессы можно выполнять как в приоритетном, так и в фоновом режиме. По умолчанию все процессы стартуют в приоретном режиме. Ничего конкретно вам для этого указывать не надо, просто запускайте любую программу как и раньше. Для того чтобы сразу стартовать процесс в фоне, добавьте в конце командной строки символ quot;&". Например:
$ myprog &
- и сразу после старта вы увидите сообщение shell, что данный процесс поставлен в очередь процессов и ему присвоен его номер и идентификатор (pid): [1] 314 Чтобы вывести список работающих процессов можно набрать команду "ps&". На экране появится список всех процессов с их идентификаторами. Уничтожить процесс можно командой kill <pid>. Этими командами можно пользоваться и из других консолей, что очень полезно, если в первой у вас крутится процесс и вы не знаете, как его остановить. По умолчанию kill посылает процессам сигнал TERM, но если вы думаете, что приложение его перехватывает, то можно указать ему послать сигнал KILL (его номер 9), что делается с помощью опции -s.
Теперь поговорим о "неразрушительном" управлении процессами. Чтобы прервать процесс, выполняющийся в приоритетном режиме, нужно нажать Ctrl-C (работает далеко не всегда), приостанавливается процесс нажатием Ctrl-Z. Он сразу получает рабочий номер, о чем вам будет сообщено: [1]+ Stopped myprog. Процесс остановлен, но можно снова перевести его в приоритетный или фоновый режим:
fg %job - переведет процесс в приоритетный режим;
bg %job - в фоновый, если он будет завершен, то об этом вам будет
сообщено: [1] Done myprog.
Убить работу можно командой kill %job, что очень удобно, так как многие процессы запускают кучу подпроцессов. В Red Hat альтернативой является команда killall, которая умеет прибивать процессы по имени. Настоятельно советуем вам научиться использовать все эти команды, именно тогда вы познаете всю мощь Linux и поймете, чем его многозадачность отличается от "многозадачности" Windows. :)
$ chmod o-rwx /root/text.
Что касается команд, то они во многом похожи. Какие команды вы будете наиболее часто использовать:
ls - вывести список файлов (в Red Hat можно пользоваться dir);
cd - сменить каталог, ДОСовские .. и . действуют и здесь, но вводить их надо через пробел;
mkdir - создать каталог;
rmdir - удалить каталог, если надо стереть и подкаталоги, пользуйтесь rm
-R;
mv - переместить каталог;
pwd - напечатать название текущего каталога;
find - искать файлы, в формате find каталог -name файлы
Тонкости:
В Linux все эти шаги выполняются по-отдельности. Вот как нужно подготавливать дискету к использованию под Linux:
Все аналогичное относится и к работе с другими дисковыми устройствами, включая CDROM. С той лишь разницей, что для CDROM нужно указать тип файловой системы как iso9660: # mount -t iso9660 /dev/cdrom /mnt/cdrom _BR Еще заметим, что в Red Hat желательно вставлять компакт-диск уже после загрузки, а не до нее, иначе вы зачастую не сможете его смонтировать. Иногда диски "теряются" во время работы - это было замечено в "Красной шапочке". Хмм.. достаточно странно. Впрочем как бы то ни было - не забудьте размонтировать его перед вытаскиванием:
# umount /mnt/cdromвпрочем вам и не дадут его вытащить, пока он смонтирован. :)
# tar -Mcvf /dev/fd0H1440 /каталог_P сархивирует содержимое каталога на дискеты, разбивая его на тома. Чтобы восстановить сохраненные данные, воспользуйтесь командой:
# tar -Mxpvf /dev/fd0H1440
Итак, вы конечно знакомы с AUTOEXEC.BAT и CONFIG.SYS - двумя самыми важными конфигурационными файлами в ДОС. В Linux этих файлов гораздо больше, да и возможностей повлиять на поведение системы у вас море. Поэтому если вы не уверены в том, что вы делаете, лучше не связывайтесь с ними. Но тем не менее, все важнейшие файлы конфигурации расположены в /etc:
| /etc/inittab | устанавливает runlevel по умолчанию (обычно третий) и подключает терминалы - если это вам ничего не говорит - не лезьте, потому что мы встречали отдельных гениев, умудрявшихся поставить initdefault в 0. :) |
| /etc/fstab | содержит информацию об автоматическом монтировании файловых систем; |
| /etc/passwd | различная регистрационная информация, включая пароли; |
| /etc/skel | образцы файлов конфигурации, используются при вводе новых пользователей; |
| /etc/rc.d/* | важнейшие файлы инициализации, вот с ними вам уж ТОЧНО лучше пока не связываться. Если очень интересно, то эти файлы управляют процессами, происходящими при старте и остановке системы - загрузкой и выгрузкой демонов, монтированием и размонтированием файловых систем и так далее... |
Менее важные файлы конфигурации:
| /etc/issue | сообщение, выдаваемое системой до приглашения "login:"; |
| /etc/motd | аналогично, но выдается после входа в систему; |
| /etc/profile | глобальный файл профилей - устанавливает пути и другие важнейшие переменные; |
| /etc/bashrc | глобальный файл конфигурации bash (ваша оболочка по умолчанию - аналог ДОСовского COMMAND.COM) |
| /домашний каталог/.* | ваши личные файлы конфигурации. Если их нет, то после входа в систему будут прочитаны глобальные файлы, содержащие значения "по-умолчанию". |
Подробно все о них будет расписано в следующем разделе, а пока обладатели Red Hat могут развлечься и облегчить себе жизнь, включив цветной вывод ls (в RH >4.2 он черно-белый по умолчанию):
редактируем /etc/bashrc и добавляем строку:
"alias ls="ls -F --color"" (Понятное дело, без кавычек). Просто, не так ли? :) Привыкайте, редактировать в этой системе придется еще много чего.
$ tar -cvf имя_архива файл1 файл2 ....;
а для распаковки:
$ tar -xvf имя_архива файлы
Пролистать содержимое можно командой:
$ tar -tf имя_архива | less
Затем можно сжать получившийся архив программой gzip:
$ gzip файл
И распаковать его: $ gzip -d файл или $ gunzip файл
4.3. Инсталляция приложений.
Очень много приложений распространяется в упакованном виде (вы сразу сможете понять это,
взглянув на расширение - tar.gz или .tgz). Обычно они упакованы таким образом, что будучи
инсталлированными из корневой директории (/), все компоненты будут раскиданы по подобающим
местам. Для этого надо дать команду:
# gzip -dc file.tar.gz | tar xvf
Но мы бы все же порекомендовали ставить приложения из директории /usr/local, что является признаком хорошего тона. Так вы будете уверены, что не засорите зря важные каталоги.
Убирать приложения придется ручками, но большинство дистрибьюций имеет для этого удобные
утилиты. Например в Slackware существует хорошая вещь - pkgtool, а устанавливать и
убирать пакеты можно с помощью installpkg и removepkg. В Red Hat имеется мощнейшая утилита
RPM (Red Hat Packages Manager) и Glint (утилита для работы с пакетами с удобным графическим
интерфейсом пользователя). Все что вам нужно, это набрать rpm -i имя_пакета / rpm -e пакет,
и программа сама разберется, что следует сделать.
4.4. Знаете ли вы что...
... Автоматически закончить ввод команды можно, нажав Tab:
например, для выполнения less humor_this_joke_is_so_funny,
вам надо лишь набрать less hu <Tab> и система введет остальное.
... Пролистывание экранных страниц можно делать клавишами Shift+PgUp/PgDn (серые клавиши), "глубина" просмотра зависит от количества установленной видеопамяти.
... Если вам "повезет" и вы выведете командой more или cat двоичный файл, то экран заполнится мусором. Чтобы исправить это, вслепую напечатайте "reset".
... Чтобы вырезать и вставлять куски текста в консоле, установите gpm.
Затем нажмите левую кнопку и выделяйте текст, потом нажмите правую
кнопку в том месте, где вы хотите осуществить вставку. Можно даже
в другой виртуальной консоли.
... То же самое можно проделать в X-Window, но для вставки нужно нажимать
среднюю клавишу, или обе, если у вас двухкнопочная мышь.
4.5. Краткая информация о назначении каталогов.'
| / | корневой каталог, основа файловой системы |
|---|---|
| /home | каталоги, где размещаются файлы пользователей |
| /bin | основные утилиты |
| /usr | содержит все прикладные программы: |
| /usr/bin | пользовательские программы |
| /usr/sbin | программы для системного администрирования |
| /usr/lib | библиотеки |
| /usr/games | игры |
| /usr/doc | документация |
| /usr/info | аналогично |
| /usr/man | здесь хранятся страницы руководства, вызываемые командой man |
| /usr/X11 | файлы системы X-Window |
| /usr/etc | необязательные файлы конфигурации |
| /usr/spool | здесь формируется очередь для печати и пересылки по сети |
| /etc | важнейшие конфигурационные файлы |
| /sbin | важные программы для администрирования |
| /dev | файлы устройств |
| /var | временные файлы |
| /tmp | аналогично |
5. Легальные сведения.
Данный раздел распространяется на тех же условиях, что и все остальные
документы класса HOW-To. Вы можете свободно распространять его при
условии, что из этого не будет извлекаться никакой материальной выгоды.
Переработка содержимого возможна только после согласия авторов!
| Location: | http://fbinet.ml.org/faqs/rh_1.html | |
| Данный раздел писали: | Dan Raskostoff | fbinet@softhome.net |
| и Artyom Novikoff | admin@fbinet.ml.org | |
| Guido Gonzato | guido@ibogfs.df.unib | |
| Использованные материалы: | DOS-To-Linux-HOWTO, Собственный боевой опыт :) | |
| Другие разделы: | 1:
Как нам побороть Red Hat Linux или Пособие для начинающих ковбоев 3: Специфика Red Hat Linux |
Copyright (C) 1998, CLUG (Chelyabinsk Linux Users Group) _END_TOC