41701

Операционная система Linux. Работа в консольном режиме

Лабораторная работа

Информатика, кибернетика и программирование

Чтобы выполнить команду ее надо записать после приглашения и нажать Enter. Тогда следует дать команду cl 2009. Если написать команду без параметра то она выдаст пустую строку. Если команду ls использовать с ключом l то вывод будет более информативным.

Русский

2013-10-24

907.12 KB

8 чел.


Лабораторная работа № 1.

Операционная система Linux. Работа в консольном режиме

(Использовались ресурсы:http://younglinux.info/book/export/html/10;

http://www.metod-kopilka.ru/page-2-1-14-1.html )

Цель работы: освоить работу с ОС Linux в консольном режиме, изучить основные команды   ОС Linux.

Ход работы

1. Изучить теоретический материал, выполняя описанные команды:

Возможно, до сих пор, вы были знакомы с единственным видом взаимодействия (т.е. интерфейсом) между человеком и компьютером — GUI – графическим пользовательским интерфейсом. В этом случае команды компьютеру отдавались с помощью нажатий мышью на различные графические изображения на экране (кнопки, значки, пункты меню и др. картинки). На самом деле такие щелчки запускают различные системные программы, которые скрыты за графическим пользовательским интерфейсом.

Однако давать команды компьютеру можно не только с помощью разных кнопок и меню. Можно вызывать команды с помощью записи слова-вызова в специальной программе-интерпретаторе (переводчике) команд. Такой способ взаимодействия между человеком и компьютером называется интерфейсом командной строки (CLI – command line interface). Следует отметить, что в компьютерной истории командная строка появилась намного раньше, чем графический интерфейс.

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

В Linux доступ к командной оболочке осуществляется через программу-консоль или эмулятор терминала. Запуск консоли можно осуществить через главное меню, а для перехода в терминал следует нажать комбинацию клавиш Ctrl+Alt+F1 (вместо единицы могут быть числа до 6). В любом случае вы увидите однотонный черный (или другого цвета) экран (в случае консоли: часть экрана), вверху которого будет так называемое приглашение.

В отличие от запуска программы-консоли, переход в терминал совершает с экраном что-то глобальное. Мы оказываемся в совершенно другой среде — текстовой. Здесь абсолютно нет графики, к которой мы привыкли в графическом интерфейсе, а мышь оказывается достаточно бесполезным существом: все манипуляции совершаются с помощью команд, набранных с клавиатуры. Таким образом работали компьютерные специалисты еще задолго до появления графического интерфейса пользователя.

Откуда взялись такие понятия как "терминал" и "консоль"? Терминалами называли комплекты "монитор+клавиатура", удаленные от компьютера. Компьютер мог иметь определенное количество терминалов, подсоединенных к нему с помощью модемов или последовательных портов. Таким образом осуществлялся многопользовательский режим доступа к ресурсам компьютера. Терминальный доступ используется и по сей день, хотя компьютеры стали уже совсем другими. Консоль — это также комплект "клавиатура+монитор" (ввод+вывод), однако присоединенный непосредственно к компьютеру.

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

  1.  Командная строка обеспечивает более быстрый доступ к некоторым возможностям операционной системы, а иногда — это единственный способ запустить тот или иной процесс.
  2.  Текстовый интерфейс менее требовательный к ресурсам компьютера, чем графический.
  3.  Бывает, что графический интерфейс просто не нужен (например, на части серверов).
  4.  Программируемость работы операционной системы и программ. Командная оболочка позволяет загружать файл с последовательностью команд и, затем, выполняет их. Т.е. от человека не требуется постоянного ввода команд.

Задание.

  1.  Переключитесь в текстовый режим работы (например, Ctrl+Alt+F3).
  2.  Вверху вы увидите приглашение для ввода логина (имени пользователя). Введите свой логин, нажмите Enter.
  3.  Затем будет предложено ввести пароль. Введите пароль (он не отображается при вводе, поэтому может показаться, что вы ничего не вводите, но это не так), нажмите Enter.
  4.  Далее вы должны увидеть пару строк сообщения (о времени входа и наличию писем) и приглашение примерно следующего формата [строка@строка ~]$.

Итак, через терминал (или консоль) мы получаем доступ к командной оболочке.

В операционной системе Linux работать с командной оболочкой можно двумя способами: в графическом режиме и текстовом.

Запустить эмулятор терминала в среде KDE (часто тут употребляют название "консоль") можно через главное меню. Для работы в текстовом режиме следует выполнить комбинацию клавиш Ctrl+Alt+F1 (или Ctrl+Alt+F2, или Ctrl+Alt+F3, или Ctrl+Alt+F4, или Ctrl+Alt+F5, или Ctrl+Alt+F6). Комбинация клавиш Ctrl+Alt+F7 переключает экран в графический режим. Другими словами, в Linux эмулируется семь терминалов.

Переключившись в текстовый режим, мы увидим приблизительно следующее: приветствие, название дистрибутива, дата его выпуска, текущий терминал (tty2). Во второй строке — имя компьютера в сети (в данном случае five) и предложение ввести логин.

Следует снова ввести логин и пароль. Ввод пароля не отображается (в целях безопасности). Далее вы должны увидеть что-то вроде этого:

В первой строке сообщается когда и где был последний вход (в данном случае с терминала ":0" - это графический режим). Во второй строке — сообщение о том, что пользователь имеет письмо в папке /var/mail/pupil6. Далее — приглашение командной оболочки.

Структура приглашения и текущий каталог

[pupil6@six ~]$ - это приглашение командной оболочки. Но это не просто "здрасьте", оно несет в себе информацию об имени пользователя (pupil6), имени компьютера (six) и текущем каталоге (~). Тильда (~) обозначает домашний каталог.

Еcли на том же компьютере зайдет другой пользователь, то изменится первая строка (до знака @), при работе на другом компьютере изменится также строка после @. А если поменять текущий каталог, то знак тильды будет заменен на имя нового текущего каталога. Примеры приглашений командной оболочки: [test@six Documents]$, [YaKreveDko@five ~]$ и т. д.

Текущий каталог — это каталог, в котором мы как бы находимся.

Примеры простейших команд

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

Чтобы выполнить команду ее надо записать после приглашения и нажать Enter. Например, если захочется узнать, сколько времени, то следует записать слово date (от англ. "дата") и нажать Enter. В итоге получим сообщение о сегодняшней дате и текущем времени.

ls выдает содержимое текущего каталога (т. е. список файлов и папок каталога, в котором мы находимся).

Команда who выдает список находящихся в системе пользователей.

В данном случае в системе работает один пользователь, но с двух терминалов (tty2 и :0). А вот в примере ниже уже два пользователя (test и pupil6).

date, ls и who - это примеры очень простых команд. На самом деле большинство команд состоят не из одного слова, а имеют параметры.

Еще один момент. Если написать строку, которая не является командой, то оболочка сообщит, что "команда не найдена".

Зачем нужны параметры?

Большинство команд, которые дают в оболочке Linux, состоят не из одного слова (сокращения слова). Чаще команды дополняются специальными параметрами (аргументами и ключами). Таким образом происходит конкретизация и модификация команды. Если провести аналогию между поведением командной оболочки и поведением человека, то можно сказать, что для человека слово "иди" - это команда, а слова "на остановку" - это параметр. Параметры позволяют более точно сформулировать то, что мы хотим.

Например, команда cal без параметров выдает календарь на текущий месяц.

Однако может потребоваться получить календарь на весь год. Тогда следует дать команду cal 2009. В данном случае "2009" - это аргумент (операнд). Кроме того, можно получить календарь абсолютно любого месяца; в этом случае команде передаются два аргумента: номер месяца и год.

Обратите внимание, что в ответе командной оболочки неделя начинается с воскресенья. Это как-то не по русски. Для того, чтобы неделя начиналась с понедельника необходимо использовать ключ (опцию) -m (от англ. Monday – понедельник). Ключи предназначены для изменения поведения команды.

Команда echo

Команда echo (эхо) выводит строку, переданную ей в качестве аргумента. Если написать команду без параметра, то она выдаст пустую строку.

В последнем вызове команды используется ключ -n, который запрещает переход на новую строку, поэтому приглашение командной оболочки выводится в той же строке, что и вывод команды echo.

Параметры команды ls

Рассмотрим некоторые ключи и параметры уже знакомой нам команды ls, которая выдает список файлов и папок текущего каталога (однако, как мы узнаем далее, не обязательно текущего).

Если команду ls использовать с ключом -l, то вывод будет более информативным.

В первой строке (итого 17736) содержится информация об общем размере всех файлов в списке. Далее в каждой строке сообщается о правах доступа к файлу, количестве ссылок на файл, имени владельца, имени группы, размере, времени последнего изменения и имени (файла или каталога). При добавлении ключа -t произойдет сортировка по времени. Ключи записываются друг за другом.

Команда ls часто применяется для просмотра содержимого разных каталогов файловой структуры. Для этого следует уметь адресовать команду к конкретному каталогу, т. е. передать интересующий нас каталог в качестве аргумента команде ls. Пока оставим адресацию в командной строке на потом и просто просмотрим содержимое каталога, который находится в текущем (домашнем каталоге). Например, чтобы узнать что находится в каталоге Desktop, следует написать ls Desktop и нажать Enter.

Команда sleep

До сих пор мы рассматривали команды, которые можно использовать без параметров. Однако существует ряд команд, которые без переданных им аргументов теряют всякий смысл и поэтому требуют обязательного наличия аргумента. Одной из таких команд является sleep (сон). Эта команда заставляет оболочку bash выполнить задержку перед следующей командой. А параметр, передающийся sleep, указывает какую именно задержку (сколько секунд, минут и т. д.). При интерактивной работе с bash данная команда особого смысла не имеет; однако часто для командной оболочки пишут сценарии (файлы с командами), и вот там иногда требуется выполнить задержку.

В приведенном примере сначала команда записана без аргумента, поэтому получено соответствующее сообщение. Далее два вызова делают одно и тоже (задерживают на 3 секунды). Если вместо суффикса s использовать m, то задержка будет измеряться в минутах.

Как работать в командной строке Linux

Прерывание

Если ввести что-то наподобие sleep 100, то может понадобиться прервать выполнение команды. Сделать это можно с помощью сочетания клавиш Ctrl + C. Есть много процессов командной оболочки, прерывание которых обеспечивается сочетанием клавиш Ctrl + D или Ctrl + C или Ctrl + Z.

Другой пример, где может понадобиться прерывание, — это команда cat. Когда она используется без параметров, то выводит на экран то, что вводит пользователь.

История команд

Работая в командной строке, очень часто требуется повторить ранее введенную команду. Набирать ее снова не слишком рационально. Для повтора ранее введенных команд в командной оболочке Linux возможна прокрутка команд с помощью стрелок вверх и вниз на клавиатуре. Происходит прокрутка команд назад или вперед. Когда появится нужная команда следует нажать Enter и команда будет повторена. Понятно, что при этом можно видоизменить команду (например, изменить параметр).

Автозавершение

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

Например, для просмотра содержимого рабочего стола не обязательно писать ls Desktop. Достаточно написать ls De и нажать клавишу Tab — оболочка допишет слово сама. Однако если написать ls D и нажать Tab, то ничего не произойдет, т. к. обычно в домашнем каталоге пользователя есть два каталога, начинающиеся с буквы D, и какой из них имеется ввиду командная оболочка определить не может.

Бывает, что мы не знаем что вводить далее после нескольких букв и командная оболочка после одиночного нажатия клавиши табуляции ничего не дополняет. В таком случае может помочь двойное нажатие Tab, после которого на экране появляется перечень всех возможных вариантов. Например, мы можем забыть как правильно писать команду echo. Но если введем букву e и нажмем два раза Tab, то увидим перечень команд, в котором можем узнать требуемую нам команду.

Тоже самое можно использовать в случае ls D. В этом случае выведется список каталогов, начинающихся с буквы D.

Сtrl + u

Ctrl + U отменяет введенную в текущей строке команду. Если команда длинная, то использовать Ctrl + U куда удобнее, чем стирать буквы по порядку с помощью клавиши Backspace.

Есть и другие сочетания клавиш, облегчающие работу с командной строкой (например, Ctrl + W – удаление слова).

Ввод данных в файл и вывод из файла

Когда мы работаем в командной оболочке, то работаем в интерактивном режиме: спрашиваем и получаем ответ. При этом ответы оболочки не сохраняются, но что делать, если результат работы команды требуется сохранить? На этот случай командная оболочка поддерживает такие функции как перенаправление стандартного ввода и вывода. Ввод можно направить не на экран, а в файл.

Аналогично, данные можно ввести не с помощью клавиатуры, а получить из файла.

Перенаправление осуществляется с помощью знаков < и >. Угол указывает куда направить, а обратная сторона (широкая) — откуда взять. Например, команда cat > fileX запишет все, что введет пользователь в процессе работы программы cat, в файл с именем fileX. А вот команда cat < fileY сделает обратное — выведет на экран содержимое файла fileY.

Рассмотрим пример более практического использования перенаправления. Допустим, нам надо оставить на потом сведения о содержимом домашнего каталога. Для этого мы перенаправим вывод команды ls в файл (например, ls > myhome). Еще хорошо бы, чтобы в этом файле содержалась дата когда был взят этот "срез". Для этого допишем в файл результат команды date, которая позволяет получить дату и время (date >> myhome). Обратите внимание, что для дополнения файла используется два знака >; если использовать один знак, то произойдет перезапись (старые данные сотрутся и заменятся новыми). Теперь предположим, что через какое-то время потребовалось узнать, что же было в папке ранее: для этого достаточно выполнить команду cat < myhome.

Команды man и info

Выполняя ту или иную команду в bash-оболочке, мы запускаем какую-либо программу. Количество этих небольших программ-утилит в операционных системах на базе ядра Linux очень большое. В связи с этим невозможно запомнить весь перечень команд с их параметры. Поэтому каждая команда в Linux имеет описание в виде так называемых man-страниц. Man (в данном случае) – это сокращение от слова manual (руководство).

Чтобы посмотреть документацию к той или иной программе (команде) необходимо в оболочке Linux написать man имя_команды. Например, если дать команду man sleep, то увидим справочную информацию по команде sleep.

Поскольку команда sleep весьма специфична, то имеет достаточно короткое описание. На самом деле большинство man-документов не умещаются в пределах экрана. Для их просмотра можно использовать следующие клавиши: Стрелки вверх и вниз – построчная прокрутка; Page_Up и Page_Down – постраничная прокрутка; Home и End – перемещение в начало и конец документа.

Покинуть руководство позволяет клавиша Q.

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

Помимо man-страниц есть другая версия документации – это info-страницы. В отличие от первых они не являются строгой документацией, их легче понять начинающим пользователям Linux, могут содержать примеры и ссылки. Ниже представлен info-документ команды sleep (info sleep).

Структура man-страниц

При первом взгляде на man-документ его бывает трудно понять, т.к. он не похож на простой текст-объяснение (он им и не является). Маны всегда строго структурированы и разбиты на разделы. Некоторые из разделов присутствуют обязательно, другие по необходимости:

  1.  NAME (ИМЯ) – команда и то, что она делает.
  2.  SYNOPSIS (ОБЗОР) – синтаксис команды. Параметры без скобок являются обязательными, а в квадратных скобках – нет (обычно это ключи).
  3.  DESCRIPTION (ОПИСАНИЕ) – подробное описание как использовать команду.
  4.  OPTIONS (ОПЦИИ) – перечень возможных ключей и их описание.
  5.  ...

Как найти команду?

Может возникнуть ситуация, когда требуется выполнить какую-нибудь задачу, а как ее выполнить не знаешь. Всегда можно предположить, что такая задача возникала перед другими людьми ранее и, возможно, уже создана программа (утилита) решающая ее. Следовательно, в bash-оболочке Linux есть команда, позволяющая выполнить возникшую задачу. Но как найти эту команду? Может быть мы даже готовы почитать маны про эту команду, но не знаем и с какой буквы она начинается. Что делать? Книги и Интернет? Однако есть еще один вариант - это команда apropos. Она выводит на экран описание команд, содержащих слово, переданное ей в качестве аргумента. Допустим возникла потребность объединить пару файлов. Чтобы узнать какими способами это можно сделать, достаточно дать команду apropos объедин (окончание недописано, т.к. неизвестно как слово "объединение" используется в описании команды – может быть и "объединяет" и "объединяются" ...).

Полученный список позволяет оценить, какая команда больше всего нам подходит. Но это только полпути: далее следует почитать man-страницу к данной команде, чтобы выяснить, как ее следует использовать. Только вот одно существенное примечание: аргумент команде apropos мы передали на русском языке, поэтому поиск осуществлялся только в части документов (причем довольно малой). Обычно следует использовать русские и английские слова, чтобы найди требуемую команду.

И еще одно примечание: для поиска команд вместо аpropos можно использовать man с ключом -k (man -k строка) – будет тоже самое.


Абсолютная и относительная адресация.

Для того, чтобы узнать адрес текущего каталога, нужно вызвать команду pwd.

[methody@localhost methody]$ pwd

/home/methody

[methody@localhost methody]$

Очень частой задачей в командной строке Linux является просмотр содержимого того или иного каталога. Для этого используется команда ls. Однако, используя данную команду без аргументов, можно увидеть содержимое только текущего каталога. Обычно в Linux по-умолчанию текущим каталогом является домашний каталог пользователя. Как быть, если требуется узнать содержимое других каталогов? Для этого в качестве аргумента команде ls следует передать адрес каталога.

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

/home/sv/Desktop

/boot
/etc/vim

Первый знак / (слеш) - это обозначение корневого каталога.

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

. или ничего - текущий каталог;
.. - каталог на уровень выше (родительский по отношению к текущему).

При относительной адресации нужно хорошо представлять картину взаимного расположения директорий.

Примеры относительных адресов:

./Documents/images/
Documents/images/
../test – в родительском каталоге по отношению к текущему есть папка test:

Уместность использования относительного или абсолютного адреса зависит от ситуации. Так, например, если требуется просмотреть корневой каталог, то проще написать / (т. е. абсолютный адрес); если необходимо узнать содержимое каталога, вложенного в текущий, то можно просто написать его название (относительная адресация).

Можно выделить еще один способ адресации — это адресация относительно домашнего каталога пользователя. Обозначается домашний каталог знаком тильды (~). Например, из любого каталога адрес ~/Documents, заставит обратиться в папку Documents, находящуюся в домашнем каталоге.

Пример просмотра различных каталогов с помощью команды ls:

Обратите внимание, на команду ls /. Она выдает список вложенных директорий корневого каталога. Для операционных систем на базе ядра Linux этот список относительно стандартен. Например,

root – это домашний каталог суперпользователя;
bin – содержит программы, необходимые во время старта системы, а также часто используемые команды;
boot – содержит файлы для загрузки и ядро операционной системы.

Использование адреса с командой ls – лишь частный случай. Например, можно направить вывод в файл в другой каталог, отличный от текущего:

Когда мы используем команду ls, то можем увидеть содержимое почти любого каталога, но не переходим в него (текущий каталог не меняется). Мы как бы смотрим из одного помещения в другое, оставаясь по-прежнему в первом. Однако бывают случаи, когда требуется изменить текущий каталог.

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

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

Если требуется выполнить множество различных операций в какой либо папке, то лучше перейти в нее, чем пытаться манипулировать объектами из других каталогов. Это позволит не писать длинные адреса при обращении к объектам (каталогам и файлам).

Следует помнить одну полезную особенность — это автозавершение при нажатии клавиши Tab. Для адресов оно работает также как и при записи команд. Например, желая перейти из домашнего каталога на рабочий стол, достаточно набрать cd De, нажать Tab, затем Enter.

Операции с файлами в командной строке Linux.

Копирование

Для копирования файлов в bash используется команда cp (от "copy"– копировать), которая имеет два обязательных аргумента: имя (адрес) исходного файла и имя (адрес) создаваемой копии или адрес каталога, куда помещается копия.

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

Рассмотрим несколько примеров.

cp readme readme2

В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.

cp readme Desktop/

Создается копия на рабочем столе. Непосредственное имя копии в данном случае можно оставить прежним, т.к. полные имена (адрес + имя) файлов различны. Используется относительная адресация (каталог Desktop является дочерним по отношению к домашнему каталогу).

cp /home/irina/tux.png /mnt/D/pingvin.png

Здесь копируется файл из домашнего каталога пользователя irina в каталог D, используются абсолютные адреса, имя копии изменяется.

Чтобы скопировать каталог необходимо после команды cp прописать ключ r:

cp -r ./letters ./oldletters

Перемещение и переименование

Для перемещения и переименования в bash-оболочки Linux используется одна команда – mv (от "move" – перемещать). Также как и с командой копирования обязательно наличие двух аргументов, а выбор того или иного действия (перемещения или переименования) зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны различные адреса, то произойдет перемещение, если одинаковые (а различны только имена) – переименование.

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

mv document.txt Work

mv document.txt Work/doc23.txt

Здесь в первом случае файл document.txt перемещается в каталог Work, а во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.

При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:

mv order.txt orderNew.txt

mv Work/list.odt Work/names.odt

Создание файлов и каталогов

Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:

mkdir Work

или

mkdir ./Work

Существует множество способов создания файлов. Один из них – это создание пустого файла с помощью команды touch. В качестве аргумента ей передается имя файла. Еще один способ – это перенаправление вывода какой-либо команды в файл. Пример:

cal > ./Work/January

Здесь команда cal выводит календарь на текущий месяц, а поскольку стоит знак ">" (в данном случае обозначающий "направить результат выполнения команды в ..."), то вывод команды будет записан в файл January, находящийся в папке Work.

Удаление файлов и каталогов

Для удаления каталогов используется команда rmdir. Удалять можно только пустые каталоги, т. е. не содержащие файлов и поддиректорий (вложенных папок).

Для удаления файлов используется команда rm. Например:

rm ghost.png

Чтобы удалить не пустой каталог можно использовать команду rm с ключом -r. При этом при удалении каждого вложенного объекта будет требоваться подтверждение.

Однако если добавить еще ключ -f, то вопросов на подтвержение уже возникать не будет:

rm -rf /mnt/save/alldocuments/

Виды ссылок в Linux. Теория

Что такое индексный дескриптор?

Мы знаем, что файл – это область данных на диске, которую можно найти по имени. Однако в операционных системах на базе ядра Linux вся информация о файле привязана не к имени, а так называемому индексному дескриптору. У каждого файла есть свой уникальный (единственный и неповторимый) индексный дескриптор, который содержит сведения о файле: в каких блоках диска хранится содержимое файла, размер файла, время его создания и др.

Пронумерованные индексные дескрипторы файлов содержатся в специальной таблице. Каждый логический и физический диск имеет собственную таблицу индексных дескрипторов.

Именно номер индексного дескриптора является истинным именем файла в системе.

Какие ссылки бывают жесткими?

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

Имя файла, ссылающееся на его индексный дескриптор, называется жесткой ссылкой. Механизм жестких ссылок – это основной способ обращаться к файлу по имени в операционных системах, основанных на ядре Linux.

сколько имен у файла?

Файл в системе идентифицирует (определяет) номер его индексного дескриптора, а имя файла содержит лишь указатель на него. Естественно, что таких указателей можно создать множество, хотя все они будут направлять на один объект. Для образного сравнения, можно представить придорожные указатели на какую-нибудь бензоколонку: их много, они находятся в разных местах трассы, но указывают на одну и туже точку. Другими словами, у файла в Linux может быть несколько имен.

Но почему бывает недостаточно одного имени файла? Все дело в удобстве доступа (а также предоставлении доступа).

Например, человек работает над проектом и постоянно обращается к файлу, местоположение которого предусмотрено во вложенном каталоге. Чтобы открыть этот файл в графическом режиме, придется по крайней мере открыть последовательно два каталога. Но куда удобнее будет поместить еще одно имя файла на Desktop (Рабочий стол).

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

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

В чем "мягкость" мягких ссылок?

Несмотря на всю прелесть жестких ссылок, у них есть и ограничения: их можно создавать только на файлы, но не на каталоги. Также жесткую ссылку нельзя создать с одного диска на другой. Последнее означает, что нельзя создать жесткую ссылку на файл находящийся, например, на съемном носителе (дискеты, флэш-память, CD-R и др.) или другом разделе жесткого диска.

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

Следует понимать, что понятия жесткой и мягкой ссылки, несмотря на их созвучность, различны по сути. Жесткая ссылка указывает непосредственно на индексный дескриптор, а мягкая указывает на жесткую ссылку. Если удалить все жесткие ссылки файла, то ни одна мягкая ссылка "не сработает".

На рисунке изображена односторонняя связь между символьными ссылками и именами файла, а также между именами и индексным дескриптором. Верхний квадрат соответствует индексному дескриптору файла, квадраты со скругленными углами – именам файла, а круги – символьным ссылкам. Индексный дескриптор файла всегда один, а имен может быть множество. Также может существовать неограниченное количество символьных ссылок на каждое имя файла. При удалении жесткой ссылки, на имя которой имелась мягкая ссылка, последняя не наследует связь с дескриптором и утрачивает свою "работоспособность". Если в данном примере удалить жесткую ссылку с именем logotip, то файлы pic1 и tux станут бесполезны, т.к. открыть файл 555795 с их помощью уже будет нельзя. Такие ссылки часто называют "битыми".

ссылка – это не копия!

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

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

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

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

Создание ссылок в Linux

В командной оболочке Linux для того, чтобы добавить файлу еще одно имя (создать еще одну жесткую ссылку на файл) необходимо выполнить команду ln (от "link" - ссылка, связывать). В качестве первого параметра указывается существующее имя файла, второго - имя новой ссылки.

ln file1 file2

В данном случае, в текущем каталоге была создана еще одна жесткая ссылка на файл с именем file1. Созданная ссылка находится в том же каталоге, что и первая. Далее можно переместить ссылку в другой каталог при помощи команды mv.

Можно сразу указать место назначения ссылки с помощью адреса. Например:

ln list ./Desktop/l_class

ln /root/list /home/vasy/Desktop/l_class

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

Число жестких ссылок на файл (т. е. разных имен файла) можно узнать, выполнив команду ls с параметром -l, которая построчно выводит на экран подробные сведения о каждом объекте каталога.

В данном примере создаются две ссылки на файд cp_mv_7.odt: одна ссылка помещается в папку Documents, а вторая на рабочий стол. Далее выполняется команда ls по отношению к этим двум каталогам. Сразу за перечислением прав доступа (-rwxrwxrwx) к файлу следует число, которое и обозначает количество жестких ссылок на файл. В данном случае их три (не забывайте про ту, что была исходной). То, что все ссылки указывают на один и тот же файл, говорит идентичность информации о файле.

Символьную ссылку можно создать при помощи команды ln с ключом -s (от "symbolic"). В качестве первого параметра пишется АБСОЛЮТНЫЙ АДРЕС и имя исходного файла, в качестве второго – адрес и имя мягкой ссылки. Например:

В примере создана символьная ссылка на файл text, находящийся в каталоге Documents. Ссылка размещена на рабочем столе. При просмотре содержимого каталога Desktop, мы можем видеть, что файл link_text является символьной ссылкой на объект находящийся по адресу /home/sveta/Documents/text.

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

2. Выполнить задания к самостоятельной работе (согласно своего варианта). Отчет представить в виде текстового файла с именем, содержащим фамилию студента. Отчет должен содержать: тему, цель работы, Фамилию, инициалы, группу, № варианта, текст задания и отчет о выполнении.

Самостоятельная работа

Вариант 1

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог Tuz
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог Tuz.
  12.  Вывести список файлов каталога Tuz (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).

Tuz

  1.  Вывести список файлов домашнего каталога (записать команду в отчет).
  2.  Показать содержимое файла (записать команду в отчет).
  3.  Вывести на экран размер каталога Tuz (записать команду в отчет).
  4.  Создать в каталоге Tuz файловую структуру в соответствии с рисунком.
  5.  Имена каталогов – любые
  6.  Имена файлов – любые
  7.  Все файлы – это копии созданного вами файла.
  8.  Стрелкой показано создание символической ссылки
  9.  Записать в отчет вводимые команды
  10.  Полученную структуру с именами файлов и каталогов записать в отчет.
  11.  Переименовать каталог Tuz в Tuz_номер_группы (записать команду в отчет).
  12.  Показать версию ядра Linux (записать команду в отчет)
  13.  Показать сетевое имя компьютера (записать команду в отчет)
  14.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  15.  Очистить экран терминала (записать команду в отчет)
  16.  Показать последние 60 набранных команд (записать команду в отчет)
  17.  Выполнить последнюю команду (записать команду в отчет)
  18.  Удалить каталог Tuz_номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 2

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог Archi
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог Archi.
  12.  Вывести список файлов каталога Archi (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).
  16.  Вывести на экран размер каталога Archi (записать команду в отчет).

Archi

  1.  Создать в каталоге Archi файловую структуру в соответствии с рисунком.
  2.  Имена каталогов – любые
  3.  Имена файлов – любые
  4.  Все файлы – это копии созданного вами файла.
  5.  Стрелкой показано создание символической ссылки
  6.  Записать в отчет вводимые команды
  7.  Полученную структуру с именами файлов и каталогов записать в отчет.
  8.  Переименовать каталог Archi в Archi_номер_группы (записать команду в отчет).
  9.  Показать версию ядра Linux (записать команду в отчет)
  10.  Показать сетевое имя компьютера (записать команду в отчет)
  11.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  12.  Очистить экран терминала (записать команду в отчет)
  13.  Показать последние 60 набранных команд (записать команду в отчет)
  14.  Выполнить последнюю команду (записать команду в отчет)
  15.  Удалить каталог Archi_номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 3

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог SUSE
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог SUSE.
  12.  Вывести список файлов каталога SUSE (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).
  16.  Вывести на экран размер каталога SUSE (записать команду в отчет).
  17.  Создать в каталоге SUSE файловую структуру в соответствии с рисунком.

SUSE

  1.  Имена каталогов – любые
  2.  Имена файлов – любые
  3.  Все файлы – это копии созданного вами файла.
  4.  Стрелкой показано создание символической ссылки
  5.  Записать в отчет вводимые команды
  6.  Полученную структуру с именами файлов и каталогов записать в отчет.
  7.  Переименовать каталог SUSE в SUSE_номер_группы (записать команду в отчет).
  8.  Показать версию ядра Linux (записать команду в отчет)
  9.  Показать сетевое имя компьютера (записать команду в отчет)
  10.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  11.  Очистить экран терминала (записать команду в отчет)
  12.  Показать последние 60 набранных команд (записать команду в отчет)
  13.  Выполнить последнюю команду (записать команду в отчет)
  14.  Удалить каталог SUSE_номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 4

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог FEDORA
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог FEDORA.
  12.  Вывести список файлов каталога FEDORA (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).
  16.  Вывести на экран размер каталога FEDORA (записать команду в отчет).

FEDORA

  1.  Создать в каталоге FEDORA файловую структуру в соответствии с рисунком.
  2.  Имена каталогов – любые
  3.  Имена файлов – любые
  4.  Все файлы – это копии созданного вами файла.
  5.  Стрелкой показано создание символической ссылки
  6.  Записать в отчет вводимые команды
  7.  Полученную структуру с именами файлов и каталогов записать в отчет.
  8.  Переименовать каталог FEDORA в FEDORA_номер_группы (записать команду в отчет).
  9.  Показать версию ядра Linux (записать команду в отчет)
  10.  Показать сетевое имя компьютера (записать команду в отчет)
  11.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  12.  Очистить экран терминала (записать команду в отчет)
  13.  Показать последние 60 набранных команд (записать команду в отчет)
  14.  Выполнить последнюю команду (записать команду в отчет)
  15.  Удалить каталог FEDORA_номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 5

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог DEBIAN
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог DEBIAN.
  12.  Вывести список файлов каталога DEBIAN (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).
  16.  Вывести на экран размер каталога DEBIAN (записать команду в отчет).
  17.  Создать в каталоге DEBIAN файловую структуру в соответствии с рисунком.

DEBIAN

  1.  Имена каталогов – любые
  2.  Имена файлов – любые
  3.  Все файлы – это копии созданного вами файла.
  4.  Стрелкой показано создание символической ссылки
  5.  Записать в отчет вводимые команды
  6.  Полученную структуру с именами файлов и каталогов записать в отчет.
  7.  Переименовать каталог DEBIAN в DEBIAN_номер_группы (записать команду в отчет).
  8.  Показать версию ядра Linux (записать команду в отчет)
  9.  Показать сетевое имя компьютера (записать команду в отчет)
  10.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  11.  Очистить экран терминала (записать команду в отчет)
  12.  Показать последние 60 набранных команд (записать команду в отчет)
  13.  Выполнить последнюю команду (записать команду в отчет)
  14.  Удалить каталог DEBIAN_номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 6

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог RedHat
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог RedHat.
  12.  Вывести список файлов каталога RedHat (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).
  16.  Вывести на экран размер каталога RedHat (записать команду в отчет).
  17.  Создать в каталоге RedHat файловую структуру в соответствии с рисунком.

RedHat

  1.  Имена каталогов – любые
  2.  Имена файлов – любые
  3.  Все файлы – это копии созданного вами файла.
  4.  Стрелкой показано создание символической ссылки
  5.  Записать в отчет вводимые команды
  6.  Полученную структуру с именами файлов и каталогов записать в отчет.
  7.  Переименовать каталог RedHat в RedHat _номер_группы (записать команду в отчет).
  8.  Показать версию ядра Linux (записать команду в отчет)
  9.  Показать сетевое имя компьютера (записать команду в отчет)
  10.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  11.  Очистить экран терминала (записать команду в отчет)
  12.  Показать последние 60 набранных команд (записать команду в отчет)
  13.  Выполнить последнюю команду (записать команду в отчет)
  14.  Удалить каталог RedHat _номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 7

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог NovelL
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог NovelL.
  12.  Вывести список файлов каталога NovelL (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).
  16.  Вывести на экран размер каталога NovelL (записать команду в отчет).
  17.  Создать в каталоге NovelL файловую структуру в соответствии с рисунком.

NovelL

  1.  Имена каталогов – любые
  2.  Имена файлов – любые
  3.  Все файлы – это копии созданного вами файла.
  4.  Стрелкой показано создание символической ссылки
  5.  Записать в отчет вводимые команды
  6.  Полученную структуру с именами файлов и каталогов записать в отчет.
  7.  Переименовать каталог NovelL в NovelL_номер_группы (записать команду в отчет).
  8.  Показать версию ядра Linux (записать команду в отчет)
  9.  Показать сетевое имя компьютера (записать команду в отчет)
  10.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  11.  Очистить экран терминала (записать команду в отчет)
  12.  Показать последние 60 набранных команд (записать команду в отчет)
  13.  Выполнить последнюю команду (записать команду в отчет)
  14.  Удалить каталог NovelL_номер_группы (записать команду в отчет).


Команды ОС Linux

Вариант 8

  1.  Запустить терминал
  2.  Вывести текущий путь (записать результат в отчет).
  3.  Вывести список файлов и каталогов (записать команду в отчет).
  4.  Перейти в корневой каталог (записать команду в отчет).
  5.  Вывести список файлов и каталогов (записать команду в отчет).
  6.  Перейти в домашний каталог (записать команду в отчет).
  7.  Вывести список файлов и каталогов (записать команду в отчет).
  8.  В домашнем каталоге создать каталог MepiS
  9.  Создать в домашнем каталоге файл
  10.  Ввести в файл информацию о пользователе (ФИО, группа, дата)
  11.  Скопировать файл в каталог MepiS.
  12.  Вывести список файлов каталога MepiS (записать команду в отчет).
  13.  Удалить файл из домашнего каталога (записать команду в отчет).
  14.  Вывести список файлов домашнего каталога (записать команду в отчет).
  15.  Показать содержимое файла (записать команду в отчет).

MepiS

  1.  Вывести на экран размер каталога MepiS (записать команду в отчет).
  2.  Создать в каталоге MepiS файловую структуру в соответствии с рисунком.
  3.  Имена каталогов – любые
  4.  Имена файлов – любые
  5.  Все файлы – это копии созданного вами файла.
  6.  Стрелкой показано создание символической ссылки
  7.  Записать в отчет вводимые команды
  8.  Полученную структуру с именами файлов и каталогов записать в отчет.
  9.  Переименовать каталог MepiS в MepiS_номер_группы (записать команду в отчет).
  10.  Показать версию ядра Linux (записать команду в отчет)
  11.  Показать сетевое имя компьютера (записать команду в отчет)
  12.  Показывает имя текущего пользователя и время входа (записать команду в отчет)
  13.  Очистить экран терминала (записать команду в отчет)
  14.  Показать последние 60 набранных команд (записать команду в отчет)
  15.  Выполнить последнюю команду (записать команду в отчет)
  16.  Удалить каталог MepiS_номер_группы (записать команду в отчет).

Контрольные вопросы

  1.  Что такое терминал?
  2.  Сколько терминалов эмулируется в Linux? Какие комбинации клавиш позволяют переключаться из одного терминала в другой?
  3.  Может ли один человек работать с двух терминалов?
  4.  Могут ли два человека одновременно работать с одного терминала?
  5.  Могут ли два человека одновременно работать с двух терминалов?
  6.  Как получить доступ к командной оболочке? Зачем к ней получать доступ?
  7.  Какие команды оболочки bash вы знаете?
  8.  Для чего необходимы параметры к командам?
  9.  Что передается в качестве аргумента команде cal? Как можно модифицировать выполнение этой команды?
  10.  Что делает команда echo?
  11.  Что следует записать в командной оболочке, чтобы получить данные о файлах (правах, размере и др.) текущего каталога?
  12.  Стоит ли писать sleep 1000m в командной оболочке Linux, если вы не знаете как прервать выполнение команд?
  13.  Как прервать выполнение какой-либо команды?
  14.  Каким образом можно просматривать ранее введенные команды?
  15.  Что такое автозавершение? Как им пользоваться в командной оболочке bash?
  16.  Для чего предназначена комбинация клавиш Ctrl + U?
  17.  Что произойдет в результате выполнения следующих команд: cat > text333, cal > yest, date >> yest?
  18.  Как обозначается корневой каталог?
  19.  Чем отличается относительная адресация от абсолютной? Приведите примеры адресов обоих типов.
  20.  Что означают следующие записи: ls /, cd ../../, cd ~?
  21.  Какую адресацию уместнее использовать в следующих случаях: переход из Desktop в каталог, вложенный в корневой; просмотр содержимого каталога, вложенного в текущий?
  22.  Для чего предназначена команда cd?
  23.  Как в командной оболочке Linux можно определить, какой каталог является текущим?
  24.  Для чего предназначены команды cp, mv, rm, mkdir, rmdir?
  25.  Как скопировать каталог?
  26.  Можно ли удалить не пустой каталог?
  27.  В каком из приведенных ниже примерах происходит перемещение файла? его переименование? одновременно оба действия?
    а) mv ./work/tech/comp.png ./work/tech/my_car.png

б) mv ./work/tech/comp.png ./Desktop

в) mv ./work/tech/comp.png ./work/tech/computer.png

  1.  В чем заключаются различия между жесткой и мягкой ссылками?
  2.  Сколько имен может быть у файла?
  3.  Есть ли разница между созданием дополнительной ссылки на файл и его копированием? Если "да", то в чем она заключается?

 

А также другие работы, которые могут Вас заинтересовать

56438. The Beatles Party 124.5 KB
  Objectives: to involve students in extra-curriculum activities to improve students’ speaking skills and pronunciation to practice listening comprehension to develop students’ knowledge of the world musical culture
56439. The Beauty of the World Is in Danger 90 KB
  We discussed the problem of pollution at our previous lesson. And we have found out that many species of animals and plants are in danger. Your task was to find some information about them. Read your reports, please.
56440. The City 42.5 KB
  Now you can see that the title of topic is “City” Today at our lesson we’ll be travel agency. Imagine yourself travel agents indefinite routes. We are expecting a tourist, who whoud like to visit Ukrainian cities and interesting places. Your task is to give him this information.
56441. История древнего мира. Древняя Месопотамия 82.5 KB
  В древней Месопотамии существовали крупные города-государства со сложным управлением, развитыми ремеслами, искусствами и торговыми связями. Это делало регион нестабильным, поскольку их правители враждовали за земли, торговые пути и влияние
56442. Профессия: Электромонтёр по ремонту и обслуживанию электрооборудования 497 KB
  Естественное освещение, являясь с физиологической точки зрения наиболее благоприятным для человека, не может полностью обеспечить его нормальную жизнедеятельность, поэтому еще в доисторические времена у людей возникла потребность в искусственном освещении.
56443. Тіла Обертання. Об’єм тіл обертання.. Розв’язування задач 2.9 MB
  Систематизувати й узагальнити знання з теми; відпрацювати навички розв’язування задач; розвивати логічне мислення, уміння аналізувати, просторову уяву,самостійність; виховувати інтерес до предмета.