Руководство по команде ln в Linux для начинающих (5 примеров)

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

Команда ln в Linux

Как вы уже поняли, команда ln позволяет создавать ссылки между файлами. Ниже приведен синтаксис (или, вернее, один из возможных синтаксисов) этого инструмента:

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
ln [OPTION]... TARGET                  (2nd form)
ln [OPTION]... TARGET... DIRECTORY     (3rd form)
ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

А вот как это объясняется на справочной странице инструмента:

In  the  1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link 
to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in 
DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each 
destination (name of new link) should not already exist. When creating hard links, each TARGET 
must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is 
interpreted in relation to its parent directory.

Следующие примеры в формате «вопрос-ответ» помогут вам лучше понять, как работает команда ln. Но прежде чем приступить к ним, вам полезно понять, в чем разница между жесткими и мягкими ссылками.

Это довольно просто — все, что вам нужно сделать, это использовать команду ln следующим образом:

ln [file] [hard-link-to-file]

Например:

ln test.txt test_hard_link.txt

Как создать жесткую ссылку с помощью ln

Как видите, была создана жесткая ссылка с именем test_hard_link.txt.

Для этого используйте опцию командной строки -s.

ln -s [file] [soft-link-to-file]

Например:

ln -s test.txt test_soft_link.txt

Как создать мягкую/символическую ссылку с помощью ln

Файл test_soft_link.txt является мягкой/символической ссылкой, что подтверждается голубым цветом текста.

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

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

Пример команды ln

Однако, если вы хотите, вы можете заставить ln игнорировать это поведение, используя -f .

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

Примечание: Вы можете использовать опцию командной строки -i , если хотите сделать весь процесс удаления интерактивным.

В4. Как заставить ln создавать резервную копию существующих файлов с таким же именем?

Если вы не хотите, чтобы ln удалял существующие файлы с таким же именем, вы можете заставить его создавать резервные копии этих файлов. Это можно сделать с помощью опции командной строки -b . Файлы резервных копий, созданные таким образом, будут содержать тильду (~) в конце своего имени.

Как заставить ln создавать резервные копии существующих файлов с таким же именем

Конкретный каталог назначения (отличный от текущего) можно указать с помощью опции командной строки -t . Например:

ls test* | xargs ln -s -t /home/himanshu/Desktop/

Указанная выше команда создаст ссылки на все файлы test* (находящиеся в текущем каталоге) и поместит их в каталог Desktop.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *