Удалить символические ссылки linux

permission denied: You do know you need sudo if you want to use it in a situation you do not own the file? That goes for ‘rm’ too.

@RaheelKhan no you did -not- You removed a SYMLINK. Python relies on this symlink though. If you recreate that symlink python will be back.

You can try the unlink command as well.

unlink is a similar command to rm . Therefore rm will work same as unlink

While you are correct that unlink will remove the symlink, it is not an alias of rm . They are different, if ever so slightly. For one you cannot pass multiple arguments to unlink

Suppose you were trying to do:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin/ 
sudo ln -s /usr/share/somethingelse /var/www/phpmyadmin/ 

To correct it simply navigate to the folder where the link is and unlink

cd /var/www/phpmyadmin/ ~:# unlink somethingelse 

You can use the following to remove the symbolic link

Explanation

  • rm is the terminal command to remove a file. See rm —help for more options that it can take.
  • sudo is used because the symbolic link was created with sudo . The file therefore belongs to root and your normal user will not have permission to edit/remove it (you would be able to force this if you had write permission on the directory, which would not be the case here).

Extra

Also see this post and my comment to the first answer to access phpmyadmin when getting a not found error after install.

A small caveat I found was that I was trying to run rm and unlink on a symlink and I was getting an error that it was a directory.

$ rm folder_name/ rm: cannot remove ‘folder_name/’: Is a directory $ unlink folder_name/ unlink: cannot unlink ‘folder_name/’: Not a directory 

To remove the symlink, I used unlink folder_name . It was failing as there was a trailing / which causes the file to appear to be a directory.

Читайте также:  Qt creator debugger linux

Источник

Как удалить (удалить) символические ссылки в Linux

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

В этом руководстве мы покажем вам, как удалить (удалить) символические ссылки в системах Linux / UNIX с помощью команд rm , unlink и find .

Подготовка

Чтобы удалить символическую ссылку, вам необходимо иметь права на запись в каталог, который содержит символическую ссылку. В противном случае вы получите ошибку «Операция запрещена».

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

Используйте команду ls -l чтобы проверить, является ли данный файл символической ссылкой, и найти файл или каталог, на который указывает символическая ссылка.

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7 

Первый символ «l» указывает на то, что файл является символической ссылкой. Символ «->» показывает файл, на который указывает символическая ссылка.

Удалите символические ссылки с помощью rm

Команда rm удаляет указанные файлы и каталоги.

Чтобы удалить символическую ссылку, вызовите команду rm за которой следует имя символической ссылки в качестве аргумента:

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

С помощью rm вы можете удалить более одной символической ссылки одновременно. Для этого передайте имена символических ссылок в качестве аргументов, разделенных пробелом:

Чтобы получить запрос перед удалением символической ссылки, используйте параметр -i :

Для подтверждения введите y и нажмите Enter .

rm: remove symbolic link 'symlink_name'? 

Если символическая ссылка на каталог, не добавляйте к / слэш в конце. В противном случае вы получите ошибку:

rm: cannot remove 'symlink_to_dir/': Is a directory 

Если имя аргумента заканчивается на / , команда rm предполагает, что файл является каталогом. Ошибка возникает из-за того, что при использовании без опции -d или -r rm не может удалять каталоги.

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

Содержимое целевого каталога будет удалено.

Удалить символические ссылки с помощью unlink

Команда unlink удаляет указанный файл. В отличие от rm , unlink принимает только один аргумент.

Чтобы удалить символическую ссылку, запустите команду unlink за которой следует имя символической ссылки в качестве аргумента:

Если команда выполняется успешно, она не выводит никаких результатов.

Не добавляйте к / слэш в конце имени SYMLINK потому unlink не может удалить каталоги.

Читайте также:  Сбросить настройки linux mint

Найти и удалить битые символические ссылки

Если вы удалите или переместите исходный файл в другое место, символический файл останется висящим (сломанным).

Чтобы найти все неработающие символические ссылки в данном каталоге, выполните следующую команду:

find /path/to/directory -xtype l
/path/to/directory/symlink1 /path/to/directory/subdir/symlink2 

Команда выведет список всех неработающих ссылок в каталоге и его подкаталогах.

Если вы хотите исключить символические ссылки, содержащиеся в подкаталогах, передайте параметр -maxdepth 1 чтобы find :

find /path/to/directory -maxdepth 1 -xtype l

Как только вы найдете неработающие символические ссылки, вы можете вручную удалить их с помощью rm или unlink либо использовать параметр -delete команды find :

find /path/to/directory -xtype l -delete

Выводы

Чтобы удалить символическую ссылку, используйте команду rm или unlink за которой следует имя символической ссылки в качестве аргумента. При удалении символической ссылки, указывающей на каталог, не добавляйте косую черту в конце имени символической ссылки.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Как создавать и удалять симлинки

Обновлено

Обновлено: 12.03.2023 Опубликовано: 25.01.2017

Логотип WindowsWindows

Работы с символьными ссылками в Windows ведутся из командной строки.

Синтаксис

mklink C:\Users\dmosk\Desktop\cmd.exe C:\Windows\system32\cmd.exe

* в данном примере на рабочем столе пользователя dmosk будет создан симлинк на файл cmd.exe.

mklink /D «C:\Users\dmosk\Desktop\Сетевая папка» \\dmosk.local\share

* в примере создается симлинк на сетевую папку \\dmosk.local\share
** так как в названии папки есть пробел, путь заключен в кавычки.

Для создания ссылки на папку доступен также ключ /J. Созданная таким образом ссылка будет по некоторым особенностям напоминать жесткую ссылку.

В Windows его можно удалить в проводнике, как обычный файл или папку.

Или использовать командную строку.

rmdir «C:\Users\dmosk\Desktop\Сетевая папка»

Разрешить симлинки в Windows

Если при попытке перейти по символьной ссылке мы получим ошибку «Символическая ссылка не может быть загружена, так как ее тип отключен», открываем командную строку от администратора и вводим команду:

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

Если это не помогло, пробуем создать симлинк с ключом /J.

Логотип LinuxLinux и FreeBSD

Создание

В системах на базе Linux (например, Ubuntu или CentOS) и FreeBSD симлинк для каталога и файла создаются одинаково:

ln -s /usr/share/nginx/html/index.php /home/dmosk/

ln -s /usr/share/nginx/html /home/dmosk/

* в первом примере создана символьная ссылка в домашней директории пользователя dmosk на файл index.php; во втором — на каталог /usr/share/nginx/html.

Удаление

Также используется одна команда:

Решение возможных проблем

При работе с симлинками мы можем сталкиваться с различными проблемами. Я рассмотрю те, с которыми приходилось сталкиваться мне.

При попытке создать симлинк мы можем получить ошибку Function not implemented, например:

Читайте также:  Просмотр системного журнала linux

ln: failed to create symbolic link ‘/etc/pve/nodes/pve/fullchain.pem’: Function not implemented

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

Решение: как правило, решения зависит от используемой файловой системы и ее драйвера. Но, обычно, решения у проблемы нет и нужно искать методы работы без использования символьных ссылок.

Источник

Как удалить символические ссылки в Linux

hosting.energy недорогой хостинг сайтов

hosting.energy недорогой хостинг сайтов

В этом руководстве мы покажем вам, как удалить символические ссылки в Linux. Для тех из вас, кто не знал, символическая ссылка (также известная как символическая ссылка) — это термин или особый тип файла в Linux, который указывает на другой файл или каталог. Как правило, для связывания библиотек используются символические ссылки. Также используется для связывания файлов журналов и папок на подключенных общих папках NFS (сетевая файловая система).

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам для получения привилегий root. Я покажу вам пошаговые инструкции по удалению символических ссылок в Linux.

Удалить символические ссылки в Linux

Символические ссылки можно удалить двумя командами: rm и unlink . Вы можете использовать любую из следующих команд для удаления символических ссылок.

Чтобы удалить символическую ссылку, запустите rm команду с именем символической ссылки в качестве аргумента:

Чтобы получить запрос перед удалением символической ссылки, используйте параметр: — i

Если вы хотите удалить более одной символической ссылки, вы можете передать несколько имен символических ссылок в качестве аргументов с space разделением:

rm symlink-name-1, symlink-name-2
-i hat mean interactive ask for delete file -f force not ask just do action delete force -r recursive . use for Directory

Лучший способ удалить символическую ссылку — использовать unlink инструмент с соответствующим названием « ». Использовать unlink для удаления символической ссылки чрезвычайно просто, вам просто нужно указать ее на символическую ссылку, чтобы отключить и удалить:

У команды find есть опция, которая позволяет вам находить символические ссылки, указывающие на файлы, которые больше не существуют. Эта команда выводит список символических ссылок в текущем каталоге:

После получения битых символических ссылок используйте опцию с командой, как показано ниже: — delete find

find /path/to/directory -xtype l -delete

Поздравляю! Вы успешно удалили символические ссылки. Благодарим за использование этого руководства для удаления символических ссылок на сервере Linux.

Источник

Оцените статью
Adblock
detector