Jump to content

Ин (Unix)

(Перенаправлено с Readlink )
Ин
Оригинальный автор(ы) AT&T Bell Laboratories
Разработчик(и) Различные с открытым исходным кодом и коммерческие разработчики разработчики
Первоначальный выпуск 3 ноября 1971 г .; 52 года назад ( 1971-11-03 )
Операционная система Unix , Unix-подобные , IBM i
Платформа Кросс-платформенный
Тип Команда
Лицензия основные утилиты : GPLv3+

The ln Команда — это стандартная командная утилита Unix, используемая для создания жесткой или символической ссылки (символической ссылки) на существующий файл или каталог. [ 1 ] Использование жесткой ссылки позволяет несколько имен файлов связать с одним и тем же файлом, поскольку жесткая ссылка указывает на индексный дескриптор данного файла, данные которого хранятся на диске . С другой стороны, символические ссылки — это специальные файлы, которые ссылаются на другие файлы по имени . [ 2 ]

The ln команда по умолчанию создает жесткие ссылки, а при вызове с командной строки параметром ln -s создает символические ссылки. [ 3 ] Большинство операционных систем жестких ссылок на каталоги предотвращают создание , поскольку такая возможность может нарушить структуру файловой системы и помешать работе других утилит. [ 4 ] ln Однако команду можно использовать для создания символических ссылок на несуществующие файлы. [ 2 ]

ln появился во втором выпуске Руководства по переносимости X/Open . [ 5 ] Версия ln включенный в состав GNU coreutils, был написан Майком Паркером и Дэвидом Маккензи. [ 6 ] Команда доступна в виде отдельного пакета для Microsoft Windows как часть UnxUtils коллекции , состоящей из собственных Win32- портов распространенных GNU Unix-подобных утилит. [ 7 ] Команда ln также была перенесена в операционную систему IBM i . [ 8 ]

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

  1. Жесткие ссылки , также известные как ссылки, представляют собой объекты, которые связывают имя файла с индексным дескриптором и, следовательно, с самим содержимым файла. [ 1 ] Данный файл на диске может иметь несколько ссылок, разбросанных по иерархии каталогов , причем все ссылки эквивалентны, поскольку все они связаны с одним и тем же индексным дескриптором . [ 9 ] Таким образом, создание ссылки не копирует содержимое файла, а просто связывает другое имя с тем же содержимым. Каждый раз, когда создается жесткая ссылка, счетчик ссылок , являющийся частью структуры индексного дескриптора , увеличивается; файл не удаляется до тех пор, пока его счетчик ссылок не достигнет нуля. [ 1 ] [ 10 ] Однако жесткие ссылки могут быть созданы только в одной и той же файловой системе ; это может оказаться недостатком. [ 11 ]
  2. Символические ссылки — это специальные файлы, которые при обнаружении во время разрешения пути изменяют разрешение пути , которое должно быть перенесено в место, которое содержит символическая ссылка. Таким образом, содержимое символической ссылки представляет собой строку пути назначения , которую также можно проверить с помощью readlink утилита командной строки. [ 12 ] Символическая ссылка может содержать произвольную строку, которая не относится к местоположению существующего файла. Такая символическая ссылка не будет работать до тех пор, пока в месте, указанном символической ссылкой, не будет создан файл. Напротив, символическая ссылка на существующий файл не будет работать, если существующий файл будет перемещен в другое место (или переименован). [ 9 ]

Спецификация

[ редактировать ]

The ln Утилита в системах, совместимых с Единой спецификацией Unix, указана в документе Shell and Utilities (XCU), который является частью Единой спецификации Unix. [ 13 ] Практически идентичный документ является частью POSIX . [ 5 ]

Спецификация описывает два способа вызова ln полезность. Конкретно,

При вызове «одного файла» ln Утилита создает новую жесткую ссылку (запись каталога) для исходного файла, указанного source_file операнд по пути назначения, указанному target_file операнд. Однако, если -s указана опция, создается символическая ссылка.
ln [-fs] [-L|-P] source_file target_file
При вызове «множественного файла» ln утилита создает новую жесткую ссылку ( запись каталога ), или если -s указывается опция, символическая ссылка, для каждого файла, указанного в параметре source_file операнд по пути назначения в существующем каталоге, указанном операндом target_dir.
ln [-fs] [-L|-P] source_file_1 source_file_2 ... target_dir

В спецификации также указаны параметры командной строки, которые должны поддерживаться:

-f Принудительно удалите существующие пути назначения, чтобы разрешить ссылку.
-L Для каждого source_file операнд, который называет файл, являющийся символической ссылкой, создает жесткую ссылку на файл, на который указывает символическая ссылка.
-P Для каждого source_file операнд, который называет файл, являющийся символической ссылкой, создает (жесткую) ссылку на саму символическую ссылку.
-s Создавайте символические ссылки вместо жестких ссылок. Если указана опция -s, опции -L и -P игнорируются.
Если более одного взаимоисключающего варианта -L и -P указана последняя указанная опция, определяющая поведение утилиты.
Если -s опция не указана и ни -L ни -P указана опция, реализация определяет, какой из -L и -P параметры будут использоваться по умолчанию.

Если ни целевой файл, ни целевой каталог не указаны, ссылки будут созданы в текущем рабочем каталоге .

См. также

[ редактировать ]
  1. ^ Jump up to: а б с Керниган, Брайан В.; Пайк, Роб (1984). Среда программирования Unix . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл. п. 59 . ISBN  013937681X .
  2. ^ Jump up to: а б «GNU Coreutils: вызов» . gnu.org . Фонд свободного программного обеспечения, Inc. Проверено 7 августа 2015 г.
  3. ^ «ln — Базовые спецификации открытой группы, выпуск 7» . pubs.opengroup.org . IEEE и Открытая группа . Проверено 7 августа 2015 г.
  4. ^ «Почему в UNIX/Linux не разрешены жесткие ссылки на каталоги?» . unix.stackexchange.com . Проверено 7 августа 2015 г.
  5. ^ Jump up to: а б ln – Справочник по оболочке и утилитам, Единая спецификация UNIX , версия 4 от Open Group.
  6. ^ ln(1) Linux по основным командам Руководство
  7. ^ «Собственные порты Win32 некоторых утилит GNU» . unxutils.sourceforge.net .
  8. ^ ИБМ . «Программирование Qshell в IBM System i версии 7.2» (PDF) . ИБМ . Проверено 05 сентября 2020 г.
  9. ^ Jump up to: а б Лусмор, Сандра; Столлман, Ричард М.; МакГрат, Роланд; Орам, Эндрю; Дреппер, Ульрих. Справочное руководство по библиотеке GNU C (PDF) . Фонд свободного программного обеспечения, Inc. 392 . Проверено 7 августа 2015 г.
  10. ^ «Говорим в UNIX: все дело в индексном дескрипторе» . IBM.com . IBM DeveloperWorks . Проверено 7 августа 2015 г.
  11. ^ Бове, Дэниел П.; Чесати, Рамки (2005). Понимание ядра Linux (3-е изд.). Бостон, Массачусетс: Интернет-книги Safari Tech. п. 14. ISBN  0596005652 .
  12. ^ «readlink(1) — справочная страница Linux» . linux.die.net . Проверено 7 августа 2015 г.
  13. ^ «Единая спецификация UNIX, версия 4 — обзор» . unix.org . unix.org . Проверено 7 августа 2015 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bfe0a223dc49ef88d572297d82979f58__1693831740
URL1:https://arc.ask3.ru/arc/aa/bf/58/bfe0a223dc49ef88d572297d82979f58.html
Заголовок, (Title) документа по адресу, URL1:
ln (Unix) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)