Как создать ссылку на приложение ubuntu
Символическая ссылка, также известная как символическая ссылка или программная ссылка, представляет собой специальный тип файла, который указывает на другой файл или каталог.
Типы ссылок
В системах Linux / UNIX есть два типа ссылок:
-
Hard links . Вы можете придумать жесткую ссылку как дополнительное имя для существующего файла. Жесткие ссылки связывают два или более имен файлов с одним и тем же индексом . Вы можете создать одну или несколько жестких ссылок для одного файла. Жесткие ссылки не могут быть созданы для каталогов и файлов в другой файловой системе или разделе.
Как использовать ln команду
ln утилита командной строки для создания ссылок между файлами По умолчанию ln команда создает жесткие ссылки. Чтобы создать символическую ссылку, используйте параметр -s ( --symbolic ).
ln Синтаксис команды для создания символических ссылок выглядит следующим образом :
- Если оба FILE и LINK приведены, ln создаст ссылку из файла , указанного в качестве первого аргумента ( FILE ) в файл , указанный в качестве второго аргумента ( LINK ).
По умолчанию в случае успеха ln не выводит никаких данных и возвращает ноль.
Создание символической ссылки на файл
Чтобы создать символическую ссылку на данный файл, откройте свой терминал и введите:
Замените source_file на имя существующего файла, для которого вы хотите создать символическую ссылку, и symbolic_link на имя символической ссылки.
symbolic_link Параметр является необязательным. Если вы не укажете символическую ссылку, ln команда создаст новую ссылку в вашем текущем каталоге:
В следующем примере мы создаем символическую ссылку с именем my_link.txt файла my_file.txt :
Чтобы убедиться, что символическая ссылка была успешно создана, используйте ls команду:
Вывод будет выглядеть примерно так:
Символ l представляет собой флаг типа файла, который представляет символическую ссылку. В -> символ показан файл символическая ссылка указывает.
Создание символических ссылок на каталог
Команда для создания символической ссылки на каталог такая же, как и при создании символической ссылки на файл. Укажите имя каталога в качестве первого параметра и символическую ссылку в качестве второго параметра.
Например, если вы хотите создать символическую ссылку из /mnt/my_drive/movies каталога в
/my_movies каталог, вы должны выполнить:
Перезапись символических ссылок
Чтобы перезаписать путь назначения символической ссылки, используйте параметр -f ( --force ).
Удаление символических ссылок
Чтобы удалить символические ссылки, используйте команду unlink или rm .
Синтаксис unlink очень прост:
Удаление символической ссылки с помощью rm команды аналогично удалению файла:
Независимо от того, какую команду вы используете, при удалении символической ссылки не добавляйте / косую черту в конце ее имени.
Если вы удалите или переместите исходный файл в другое место, символический файл останется висящим (сломанным) и должен быть удален.
Вывод
Для создания символической ссылки в Linux используйте ln команду с -s опцией.
Для получения дополнительной информации о ln команде посетите страницу руководства ln или введите man ln свой терминал.
Что такое символические и жесткие ссылки в Linux. Чем они отличаются. Как создавать ссылки. Использование команды ln.
Что такое ссылка на файл в Linux
Ссылка на файл в Linux — это указатель на файл. Если проводить аналогию с Windows, то ссылки чем-то похожи на ярлыки. То есть вы создаете ссылку, которая указывает на какой-либо файл или директорию, и можете разместить эту ссылку в другом каталоге. Обращаясь к такой ссылке, вы будете обращаться к настоящему файлу или каталогу.
Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга. Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок.
Что такое символические ссылки
Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).
Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).
Важно понимать, что символическая ссылка не содержит в себе внутри копии самого файла, на которую она указывает. Она является всего лишь указателем на файл. Не смотря на это, символическая ссылка обладает собственными правами доступа, так как сама является небольшим файлом, который содержит путь до целевого файла.
Возвращаясь к аналогии с ярлыками в Windows, символические ссылки это своего рода ярлыки на файлы. Можно создавать несколько символических ссылок на один файл и эти ссылки могут иметь разные имена.
Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.
Если удалить файл, на который указывает ссылка, то сама ссылка не обновляется и остается на диске. При этом она указывает на уже несуществующий файл. Аналогично, если переименовать или переместить целевой файл, то ссылка не обновляется автоматически.
При создании символических ссылок можно указывать относительный путь до целевого файла. В таком случае ссылка считает, что относительный путь указан относительно каталога, в котором создана сама ссылка (но не относительно каталога, из которого она была создана).
Схематично отношение между файлом, символической ссылкой и данными, которые хранятся в файле, можно показать следующим образом:
Что такое жесткие ссылки
Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.
Жесткие ссылки выглядят в файловой структуре как еще один файл. Если вы создаете жесткую ссылку в том же каталоге, где находится целевой файл, то они должны иметь разные имена. Жесткая ссылка на файл должна находится в той же файловой системе, где и другие жесткие ссылки на этот файл.
В Linux каждый файл имеет уникальный идентификатор - индексный дескриптор (inode). Это число, которое однозначно идентифицирует файл в файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа, владельца и время последней модификации, что и целевой файл. Различаются только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.
Жесткие ссылки нельзя создавать для директорий.
Жесткая ссылка не может указывать на несуществующий файл.
Жесткие ссылки появились раньше, чем символические, но сейчас уже устаревают. В повседневной работе жесткие ссылки используются редко.
Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:
Отличия символических ссылок от жестких
Кратко подведем итог, написанного выше.
Символическая ссылка:
- Указывает на целевой файл или каталог. Фактически является небольшим файлом, содержащим путь до целевого файла.
- Не содержит внутри себя содержимого самого файла. Содержит путь к целевому файлу.
- Имеет собственные права доступа, которые не распространяются на целевой файл.
- Удаление / переименование / перемещение целевого файла не обновляет автоматически ссылку. Ссылка начинает указывать на несуществующий файл, становится неработающей.
- Изменение прав доступа у целевого файла не обновляет права доступа у ссылки.
- Может быть создана для директории.
- Ссылка и целевой файл имеют разные файловые индексы (inode) в файловой системе.
- Может указывать на несуществующий файл.
- Символическая ссылка может использовать относительный путь до целевого файла.
Жесткая ссылка:
- Является своего рода еще одним именем на файл.
- Не может указывать на директорию.
- Нельзя создавать жесткие ссылки между файлами разных файловых систем.
- Не может указывать на несуществующий файл.
- Жесткая ссылка и файл, для которого она создавалась, имеют одинаковые индексы (inode) в файловой системе.
Как создавать ссылки в Linux. Команда ln
Для создания ссылок в Linux используется команда ln (от слова link).
Синтаксис команды ln :
Обычно используется только одна опция -s . Полный список опций можно получить, выполнив команду man ln.
Создание символических ссылок
Чтобы создать символическую ссылку, нужно выполнить команду ln с опцией -s :
Например, создадим в текущем каталоге символическую ссылку с именем mylink на файл /home/pingvinus/myfile :
Выполнив команду ls -li , можно увидеть, что ссылка myfile указывает на файл /home/pingvinus/myfile
Обратите внимание, что ссылка и целевой файл имеют разные inode (792300 и 787622. См. число в начале строки).
Пример создания и использования символьной ссылки (при создании ссылки используется относительный путь до целевого файла, если такую ссылку переместить, то она будет невалидна):
Создание жестких ссылок
Чтобы создать жесткую ссылку нужно использовать команду ln без опции -s .
Например, создадим жесткую ссылку с именем hardlinktofile на файл myfile.txt :
Выведем список файлов:
Можно заметить, что hardlinktofile и myfile.txt имеют одинаковый inode=787622, так как являются фактически разными именами для одного файла (inode которого 787622).
Также видно, что на данный inode имеется 2 ссылки (см. цифру 2 в 3-м столбце). Если мы удалим исходный файл, то количество ссылок на него уменьшается на 1, то есть на самом деле файл не удаляется, так как на него больше, чем 1 ссылка. И мы по прежнему можем работать с файлом по имени hardlinktofile.
Обратите внимание, что после выполнения команды rm, количество ссылок на файл стало равно 1.
Пример создания и использования жесткой ссылки:
Как удалить ссылку
Ссылки, как и обычные файлы, можно удалять, используя команду rm :
Создание ссылок через файловый менеджер
Некоторые графические файловые менеджеры поддерживают создание символических ссылок. Чтобы создать символическую ссылку в таком файловом менеджере, достаточно кликнуть правой кнопкой мыши по файлу и выбрать в меню пункт Создать ссылку ( Create Link , Make Link ).
Ссылка создается в том же каталоге, где находится целевой файл. После создания ссылку можно переместить в другой каталог.
Резюме
Ссылки — это удобный инструмент при работе с файлами в Linux. Мы рассмотрели два вида ссылок, которые существуют в Linux. Рассмотрели отличия символических ссылок от жестких. Для создания ссылок используется команда ln . При повседневной работе обычно используются символические ссылки, в то время как жесткие ссылки используются редко.
Даже небольшая сумма может помочь написанию новых статей :)
Или поделитесь ссылкой на эту статью со своими друзьями.
Инструкция как в Ubuntu 18.04 создать ярлык (символическая ссылка) на Рабочем столе.
Тем, кто пользовался Windows, знаком удобный объект, который там называется ярлык (по-английски shortcut). Это указатель на файл или на папку и этот указатель можно размещать в других папках, не копируя туда сам файл или папку. Это удобный инструмент, который позволяет иметь одну копию файла, но открывать этот файл из разных папок. Чаще всего в Windows ярлык файла или папки создают на Рабочем столе. В Windows ярлык используется как для файлов данных, так и для запуска программ.
В Ubuntu тоже есть такой инструмент, но называется он иначе - символическая ссылка (по-английски symbolic link или symlink). В Linux есть отличие не только в названии, но и в том, что в GUI интерфейсе используется два разных объекта - для файлов данных используется символическая ссылка, а для запуска приложений используется так называемый desktop файл (файл запуска). Однако внешне символическая ссылка и desktop файл выглядят одинаково, используются они тоже одинаково.
В Ubuntu 18.04, в качестве GUI интерфейса, используется оболочка GNOME Shell. И в этой оболочке нет удобной возможности создать ярлык для приложения (desktop файл) на Рабочем столе или в другой папке. Там нельзя, как например в оболочке XFCE, нажать правую кнопку мыши в меню приложений и выбрать команду "Копировать на Рабочий стол". В оболочке GNOME Shell, в меню приложений такой команды нет и ярлыки приложений нужно создавать вручную.
Ubuntu 18.04 - ярлыки приложений
Для того, чтобы в GNOME Shell создать ярлык для приложения (на Рабочем столе или в другой папке) придется поработать руками. Сначала нужно установить программу gnome-tweak-tool и в этой программе проверить включена ли опция "Показывать значки на Рабочем столе":
Если она выключена, ее нужно включить.
Затем в файловом менеджере (называется "Файлы") нужно вручную указать адрес "/usr/share/applications" и открыть эту папку:
В этой папке собраны desktop файлы для всех установленных приложений. Нужно найти нужное приложение, нажать правую кнопку мыши и выбрать команду "Копировать" или "Копировать в . " и после этого перейти в ту папку куда вы хотите скопировать ярлык программы. Например в папку Рабочий стол.
При первом запуске этого ярлыка (в новом месте) будет такой запрос:
Нужно нажать кнопку "Доверить и запустить".
Ярлык папки или файла и в Ubuntu 18.04
В файловом менеджере (называется "Файлы") нужно открыть настройки и включить опцию "Показывать действие для символических ссылок":
После этого, в контекстном меню (правая кнопка мыши) будет команда "Создать ссылку":
Создать символическую ссылку для файла или папки можно и по-другому. Найти нужный файл или папку в файловом менеджере, затем нажать клавиши Ctrl+Shift на клавиатуре и держа их нажатыми, мышью перетащить этот файл (или папку) в другое место, например на Рабочий стол.
Сопутствующие статьи
Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux
Иван Сухов, 2018 г.
Команда ln в операционных системах, разработанных на основе ядра Linux, используется для создания символических и жестких ссылок на файлы. От пользователя требуется соблюдение синтаксиса утилиты, правильное указание опций и расположения файлов. Сегодня мы бы хотели рассказать не только о действии этой команды, но и детально описать два вида упомянутых выше линков, поскольку они кардинально разные и применимы в определенных ситуациях. Конечно, не обойдется и без примеров инструмента ln.
Ссылки на файл в Linux
Символические ссылки
На изображении выше вы видите схематическое представление работы такой цепи. Ссылка обращается к файлу, а тот уже предоставляет доступ к хранящимся в нем данным. Важно понимать, что эту ссылку можно перемещать в любое место на компьютере, от этого не зависит ее работоспособность, ведь она будет переходить по тому же пути, который был указан при создании.
Жесткие ссылки
С жесткими ссылками дела обстоят немного сложнее. Они, по сути, синонимы файла, но при этом не его копии. При создании жесткой ссылки будет сгенерирован еще один указатель на элемент. В файловой системе такие объекты определяются как еще один файл, поэтому при создании их в одной и той же директории с целью нельзя указывать одинаковое с ней имя. Все жесткие линки на файл должны находиться в одной ФС и не могут быть присвоены каталогу или несуществующему элементу. На скриншоте ниже вы видите схематическое взаимодействие такой цепи.
Создание ссылок
Для начала стоит упомянуть дополнительные действия, которые часто становятся полезными при осуществлении различных действий с файлами. Важно знать путь к целевому объекту или уметь его определить. Что касается определения, происходит оно так:
- Запустите файловый менеджер любым удобным методом, например, перейдя в домашнюю папку через значок на рабочем столе.
Символическая ссылка
Рассмотрим утилиту ln в действии. Начнем с создания символической ссылки на файл. Для этого воспользуйтесь стандартной консолью и выполните такие действия:
Выше вы могли заметить, что для просмотра содержимого папок использовалась стандартная команда ls. Если есть желание ознакомиться с ее действием более подробно, обратите внимание на наш отдельный материал ниже.
Жесткая ссылка
Создание жесткой ссылки во многом похоже с тем типом, который мы рассмотрели выше. Единственное различие заключается в отсутствии опции -s. Тогда вся процедура будет иметь примерно такой вид:
-
Введите и активируйте ln file hlink .
Информация будет доступна до тех пор, пока не удалятся все указатели на нее (исходный файл и все жесткие ссылки). Команда cat, используемая в последнем пункте, отвечает за просмотр содержимого файлов. Детальное описание всех ее возможностей ищите в статье далее.
Выше вы были ознакомлены не только со стандартной командой ln, но и узнали о двух типах доступных ссылок на объекты в Linux. Конечно, чаще бывают задействованы символические линки, но жесткие тоже иногда становятся полезными. О других популярных командах в Линукс можете узнать из нашего отдельного материала.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Читайте также: