Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4.3 - Администрирование и конфигурирован...doc
Скачиваний:
2
Добавлен:
14.09.2019
Размер:
64.51 Кб
Скачать

Чтобы система Linux смогла «узнать» пользователя, он должен войти в систему, что требует введения имени пользователя (login name) и пароля (password).

Имя и начальный пароль даётся системным администратором. Но если вы и есть системный администратор, то перед входом в систему вам требуется создать себе имя пользователя. В дальнейшем будет рассматриваться условный пользователь по имени Ларри, на которого в системе заведено имя пользователя larry.

Кроме того, каждому компьютеру присвоено имя компьютера (хоста). По этому имени (host name) компьютеры распознаются в сети. Однако даже если компьютер не подключён к сети, он должен иметь имя. Для всех примеров, приводимых ниже, именем компьютера будет mycomp.

Создание имени пользователя

Прежде чем начать работу в только что установленной системе Linux, нужно создать себе имя пользователя для повседневной работы. Будет неправильным для этого использовать имя root, потому что это имя резервируется для выполнения особых команд и для работ по поддержанию работоспособности системы.

Для того, чтобы создать себе имя пользователя, следует войти в систему как пользователь root и использовать команду useradd или adduser.

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

Обычно при входе в систему вы видите на экране примерно следующее приглашение:

mycomp login:

Далее следует ввести ваш пароль. Набираемые при этом символы не будут появляться на экране, так что набирайте аккуратно.

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

Большая часть общения с системой Linux происходит через посредство командных оболочек (shell). Командная оболочка — это программа, которая воспринимает команды, вводимые с клавиатуры, и преобразует их в инструкции операционной системе. Аналогичные функции исполняет программа COMMAND.COM

После того, как вы вошли в систему, операционная система запускает командную оболочку, и вы можете вводить команды. Приведём простой пример. Пусть Ларри входит в систему и ожидает приглашения (prompt) системы.

mycomp login: larry

Password: пароль пользователя larry

Welcome to Mycomp!

/home/larry#

Теперь можно вводить команду.

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

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

/home/larry\# exit

Существуют и другие способы выйти из системы, но этот является самым надёжным.

Изменение пароля

Для этого нужно ввести команду passwd. Сначала эта команда предложит ввести старый пароль, а потом— новый пароль. Эта команда попросит вас затем ещё раз ввести новый пароль для подтверждения.

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

Имя файла может содержать любые символы (за исключением символа /). Длина имени файла ограничена 256 знаками.

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

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

В большинстве систем Linux используется стандартное расположение файлов, так что местоположение основных системных файлов и программ легко найти. Каталоги образуют структуру в виде дерева, которое начинается с каталога /. Этот каталог называется также корневым каталогом (root directory). Непосредственно к каталогу / примыкают важные подкаталоги /bin, /etc, /dev, /usr и другие. В свою очередь эти каталоги содержат другие каталоги, в которых находятся конфигурационные файлы системы, программы и т. д.

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

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

Приведём пример. У пользователя larry есть каталог papers, и в нем есть файл history-final. Если Ларри хочет взглянуть, что записано в этом файле, он может использовать команду

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

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

/home/larry# more papers/history-final

Если имя файла (например, papers/final) начинается с символа, отличного от /, то это значит, что к файлу обращаются относительно текущего каталога. Такой способ обращения называется относительным путём (relative path).

Наоборот, если имя файла начинается со знака /, то система интерпретирует это как полный путь (full path), т. е. путь, который ведёт к файлу, начиная с корневого каталога /. Это ещё называют абсолютным путём (absolute path).

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

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

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

эквивалентна такой команде:

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

Командная оболочка заменяет символ ~ именем вашего домашнего каталога.

Символом «тильда» (~) можно также обозначать домашние каталоги других пользователей. Так, путь ~karl/letters будет преобразован оболочкой в путь /home/karl/letters, если /home/karl является домашним каталогом пользователя karl. Таким образом, символ ~ — это просто сокращение. Ни один каталог не называется ~.

Движение по дереву каталогов

Команда, которая используется для движения по дереву каталогов, называется cd — сокращение от «change directory» («изменить каталог»). Команда cd употребляется следующим образом:

cd directory

где directory — имя каталога, который должен стать текущим.

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

/home/larry# cd papers

/home/larry/papers#

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

/home/larry/papers# more history-final

Теперь Ларри находится в каталоге papers. Чтобы вернуться в родительский каталог, следует отдать команду

/home/larry/papers# cd ..

/home/larry#

С командой cd можно также использовать абсолютный путь. Для того, чтобы перейти в домашний каталог пользователя karl можно использовать следующую команду:

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

/home/karl#

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

/home/karl# cd

/home/larry#

Просмотр содержимого каталогов

Команда ls (сокращение от англ. List) выводит на экран список файлов и каталогов, по умолчанию (если не указаны параметры) — список, относящийся к вашему домашнему каталогу. Пример:

/home/larry# ls

Mail

letters

papers

/home/larry#

Мы видим, что в данном примере в домашнем каталоге пользователя larry есть три элемента: Mail, letters и papers. Однако из этого списка нельзя понять — каталоги это или файлы. Чтобы получить более полную информацию от команды ls, можно использовать опцию -F:

/home/larry# ls -F

Mail/

letters/

papers/

/home/larry\#

Из того, что к концу каждого имени приписан символ /, можно понять, что все три элемента в этом списке — подкаталоги.

Если в списке, выданном командой ls -F, к имени файла приписан символ *, то значит, данный файл является исполняемым (executable), или программой, которую можно исполнять. Если к имени файла в этом списке ничего не приписано, то мы имеем дело с обычным файлом (не каталогом и не исполняемым файлом).

Почти каждой команде в системе UNIX можно указывать несколько опций в дополнение к её обязательным аргументам. Как правило, эти опции начинаются с символа -. Так было в продемонстрированном выше случае, где опция -F сообщала команде ls, что надо дать дополнительную информацию о типе файлов. В приведённом выше случае эта дополнительная информация свелась к тому, что в конце имени каталогов печатался символ /.

Отправимся в начало дерева каталогов и спустимся теперь в другой каталог. Для этого используем следующие команды:

/home/larry# cd ..

/home# cd .. /# cd usr

/usr# cd bin

/usr/bin#

Создание новых каталогов

Попробуем теперь создавать новые каталоги командой mkdir (сокращение от make directory). Попробуйте использовать следующие команды:

/home/larry# mkdir foo

/home/larry# ls -F

Mail/

foo/

letters/

papers/

/home/larry# cd foo

/home/larry/foo# ls

/home/larry/foo#

Итак, вы создали новый каталог и вошли в него. Этот новый каталог оказывается пустым, в нем нет никаких файлов.

Копирование файлов

Для копирования файлов используется команда cp (сокращение от copy). Пример:

/home/larry/foo# cp /etc/termcap .

/home/larry/foo# cp /etc/shells .

/home/larry/foo# ls -F

shells

termcap

/home/larry/foo# cp shells bells

/home/larry/foo# ls -F

bells

shells

termcap

/home/larry/foo#

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

Перенос файлов

Команда mv (сокращение от move) переносит файлы, а не копирует. Синтаксис команды очень простой:

/home/larry/foo# mv termcap sells

/home/larry/foo# ls -F

bells

sells

shells

/home/larry/foo\#

В данном примере файлу termcap было дано новое имя sells. Команда mv может быть использована также для переноса файлов в совершенно другой каталог.

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