русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование символических ссылок


Дата добавления: 2015-07-09; просмотров: 611; Нарушение авторских прав


Символические ссылки — это особый вид файлов, представляющий со- бой указатели на другие файлы. Символические ссылки создают командой ln -s, где первый аргумент — имя уже существующего файла, а второй аргумент — либо имя символической ссылки, либо каталога, где будет об- разован файл символической ссылки с таким же именем, что и исходный файл (пример 4.32).

 

Пример 4.32. Создание символической ссылки на файл

 

$ ln -s file1 slink1  
$ ls -li file1 slink1
4639 -rw-rw-r-- 1 user1 users 0 Dec 11 15:55 file1
1604 lrwxrwxrwx 1 user1 users 5 Dec 16 01:37 slink1 ->

file1

$ echo 123 > file1

$ cat slink1 123

 

В примере 4.32 на файл file1 создана символическая ссылка slink1. Метадан- ные у file1 и slink1 различаются, поскольку это совершенно разные файлы. Тем не менее, к файлу можно обращаться с помощью ссылки.

Можно создавать ссылки на каталоги (пример 4.33).


 

Пример 4.33. Создание символической ссылки на каталог

 

$ ln -s ~/dir1 /tmp

$ ls -ldi dir1 /tmp/dir1

4635 drwxr-xr-x 2 user1 users 144 Dec 16 00:26 dir1

163286 lrwxrwxrwx 1 user1 users 16 Dec 16 01:12 /tmp/dir1 ->

/home/user1/dir1

 

В этом примере создается символическая ссылка на каталог dir1 в каталоге

/tmp. Заметно, что символическая ссылка имеет совершенно иной тип файла и номер inode, она не ограничена одной файловой системой. Обратите также внимание, что, во-первых, символические ссылки можно устанавливать на каталоги, а, во-вторых, при создании символической ссылки в другом катало- ге следует указывать полное имя исходного файла. Если второе требование не выполняется, то:

r либо ссылка будет оборванной (или иначе — висящей), т. е. символиче- ская ссылка будет указывать на несуществующий файл;



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

Символическая ссылка может оказаться оборванной (пример 4.34) в случае, если:

r файл, на который она указывает, перемещен, переименован или удален;

r нет достаточных прав доступа на файл, указываемый символической ссылкой;

r файл находится в файловой системе, которая сейчас не смонтирована.

 

Пример 4.34. Оборванная символическая ссылка

 

$ mv file1 file11

$ cat slink1

cat: slink1: No such file or directory

 

 

После переименования файла file1 в file11 ссылка slink1 стала оборванной.

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


 

Пример 4.35. Создание ссылки на файл устройства

 

$ ln -s /dev/fd0 .

$ ls -l fd0

lrwxrwxrwx 1 user1 users 8 Dec 16 01:13 fd0 -> /dev/fd0

 

Длина файла символической ссылки равна длине имени файла, на который она указывает.

Команда cp обладает специальной опцией -s, которая позволяет вместо ко- пирования файлов создавать на них символические ссылки (пример 4.36).

 

Пример 4.36. Опция -s команды cp

 

$ cp -s ~/f??? /tmp

$ ls -l /tmp/f???

lrwxrwxrwx 1 user1 users 16 Dec 16 01:52 /tmp/f112 -> /home/user1/f112

lrwxrwxrwx 1 user1 users 16 Dec 16 01:52 /tmp/f113 -> /home/user1/f113

lrwxrwxrwx 1 user1 users 16 Dec 16 01:52 /tmp/f117 -> /home/user1/f117

lrwxrwxrwx 1 user1 users 16 Dec 16 01:52 /tmp/f122 -> /home/user1/f122

 

В примере 4.36 на группу файлов были созданы символические ссылки в ка- талоге /tmp.

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

 

Пример 4.37. Копирование символических ссылок

 

$ cp -d /tmp/f122 Documents/

$ ls -l Documents/f122

lrwxrwxrwx 1 user1 users 16 Dec 16 02:00 Documents/f122 ->

/home/user1/f122



<== предыдущая лекция | следующая лекция ==>
Использование жестких связей | Процессы и задания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.216 сек.