» » » Уильям Шоттс - Командная строка Linux. Полное руководство


Авторские права

Уильям Шоттс - Командная строка Linux. Полное руководство

Здесь можно купить и скачать "Уильям Шоттс - Командная строка Linux. Полное руководство" в формате fb2, epub, txt, doc, pdf. Жанр: Компьютерная литература, издательство Питер, год 2016. Так же Вы можете читать ознакомительный отрывок из книги на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Уильям Шоттс - Командная строка Linux. Полное руководство
Рейтинг:
Название:
Командная строка Linux. Полное руководство
Издательство:
неизвестно
Год:
2016
ISBN:
978-5-496-02303-0
Вы автор?
Книга распространяется на условиях партнёрской программы.
Все авторские права соблюдены. Напишите нам, если Вы не согласны.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Командная строка Linux. Полное руководство"

Описание и краткое содержание "Командная строка Linux. Полное руководство" читать бесплатно онлайн.



Книга Уильяма Шоттса "Командная строка Linux: Полное руководство" представляет обширный обзор «жизни» в командной строке Linux. В отличие от других книг, посвященных одной программе, такой как командный интерпретатор bash, в этой книге автор попытается рассказать, как поладить с интерфейсом командной строки в более широком аспекте. Как он работает? Что можно сделать с его помощью? Как лучше его использовать? Эта книга не об администрировании системы Linux. Эта книга исключительно о Linux.

В книге материал излагается в тщательно выверенной последовательности, как в школе, где учитель руководит вами и направляет вас по правильному пути. Многие авторы грешат тем, что подают материал в «систематическом» порядке, имеющем определенный смысл для писателя, но способном вызывать путаницу у начинающих пользователей. Цель данной книги — познакомить вас с идеологией Unix, которая отличается от идеологии Windows.






Перемещение и переименование файлов


Имя passwd не выглядит органичным в нашей песочнице, поэтому дадим этому файлу какое-нибудь другое имя:

[me@linuxbox playground]$ mv passwd fun

Теперь немножко позабавимся и переместим переименованный файл в каждый из каталогов и обратно:

[me@linuxbox playground]$ mv fun dir1

переместит файл в каталог dir1. Следующая команда

[me@linuxbox playground]$ mv dir1/fun dir2

переместит файл из каталога dir1 в каталог dir2. Следующая команда

[me@linuxbox playground]$ mv dir2/fun .

вернет его в текущий рабочий каталог. Теперь посмотрим, как mv влияет на каталоги. Сначала переместите файл в каталог dir1:

[me@linuxbox playground]$ mv fun dir1

затем переместите dir1 в dir2 и проверьте их содержимое командой ls:

[me@linuxbox playground]$ mv dir1 dir2

[me@linuxbox playground]$ ls -l dir2

итого 4

drwxrwxr-x 2 me me 4096 2012-01-11 06:06 dir1

[me@linuxbox playground]$ ls -l dir2/dir1

итого 4

-rw-r--r-- 1 me me 1650 2012-01-10 16:33 fun

Обратите внимание: так как dir2 уже существует, mv переместит dir1 в dir2. Если бы каталога dir2 не было, mv просто переименовала бы dir1 в dir2. В заключение верните все на свои места:

[me@linuxbox playground]$ mv dir2/dir1 .

[me@linuxbox playground]$ mv dir1/fun .

Создание жестких ссылок


Теперь попробуем поиграть со ссылками. Сначала займемся жесткими ссылками: создайте несколько жестких ссылок для нашего файла:

[me@linuxbox playground]$ ln fun fun-hard

[me@linuxbox playground]$ ln fun dir1/fun-hard

[me@linuxbox playground]$ ln fun dir2/fun-hard

Теперь у нас есть четыре экземпляра файла fun. Посмотрим, что содержит наш каталог playground:

[me@linuxbox playground]$ ls -l

итого 16

drwxrwxr-x 2 me me 4096 2012-01-14 16:17 dir1

drwxrwxr-x 2 me me 4096 2012-01-14 16:17 dir2

-rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun

-rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun-hard

Прежде всего следует обратить внимание на на второе поле в записях, соответствующих файлам fun и fun-hard. Оба они содержат 4 — число жестких ссылок на файл, существующих в данный момент. Как вы помните, файл всегда имеет хотя бы одну жесткую ссылку, потому что имя файла определяется ссылкой. Но как убедиться, что fun и fun-hard — это один и тот же файл? В этом случае команда ls нам не помощник. Вы, конечно, скажете, что fun и fun-hard имеют одинаковые размеры (поле 5), но по списку файлов нельзя уверенно утверждать, что это один и тот же файл. Чтобы решить эту задачу, заглянем поглубже.

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

Команда ls может извлекать эту информацию. Для этого ее нужно вызвать с параметром -i:

[me@linuxbox playground]$ ls -li

итого 16

12353539 drwxrwxr-x 2 me me 4096 2012-01-14 16:17 dir1

12353540 drwxrwxr-x 2 me me 4096 2012-01-14 16:17 dir2

12353538 -rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun

12353538 -rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun-hard

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

Создание символических ссылок


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

Создаются символические ссылки почти так же, как жесткие ссылки:

[me@linuxbox playground]$ ln -s fun fun-sym

[me@linuxbox playground]$ ln -s ../fun dir1/fun-sym

[me@linuxbox playground]$ ln -s ../fun dir2/fun-sym

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

[me@linuxbox playground]$ ls -l dir1

итого 4

-rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun-hard

lrwxrwxrwx 1 me me 6 2012-01-15 15:17 fun-sym -> ../fun

Запись с информацией о fun-sym в dir1 сообщает, что это символическая ссылка (первый символ l в первом поле), указывающая на ../fun, что правильно. Относительно символической ссылки fun-sym файл fun находится в каталоге уровнем выше. Обратите также внимание на размер файла символической ссылки, равный 6, — это число символов в строке ../fun, а не размер файла, на который она указывает.

При создании символических ссылок можно также указывать абсолютные пути, например:

[me@linuxbox playground]$ ln -s /home/me/playground/fun dir1/fun-sym

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

Помимо обычных файлов, символические ссылки могут указывать также на каталоги:

[me@linuxbox playground]$ ln -s dir1 dir1-sym

[me@linuxbox playground]$ ls -l

итого 16

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir1

lrwxrwxrwx 1 me me 4 2012-01-16 14:45 dir1-sym -> dir1

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir2

-rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun

-rw-r--r-- 4 me me 1650 2012-01-10 16:33 fun-hard

lrwxrwxrwx 1 me me 3 2012-01-15 15:15 fun-sym -> fun

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


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

[me@linuxbox playground]$ rm fun-hard

[me@linuxbox playground]$ ls -l

итого 12

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir1

lrwxrwxrwx 1 me me 4 2012-01-16 14:45 dir1-sym -> dir1

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir2

-rw-r--r-- 3 me me 1650 2012-01-10 16:33 fun

lrwxrwxrwx 1 me me 3 2012-01-15 15:15 fun-sym -> fun

Результат получился вполне ожидаемым. Файл fun-hard исчез, и счетчик ссылок во втором поле в записи для файла fun уменьшился с четырех до трех. Далее, удалите файл fun и ради развлечения добавьте в команду параметр -i, чтобы посмотреть, что происходит:

[me@linuxbox playground]$ rm -i fun

rm: удалить обычный файл `fun'?

Введите y в ответ на запрос, и файл будет удален. Но давайте посмотрим на вывод ls. Заметили, что произошло с fun-sym? Поскольку теперь символическая ссылка указывает на несуществующий файл, она стала битой:

[me@linuxbox playground]$ ls -l

итого 8

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir1

lrwxrwxrwx 1 me me 4 2012-01-16 14:45 dir1-sym -> dir1

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir2

lrwxrwxrwx 1 me me 3 2012-01-15 15:15 fun-sym -> fun

В большинстве дистрибутивов Linux команда ls особым образом настраивается на отображение битых ссылок. В Fedora битые ссылки отображаются как мигающий красный текст. Битые ссылки не представляют никакой опасности, но вносят определенную путаницу. При попытке использовать битую ссылку вы увидите:

[me@linuxbox playground]$ less fun-sym

fun-sym: Нет такого файла или каталога

Давайте немного приберем за собой. Удалите символическую ссылку:

[me@linuxbox playground]$ rm fun-sym dir1-sym

[me@linuxbox playground]$ ls -l

итого 8

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir1

drwxrwxr-x 2 me me 4096 2012-01-15 15:17 dir2

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

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

[me@linuxbox playground]$ cd

[me@linuxbox ~]$ rm -r playground

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

Диспетчеры файлов в GNOME и KDE предоставляют простой автоматизированный способ создания символических ссылок. Если в GNOME во время перетаскивания файла мышью удерживать нажатыми клавиши CTRL и SHIFT, вместо копирования (или перемещения) файлов будет выполнена операция создания ссылки. В KDE, когда перетаскиваемый файл сбрасывается в целевой каталог, появляется небольшое меню, предлагающее выбор из трех операций: скопировать, переместить или создать ссылку.

Заключительное замечание


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


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Уильям Шоттс

Уильям Шоттс - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

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

Отзывы о "Уильям Шоттс - Командная строка Linux. Полное руководство"

Отзывы читателей о книге "Командная строка Linux. Полное руководство", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.