4.4.4. Символические ссылки (еще раз об именах файлов)
4.4.4. Символические ссылки (еще раз об именах файлов)
В разделе об именах файлов уже говорилось о том, что файл в Linux может иметь несколько имен или "жестких ссылок".
Жесткая ссылка является просто еще одним именем для исходного файла. Она прописывается в индексном дескрипторе исходного файла. После создания жесткой ссылки невозможно различить, где исходное имя файла, а где ссылка. Если вы удаляете один из этих файлов (точнее одно из этих имен), то файл еще сохраняется на диске (пока у него есть хоть одно имя-ссылка).
Очень трудно различить первоначальное имя файла и позже созданные жесткие ссылки на него. Поэтому жесткие ссылки применяются там, где отслеживать различия и не требуется. Одно из применений жестких ссылок состоит в том, чтобы предотвратить возможность случайного удаления файла.
Особенностью жестких ссылок является то, что они прямо указывают на номер индексного дескриптора, а, следовательно, такие имена могут указывать только на файлы внутри той же самой файловой системы (т. е., на том же самом носителе, на котором находится каталог, содержащий это имя).
Но в Linux имеется другой тип ссылок, так называемые символические ссылки. Эти ссылки тоже могут рассматриваться как дополнительные имена файлов, но в то же время они представляются отдельными файлами - файлами типа символических ссылок. В отличие от жестких ссылок символические ссылки могут указывать на файлы, расположенные в другой файловой системе, например, на монтируемом носителе, или даже на другом компьютере. Если исходный файл удален, символическая ссылка не удаляется, но становится бесполезной. Используйте символические ссылки в тех случаях, когда хотите избежать путаницы, связанной с применением жестких ссылок.
Создание любой ссылки внешне подобно копированию файла, но фактически как исходное имя файла, так и ссылка указывают на один и тот же реальный файл на диске. Поэтому, например, если вы внесли изменения в файл, обратившись к нему под одним именем, вы обнаружите эти изменения и тогда, когда обратитесь к файлу по имени-ссылке. Для того, чтобы создать символическую ссылку, используется уже упоминавшаяся команда ln с дополнительной опцией -s:
ln -s имя_файла_или_каталога имя_ссылки
Пример:
[user]$ ln -s /home/kos/ve/HOWTO/font-HOWTO-ru/ ~/FONTS
После выполнения такой команды в моем домашнем каталоге появился подкаталог FONTS. Если теперь мы просмотрим список файлов в каталоге /home/kos с помощью команды ls -l, то среди прочих увидим такую строку:
lrwxrwxrwx 1 kos kos 31 Dec 13 21:13 FONTS -› /home/kos/ve/HOWTO/font-HOWTO-ru/
Обратите внимание на самый первый символ в этой строке: он показывает, что данная запись соответствует символической ссылке. Впрочем, это видно и в поле имени, где после нового имени и стрелки указано исходное имя файла (в данном случае - каталога).
Если вы создали в каталоге kat1 символическую ссылку, которая указывает на какой-то другой каталог, то вы можете переместить каталог kat1 куда угодно, символическая ссылка при этом будет оставаться корректной. Точно так же можно перемещать сами символические ссылки. Но остерегайтесь использовать ".." (т. е. ссылку на родительский каталог) в полных именах файлов, включающих символические ссылки, поскольку по символической ссылке нельзя проследовать в обратном направлении, а ".." всегда означает истинный родительский каталог данного каталога.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Ссылки
Ссылки Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no 4, 1987, p. 10-19.Hayes, John R., Complete Problem Solver, Lawrence Erlbaum, 1989.Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press,
Символические ссылки. Жесткие ссылки.
Символические ссылки. Жесткие ссылки. Немного теорииВ системах Unix довольно часто возникает необходимость иметь для одного и того же файла или каталога разные имена. При этом одно из имен логично назвать основным, а все другие - его псевдонимами. В терминологии Unix такие
Ссылки
Ссылки Осталось рассмотреть еще один момент, связанный с организацией доступа к данным. Это так называемые ссылки — своего рода указатели на массивы и экземпляры объектов (о них будет рассказано далее), хранящиеся в соответствующих им переменных.Когда мы создаем массив,
19.6.11 Ссылки
19.6.11 Ссылки Чтобы включить в документ ссылку, нужно:? Использовать теги начала и конца ссылки? Указать URL связанного со ссылкой документа? Обеспечить метку для щелчка мышью (обычно выводится подчеркиванием или голубым цветом).Ниже показан пример ссылки. Символ А
Ссылки
Ссылки На вкладке Ссылки собрано все, что касается расстановки по тексту различных ссылок и
2.1.1 Соглашения об именах
2.1.1 Соглашения об именах Первые библиотеки сокетов писались на языке С. В этом языке идентификаторы чувствительны к регистру символов, т. е., например, SOCKET, Socket и socket — разные идентификаторы. Исторически сложилось, что имена встроенных в C типов данных пишутся в нижнем
Соглашения об именах в VBA
Соглашения об именах в VBA В рамках правил, обсуждавшихся в предыдущем разделе, объектам программы можно назначать любые имена. Тем не менее можно значительно облегчить себе жизнь в программировании, если придерживаться определенной логичной схемы выбора имен. По мере
Соглашения об именах
Соглашения об именах Я пытался выбирать осмысленные имена для объектов, классов, функций, шаблонов и т. п., но семантика некоторых придуманных мной имен может быть для вас неочевидна. Например, я часто использую для параметров имена lhs и rhs. Имеется в виду соответственно
Ссылки
Ссылки Ссылки на книги Джосаттиса и Остерна в предыдущем абзаце дают представление о том, как в этой книге оформляются библиографические ссылки. Как правило, я стараюсь включить в ссылку достаточно информации, чтобы ее узнали люди, уже знакомые с этим трудом. Если вы уже
Пример 9-17. Изменение расширений в именах файлов:
Пример 9-17. Изменение расширений в именах файлов: #!/bin/bash# rfe# ---# Изменение расширений в именах файлов.## rfe old_extension new_extension## Пример:# Изменить все расширения *.gif в именах файлов на *.jpg, в текущем каталоге# rfe gif jpgARGS=2E_BADARGS=65if [ $# -ne "$ARGS" ]then echo "Порядок
1.9. Символические ссылки
1.9. Символические ссылки Существует два типа ссылок: жесткие и символические (мягкие). Мы рассмотрим последние. Символическая ссылка представляет собой файл, содержащий имя другого файла и в действительности являющийся указателем на
2.5. Ссылки
2.5. Ссылки 2.5.1. В программных документах допускаются ссылки на стандарты (кроме стандартов предприятий), технические условия и другие документы (например, документы органов Государственного надзора, правила и нормы Госстроя СССР). При ссылках на стандарты и технические
16.3.1. Ссылки
16.3.1. Ссылки Итак, вы ввели адрес любого сайта в адресную строку браузера и нажали Enter. Если не знаете, что ввести, введите www.dkws.org.ua— этим вы не только увеличите посещаемость моего сайта, но и узнаете много интересного об операционных системах.Что произойдет дальше — после
Правила об именах
Правила об именах (В этом разделе мы только формализуем сказанное выше, поэтому при первом чтении книги его можно пропустить.)Мы уже видели, что в случае возможной неоднозначности конфликты имен пресекаются, хотя некоторые ситуации бывают вполне корректны. Чтобы в
Ссылки
Ссылки Осталось рассмотреть еще один момент, связанный с организацией программного доступа к данным. Это так называемые ссылки — своего рода указатели на массивы и объекты, в действительности хранящиеся в соответствующих им переменных (мы обязательно столкнемся с ними,