Пиши Дома Нужные Работы

Обратная связь

Обращение к домашнему каталогу.

Учебник по Linux

 

Введение.

Новые пользователи UNIX и Linux могут быть ошеломлены размерами и очевидной сложностью системы, которая предстала перед ними. Существует много хороших книг по использованию UNIX для всех уровней подготовки: от новичка до эксперта. Но ни одна из этих книг не обсуждает особенности Linux. Хотя 95% всего связанного с использованием Linux абсолютно аналогично другим UNIX-системам, наиболее прямой путь освоения этой системы, это по учебнику, написанному применительно к Linux. Вот эта книга и есть такой учебник.

Здесь не предполагается каких-то предварительных знаний, за исключением первоначального знакомства с персональным компьютером и MS-DOS. Но даже если вы не успели побывать пользователем MS-DOS, вы все равно все здесь поймете. На первый взгляд UNIX очень похож на MS-DOS (в конце концов фрагменты MS-DOS были спроектированы с оглядкой на операционную систему CP/M, которая, в свою очередь, проектировалась с оглядкой на UNIX). Но только при очень уж поверхностном взгляде можно говорить о похожести UNIX и MS-DOS. Если вы абсолютный новичок в мире персональных компьютеров, этот учебник вам поможет.

И прежде, чем начать, призываем: не бойтесь экспериментировать! Система вас не укусит. Работая на ней вы ничего не сможете сломать. UNIX имеет встроенные средства защиты, чтобы не дать "нормальным" пользователям (это теперь и вы) возможность испортить важные для системы файлы. Самое плохое, что вы можете натворить, это уничтожить все свои файлы, а тогда, может быть придется и переинсталлировать заново систему прим. переводчика: как правило, хотя и не всегда, чтобы довести систему до переинсталляции, надо иметь прав больше, чем у нормального пользователя.



Основы Linux.

Linux это многозадачная, многопользовательская операционная система. Это означает, что много людей может одновременно использовать один компьютер, выполняя много различных задач. (Это существенное отличие от MS-DOS, где только один человек может использовать в данный момент операционную систему). В UNIX пользователи должны себя идентифицировать при входе, что состоит из двух шагов: ввода имени (имя, по которому вас идентифицирует система) и входной пароль, который является вашим секретным словом для открытия вашего счета (регистрации в системе). Поскольку только вы знаете пароль, никто не может войти в систему под вашим именем.

В традиционных UNIX-системах системный администратор присвоит вам имя и начальный пароль при вашей регистрации в системе (при заведении в системе нового пользователя). Но поскольку на своем персональном компьютере вы и системный администратор, вы должны себя (как пользователя) зарегистрировать в системе, прежде чем в нее войдете. Для дальнейших разговоров возьмем условное имя ``larry''.

Кроме прочего, каждая система UNIX имеет приписанное ей hostname (имя хоста). Это имя добавляет машине характера и очарования. Hostname используется для идентификации отдельных машин в сети, но даже если ваша машина не в сети, она все равно должна иметь hostname. Например, имя машины, обсуждаемой ниже ``mousehouse'' (мышиная норка).

Регистрация в системе.

 

Прежде, чем вы сможете использовать систему, вы должны зарегистрировать себя в системе. Это необходимо потому, что неразумно использовать имя суперпользователя (root) для обычных нужд. Пользователь root нужен для выполнения привилегированных команд и сопровождения системы.

Для того, чтобы зарегистрировать себя, вам необходимо зайти в систему под именем root и использовать команду useradd или adduser (зависит от дистрибутива). Об этой процедуре смотрите подробней в Разделе 4.6.

Вход в систему.

 

При входе вы увидите на экране подсказку, например, такого вида:

 

mousehouse login:

 

Введите регистрационное свое имя и нажмите клавишу Enter. Наш герой larry напечатает следующее:

 

mousehouse login: larry

Password:

 

Теперь введите ваш пароль (password). При вводе пароль не будет отображаться на экране, так что набирайте внимательнее. Если вы неправильно набрали пароль, то увидите на экране сообщение:

 

Login incorrect

 

и вам следует попытаться еще раз.

Очень забавна ситуация, когда пароль надежно забыт. Тогда Вам придется зайти как root и стереть пароль для соответствующего пользователя (как это делается будет рассказано ниже). Еще более забавна ситуация, когда забыт root-пароль. Она забавна для всех, кроме самого root. Хотя систему даже из такой ситуации можно привести в рабочее состояние, сделать это нелегко.

Когда вы наконец правильно введете имя пользователя и пароль, вы официально будете допущены в систему и можете в ней свободно путешествовать.

Виртуальные консоли.

Системная консоль, это монитор и клавиатура, связанные непосредственно с системой. Поскольку UNIX многопользовательская система, вы можете иметь дополнительные терминалы, связанные через последовательные порты с вашей системой, но они не будут консолями. Linux, как и некоторые другие версии UNIX, обеспечивает доступ к виртуальным консолям (или VC), которые позволяют войти в систему под несколькими именами в одно время.

Для демонстрации этого войдите в систему (как было показано ранее). Теперь нажмите alt-F2. Вы должны снова увидеть подсказку login: , то есть перед вами вторая виртуальная консоль, а вы вошли через первую. Чтобы переключиться обратно на первую VC, нажмите alt-F1. Вы снова на первой консоли.

Свежеинсталлированный Linux возможно позволит вам работать с четырьмя первыми VC, используя от alt-F1 до alt-F4. Но можно обеспечить работу с 12-ю VC: по одной на каждую функциональную клавишу. Как видите, использование VC может быть очень эффективным: вы можете работать на нескольких VC одновременно.

В то время, как использование виртуальных консолей ограничено (кроме прочего, в каждый момент времени вы можете видеть только одну виртуальную консоль) оно дает вам представление о многопользовательских возможностях UNIX. Пока вы работаете на VC #1, вы можете переключиться на VC #2 и начать работу над чем-то другим.

Оболочки и команды.

В большинстве ваших исследований мира UNIX вы будете общаться с ним через оболочку shell. Shell это просто программа, которая воспринимает введенное пользователем, (т.е. команды, которые вы напечатаете) и транслирует это в команды системе. Это можно сравнить с программой COMMAND.COM под MS-DOS, которая делает нечто похожее. Shell лишь один из интерфейсов UNIX. Существует много различных интерфейсов, таких как X Window System, которая позволяет выполнять команды используя мышь и клавиатуру.

Как только вы вошли, система запускает shell и вы можете вводить для него команды. Вот короткий пример. Как раз Larry вошел в систему и система выдала подсказку:

 

mousehouse login: larry

Password: larry's password

Welcome to Mousehouse!

 

/home/larry #

 

 

``/home/larry#'' это подсказка shell, показывающая, что он готов принимать команды. (Подробнее про подсказкy позже). Давайте попросим систему сделать что-нибудь интересное:

 

/home/larry# make love

 

make: *** No way to make target 'love' Stop

 

/home/larry#

 

Хм, как оказалось, make это имя существующей в системе программы и shell пытался выполнить эту команду. (Жаль, но система отнеслась к просьбе недружественно).

 

Это подводит нас к жгучему вопросу: Что такое команды? Что происходит, когда вы вводите ``make love''? Первое слово командной строки ``make'' это имя команды, которую предполагается выполнить. Все остальное в командной строке воспринимается как аргументы команды.

Пример:

 

/home/larry# cp foo bar

 

Здесь имя команды ``cp'', а аргументы ``foo'' и ``bar''.

Когда вы вводите команду, shell делает несколько вещей. Во-первых, смотрит на то, что может (должно) быть именем команды и является ли это внутренней для shell командой (внутренняя, это команда, которую shell знает как выполнять. Существует ряд таких команд, мы о них поговорим позже). Shell также проверяет, не является ли команда синонимом другой или требуется подстановка имени. Если этого не надо делать, shell ищет соответствующую этому имени программу на диске. Если shell находит такую программу, он ее выполняет, передавая ей аргументы из командной строки.

В нашем примере shell ищет программу по имени make и пытается выполнить ее с аргументом love. make это программа, которая часто используется при компиляции больших программ, она берет в качестве аргумента имя "целевого" файла компиляции. В случае ``make love'' мы приказали команде make откомпилировать love. Поскольку make не смог найти файла с таким именем, он сообщил (несколько забавным образом) о невозможности выполнить команду и вернулся в подсказку.

 

Что случится, если мы введем команду, а shell не сможет найти программу с этой командой? Давайте попробуем:

 

/home/larry# eat dirt

eat: command not found.

 

/home/larry#

 

Все очень просто, если shell не может найти программу с именем данным в командной строке (здесь ``eat''), он выдает сообщение об ошибке, которое объясняет причину невыполнения команды. Вы часто будете видеть это сообщение, если будете вводить имена команд с ошибками. (например, напечатаете ``make love'' вместо ``make love'').

Выход из системы.

 

Прежде, чем идти дальше, мы расскажем, как выйти из системы. При наличии подсказки shell используйте команду:

 

/home/larry# exit

 

для выхода. Есть другие способы выхода, но этот самый безопасный.

Смена пароля.

Вы также должны представлять, как можно менять пароль. Команда "passwd" прим. переводчика: именно с пропущенными буквами она и пишется спросит вас про старый пароль и про новый Она попросит дважды ввести новый пароль для надежности. Внимание! Не забывайте свой пароль, иначе вам придется просить системного администратора уничтожить его и установить новый (Если вы и есть системный администратор, см. главу 4).

Файлы и каталоги.

Во многих операционных системах (включая UNIX) существует концепция файла, по которой его можно рассматривать просто, как набор информации, которому дано имя. Примерами файлов будут: программа, которая может выполняться, письмо, полученное по электронной почте, написанная вами статья. Существенно то, что все, что хранится на диске, хранится в отдельных файлах.

Файлы идентифицируются по именам. Например, файл, содержащий вашу статью может быть сохранен под именем my-paper. Эти имена обычно каким-то образом отражают содержание. Не существует стандартного формата имен файлов, как в MS-DOS и других операционных системах; в общем случае имена файлов могут содержать любые символы (кроме /: смотрите ниже обсуждение формирования "путей") и ограничены 256 символами по длине. Имя с путем (полное имя) ограничено длиной в 4096 символов.

Одновременно с концепцией файла рассмотрим и концепцию каталога. Каталог это совокупность файлов. Его можно рассматривать как "папку", содержащую множество различных файлов. Каталоги сами по себе также получают имена, по которым вы их различаете. Каталоги организованы в древовидную структуру, т.е. каталоги могут содержать другие каталоги.

К файлу можно обращаться по пути (pathname), формируемой из имени файла, которому предшествует имя каталога, содержащего файл Например, скажем, Larry имеет каталог, названный papers, который содержит три файла: history-final, english-lit, и masters-thesis. (Каждый из этих трех файлов содержит информацию о проводимых Larry работах). Для того, чтобы обратиться к файлу english-lit, Larry может указать маршрут:

 

papers/english-lit

 

Как вы видите, имена каталогов и файлов разделяются единичным слэшем (/). Поэтому имена файлов сами по себе не могут содержать этот символ. Пользователи MS-DOS увидят в этом что-то знакомое, поскольку в MS-DOS для этого используется бэкслэш (\).

 

Как уже говорилось, каталоги могут быть вставлены друг в друга. Например, пусть Larry в каталоге papers имеет другой каталог с названием notes. Этот каталог содержит файлы с именами math-notes и cheat-sheet. Путь файла cheat-sheet будет:

 

papers/notes/cheat-sheet

 

 

Итак, путь это маршрут, который надо проделать, чтобы добраться до конкретного файла. Каталог выше данного (под)каталога называется родительским каталогом. Здесь каталог papers является родительским для каталога notes.

Дерево каталогов.

 

Большинство Linux систем имеет стандартную структуру каталогов, что облегчает конкретную установку системы. Структура представляет из себя дерево каталогов, начинающееся с каталога ``/'', известного под названием "корневой каталог". Каталоги ниже / относятся к числу важнейших подкаталогов: среди них /bin, /etc, /dev, и /usr. Эти каталоги в свою очередь содержат другие каталоги, которые содержат системные конфигурационные файлы, программы и т.д.

В частности, каждый пользователь имеет домашний каталог, который выделяется пользователю для хранения его файлов. В вышеприведенном примере все файлы Larry (такие как cheat-sheet и history-final) содержались в домашнем каталоге Larry. Обычно пользовательский домашний каталог находится под каталогом /home и называется именем пользователя. Так домашний каталог Larry будет /home/larry.

Вот простое дерево каталогов. Оно даст вам некоторое представление о том, как организуется дерево каталогов в вашей системе.

/_____bin

|_dev

|_etc

|_home_____larry

| |_sam

|_lib

|_proc

|_tmp

|_usr__X386

|_bin

|_emacs

|_etc

|_g++-include

|_include

|_lib

|_local_____bin

| |_emacs

| |_etc

| |_lib

|_man

|_spool

|_src_____linux

|_tmp

Текущий рабочий каталог.

Команды, которые вы даете shell, выдаются из вашего текущего каталога. Вы можете думать о вашем рабочем каталоге, как о каталоге в котором вы находитесь. При начальном входе в систему вашим рабочим каталогом автоматически становится домашний каталог (в нашем случае /home/larry). При обращении к файлу вы можете обращаться к нему с учетом вашего местоположения, вместо того, чтобы указывать полный путь.

Вот например, у Larry есть каталог papers, а papers содержит файл history-final. Если Larry хочет посмотреть этот файл, он может использовать команду:

 

/home/larry# more /home/larry/papers/history-final

 

Команда more просто показывает файл на экране порциями. Поскольку текущий рабочий каталог Larry /home/larry, он вместо этого может обратиться к файлу с учетом своего текущего местоположения. Команда будет:

 

/home/larry# more papers/historv-final

 

 

Так что вы можете начинать имя файла (такого как papers/final) с символа, отличного от ``/'', система предполагает, что вы обращаетесь к файлу с учетом вашего текущего рабочего каталога. Это называют относительным именем (а полный маршрут, полное (абсолютное) имя, т.е. путь от корня до данного имени).

С другой стороны, если Вы начинаете имя с символа /, система считает, что Вы используете полное имя файла с путем к нему, начиная от корневого каталога (/) файловой системы.

Обращение к домашнему каталогу.

Оболочки (shell), т.е. программы, которые читают и выполняют команды пользователя, могут использоваться (одновременно в одной системе) разные. В большинстве систем Linux используются tcsh или bash при начальной регистрации в системе. В tcsh и bash вы можете обратиться к своему домашнему каталогу, используя тильду (~). Например, команда:

 

/home/larry# more ~papers/history-final

 

эквивалентна

 

/home/larry# more /home/larry/papers/history-final

 

Символ ~ просто заменяет имя вашего домашнего каталога.

Вы также можете обратиться к домашнему каталогу другого пользователя с помощью тильды. Имя ``~karl/letters'' будет интерпретировано shell, как ``/home/karl/letters'' (если /home/karl домашний каталог пользователя karl). Использование тильды упрощает обращение; не существует каталога с именем ~ так что это просто "синтаксический сахар", который имеется в распоряжении shell.

 

Первые шаги в Linux.

Перед тем, как начать, важно заметить, что все имена файлов и команд чувствительны к большим и малым буквам (чего нет в системах типа MS-DOS). Например, команда make очень отличается от Make или MAKE. То же относится и к именам каталогов.

Первая прогулка.

Теперь мы можем войти в систему и узнать, как обращаться к файлам и менять местоположение в файловой системе, чтобы упрощать свою жизнь в ней. Команда для перемещения по дереву каталогов cd, (``change directory''). Вы скоро обратите внимание, что многие часто используемые команды Linux состоят из двух-трех букв. Формат команды cd:

 

 

cd directory

 

где directory имя каталога, в который вы желаете перейти. Как мы уже говорили, когда вы входите в систему, вы автоматически оказываетесь в своем домашнем каталоге. Если Larry желает двинуться ниже по дереву (например, в подкаталог papers), он должен использовать команду:

 

/home/larry# cd papers

/home/larry/papers#

 

Как видите, изменилась подсказка, отразив изменение местоположения (новый рабочий каталог). Теперь он в каталоге papers и может посмотреть на свой файл history-final с помощью команды:

 

/home/larry/papers# more history-final

 

 

Чтобы вернуться назад из подкаталога papers, надо использовать команду:

 

/home/larry/papers# cd ..

/home/larry#

 

Обратите внимание на пробел между ``cd'' и ``..''. Каждый каталог содержит имя ``..'', которое отсылает к родительскому (для данного каталога) каталогу. Также каждый каталог имеет имя ``.'', которое ссылается на него самого. Поэтому команда:

 

/home/larry/papers# cd .

 

никуда не переведет.

В команде cd вы можете использовать маршруты. Чтобы перейти в домашний каталог Карла, вы можете воспользоваться командой:

 

/home/larry/papers# cd /home/karl

/home/harl#

 

Используя команду cd без аргументов вы из любого места дерева вернетесь в свой домашний каталог:

 

/home/karl# cd

/home/larry#

 

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.