Linux просмотр только ссылок

Содержание
  1. Как вывести список всех символических ссылок в каталоге Linux
  2. Список всех символических ссылок с помощью команды поиска
  3. Синтаксис
  4. Примеры
  5. Список всех символических ссылок из всей файловой системы
  6. Список всех символических ссылок в текущем рабочем каталоге
  7. Список всех символических ссылок в любом каталоге
  8. Список всех символических ссылок в каталоге с помощью флага Maxdepth
  9. Заключение
  10. IT Blog. Code Inside
  11. Создание, просмотр и удаление символьных (символических) ссылок в Linux
  12. Как найти все жесткие ссылки (hard link) в каталоге в Linux
  13. Как найти все жесткие ссылки на предоставленный файл
  14. Примеры
  15. Найдите и удаляйте все жесткие ссылки на файл с именем foo в /tmp/ директории
  16. Справка, параметр -samefile не поддерживается моей командой find
  17. Linux просмотр только ссылок
  18. цЈУФЛЙЕ УУЩМЛЙ
  19. уЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ
  20. Как найти и удалить битые символические ссылки в Linux
  21. Что именно является символической ссылкой?
  22. Когда ломаются ссылки
  23. Нахождение сломанных символических ссылок
  24. Что делать с битыми символическими ссылками

Как вывести список всех символических ссылок в каталоге Linux

Символьная ссылка, также известная как символическая ссылка или программная ссылка, — это тип файла, который может содержать местоположение файла или каталога в любой файловой системе Linux. Вы создали пару символических ссылок в файловой системе Linux. И иногда возникает необходимость перечислить все символические ссылки. Этот пост предоставляет вам пошаговое руководство о том, как составить список всех символических ссылок в файловой системе Linux или в конкретном каталоге Linux.

Из пары способов перечислить все символические ссылки в каталоге Linux, мы рассмотрим самый надежный и лучший способ, используя команду find.

Список всех символических ссылок с помощью команды поиска

Команда «Найти» пригодится при поиске любого типа файла или папки в операционной системе Linux.

Синтаксис

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

В приведенной выше команде

— это место или имя каталога, в котором вы хотите искать символическую ссылку,

-type ссылается на тип файла,

while l представляет тип файла ссылки.

Хорошо, давайте посмотрим на примеры и посмотрим, как мы можем получить список символических ссылок по-разному, рассмотрев пару примеров:

Примеры

Используя команду find, мы можем перечислить символические ссылки из всей файловой системы или в определенном каталоге. Давайте посмотрим на каждый пример:

Список всех символических ссылок из всей файловой системы

Чтобы вывести список всех символических ссылок из всей файловой системы, вы можете выполнить следующую команду поиска, указав «/» в качестве пути:

Символ «/» в приведенной выше команде представляет всю файловую систему, а команда find будет искать символические ссылки по всей системе и выводить их список в терминале.

Список всех символических ссылок в текущем рабочем каталоге

Точно так же, если вы хотите найти и перечислить все символические ссылки в текущем рабочем каталоге, просто укажите «.» как путь к команде поиска, как показано ниже:

В приведенной выше команде символ «.» сообщает команде find найти символические ссылки в текущем рабочем каталоге.

Список всех символических ссылок в любом каталоге

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

Команда find будет искать символические ссылки только в каталоге / var / www / и перечислять все символические ссылки в этом каталоге.

Список всех символических ссылок в каталоге с помощью флага Maxdepth

Вы могли заметить, что все вышеперечисленные команды отображали символические ссылки в нужном каталоге. А также отображали все символические ссылки из подкаталогов.

Итак, что, если вы не хотите вдаваться в подробности? Вы просто хотите иметь символические ссылки в указанном каталоге. Решение этой проблемы не в ракетостроении, и мы можем быстро указать глубину, используя флаг maxdepth.

Например, чтобы установить глубину поиска на один уровень, команда find будет выглядеть так:

Вы можете увидеть результат, показанный на скриншоте выше. Команда find показала только символические ссылки текущего рабочего каталога вместо всех подкаталогов.

Заключение

В этом посте представлено несколько способов и дается краткое объяснение того, как перечислить все символические ссылки в файловой системе Linux или в конкретном каталоге Linux. Используя команду find, мы научились находить и перечислять все символические ссылки и устанавливать максимальный уровень глубины с помощью флага maxdepth. Если вы хотите узнать больше о команде find, не стесняйтесь читать справочную страницу find с помощью команды «man find».

Читайте также:  Чем отличается максимальная от домашней расширенной windows

Источник

IT Blog. Code Inside

Создание, просмотр и удаление символьных (символических) ссылок в Linux

Cимвольная ссылка (также симлинк от англ. Symbolic link, символическая ссылка) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Символьная ссылка занимает ровно столько места в файловой системе, сколько требуется для записи её содержимого (нормальный файл занимает как минимум один блок раздела).

Целью ссылки может быть любой объект — например, другая ссылка, файл, папка, или даже несуществующий файл (в последнем случае при попытке открыть его должно выдаваться сообщение об отсутствии файла). Ссылка, указывающая на несуществующий файл, называется висячей. В отличие от жестких ссылок, символьные ссылки можно создавать и на каталоги.

Практически символьные ссылки используются для более удобной организации структуры файлов на компьютере, так как позволяют одному файлу или каталогу иметь несколько имён, различных атрибутов и свободны от некоторых ограничений, присущих жёстким ссылкам (последние действуют только в пределах одного раздела и не могут ссылаться на каталоги).

Создание символьной ссылки

Символьную ссылку можно создать при помощи команды ln с ключом -s (от «symbolic»). В качестве первого параметра пишется абсолютный адрес и имя исходного файла, в качестве второго – адрес и имя ссылки. Например:

ln -s filename linkname # создаётся символьная ссылка (symbolic link)

Просмотр символьной ссылки

Посмотреть, куда ведет символьная ссылка можно командой:

В результате выполнения команды в поле stat будет показан символ l (link).

Висячие ссылки (которые указывают куда-то, где нет файла) ls с цветной схемой отображения показывает красным.

Удаление символьной ссылки

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

При удалении символьной ссылки на каталог следует учитывать, что записывать команду без слеша в конце, иначе bash выдаст ошибку «невозможно удалить ссылку: Это не каталог».

Источник

У меня есть файл с именем /etc/passwd i , и я хотел бы найти все жесткие ссылки на этот файл в каталоге. Как узнать все остальные жесткие ссылки в каталоге /etc/passwd in/backups/ ? Как найти все жесткие ссылки на данный файл с помощью командной строки Linux или Unix?

Вы можете использовать команду find в Linux, Apple MacOS, FreeBSD и других операционных системах, чтобы узнать все жесткие ссылки.

Как найти все жесткие ссылки на предоставленный файл

Жесткая ссылка — это не что иное, как конкретное местоположение физических данных. Вы даете разные имена, относящиеся к одному и тому же файлу. Файл относится к тому же inode, что и имя. Жесткие ссылки на файл foo можно создать следующим образом:

В приведенном выше примере bar и foobar являются другими именами файла foo. Lля поиска всех жестких ссылок для файла foo в текущем каталоге cинтаксис будет выглядеть следующим образом:

Примеры

Если есть файл с именем /etc/passwd и вам нужно получить все жесткие ссылки на него, которые существуют в каталоге /backups/ , запустите:

Примеры возможных выводов данных:

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

Найдите и удаляйте все жесткие ссылки на файл с именем foo в /tmp/ директории

Введите следующую команду:

Примеры возможных выводов данных:

Справка, параметр -samefile не поддерживается моей командой find

Найдите номер файлов inode, для этого введите:

Примеры возможных выводов данных:

Первый столбец вышеприведенного вывода отображает индекс inode # 4065089 . Теперь альтернативный синтаксис выглядит следующим образом для поиска всех жестких ссылок (hard link) для файла с именем /tmp/demo.txt , используя inode # 4065089 :

Примеры возможных выводов данных:

Чтобы найти и удалить все жесткие ссылки (hard link) на файл с номером inode # 4065089 , запустите:

Вот пример моей сессии:

Читайте также:  Windows who listen port

Рисунок 01: Как найти все жесткие ссылки (hard link) на заданное имя файла.

Источник

Linux просмотр только ссылок

уУЩМЛЙ РПЪЧПМСАФ ДБЧБФШ ЖБКМХ УТБЪХ ОЕУЛПМШЛП ЙНЈО. ч ЖБКМПЧПК УЙУФЕНЕ, ЙУРПМШЪХЕНПК Ч Linux, ЖБКМЩ Ч УЙУФЕНЕ ТБУРПЪОБАФУС РП ЙИ ОПНЕТХ ЙОДЕЛУОПЗП ДЕУЛТЙРФПТБ (inode number). ьФПФ ОПНЕТ СЧМСЕФУС ХОЙЛБМШОЩН ЧП ЧУЕК ЖБКМПЧПК УЙУФЕНЕ. лБФБМПЗ ЦЕ РТЕДУФБЧМСЕФ УПВПК УРЙУПЛ ОПНЕТПЧ ЙОДЕЛУОЩИ ДЕУЛТЙРФПТПЧ Й УППФЧЕФУФЧХАЭЙИ ЙНЈО ЖБКМПЧ. лБЦДПЕ ЙНС ЖБКМБ Ч ЛБФБМПЗЕ УЧСЪБОП У ОЕЛПФПТЩН ЙОДЕЛУОЩН ДЕУЛТЙРФПТПН.

цЈУФЛЙЕ УУЩМЛЙ

дМС УПЪДБОЙС ОЕУЛПМШЛЙИ УУЩМПЛ Л ПДОПНХ ЖБКМХ УМХЦЙФ ЛПНБОДБ ln . рХУФШ, ОБРТЙНЕТ, Ч ФЕЛХЭЕН ЛБФБМПЗЕ ЙНЕЕФУС ЖБКМ У ЙНЕОЕН foo. хЧЙДЕФШ УППФЧЕФУФЧХАЭЙК ЕНХ ОПНЕТ ЙОДЕЛУОПЗП ДЕУЛТЙРФПТБ НПЦОП У РПНПЭША ЛПНБОДЩ ls -i . рТЙНЕТ:

ъДЕУШ ЖБКМХ foo УППФЧЕФУФЧХЕФ ЙОДЕЛУОЩК ДЕУЛТЙРФПТ ОПНЕТ 22192 ЖБКМПЧПК УЙУФЕНЩ. л ЖБКМХ foo НПЦОП УПЪДБФШ ЕЭЈ ПДОХ УУЩМЛХ Й ОБЪЧБФШ ЕЈ bar. ьФП ДЕМБЕФУС УМЕДХАЭЙН ПВТБЪПН:

фЕРЕТШ У РПНПЭША ЛПНБОДЩ ls -i НПЦОП ХЧЙДЕФШ, ЮФП ПВБ ЖБКМБ ПФОПУСФУС Л ПДОПНХ Й ФПНХ ЦЕ ЙОДЕЛУОПНХ ДЕУЛТЙРФПТХ:

фЕРЕТШ, ПВТБЭБСУШ Л ЖБКМХ foo ЙМЙ bar, НЩ, Ч ДЕКУФЧЙФЕМШОПУФЙ, ВХДЕН ПВТБЭБФШУС Л ПДОПНХ Й ФПНХ ЦЕ ЖБКМХ. рТПЙЪЧПДС ЙЪНЕОЕОЙС Ч ЖБКМЕ foo, НЩ НПЦЕН ХЧЙДЕФШ, ЮФП ПОЙ РПСЧЙМЙУШ ФБЛЦЕ Й Ч ЖБКМЕ bar. уП ЧУЕИ ФПЮЕЛ ЪТЕОЙС ЖБКМЩ foo Й barљ— ЬФП ПДЙО Й ФПФ ЦЕ ЖБКМ.

рПДПВОЩЕ УУЩМЛЙ ОБЪЩЧБАФУС ЦЈУФЛЙНЙ УУЩМЛБНЙ (hard links), РПУЛПМШЛХ ПОЙ УПЪДБАФ ОЕРПУТЕДУФЧЕООХА УЧСЪШ У ЛПОЛТЕФОЩН ЙОДЕЛУОЩН ДЕУЛТЙРФПТПН. пФНЕФЙН, ЮФП ЦЈУФЛЙЕ УУЩМЛЙ НПЦОП УПЪДБЧБФШ ФПМШЛП ФПЗДБ, ЛПЗДБ ЖБКМЩ ОБИПДСФУС Ч ПДОПК Й ФПК ЦЕ ЖБКМПЧПК УЙУФЕНЕ, Ч ФП ЧТЕНС ЛБЛ УЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ (УН. ОЙЦЕ) ОЕ ЙНЕАФ ФБЛЙИ ПЗТБОЙЮЕОЙК.

рТЙ ХДБМЕОЙЙ ЖБКМБ ЛПНБОДПК rm Ч ДЕКУФЧЙФЕМШОПУФЙ ХДБМСЕФУС ФПМШЛП ПДОБ УУЩМЛБ ОБ ЖБКМ. еУМЙ НЩ ФЕРЕТШ ЧЧЕДЈН ЛПНБОДХ

ФП ВХДЕФ ХДБМЕОБ ФПМШЛП УУЩМЛБ РПД ОБЪЧБОЙЕН foo, Б УУЩМЛБ bar ВХДЕФ РТПДПМЦБФШ УХЭЕУФЧПЧБФШ. рП-ОБУФПСЭЕНХ ЖБКМ ВХДЕФ ХДБМЈО ЙЪ ЖБКМПЧПК УЙУФЕНЩ ФПМШЛП ФПЗДБ, ЛПЗДБ ОБ ОЕЗП ОЕ ПУФБОЕФУС ВПМШЫЕ УУЩМПЛ. пВЩЮОП ОБ ПДЙО ЖБКМ ЙНЕАФУС ФПМШЛП ПДОБ УУЩМЛБ, ФБЛ ЮФП ЛПНБОДБ rm ЕЗП ХДБМЙФ. пДОБЛП ЕУМЙ Л ЖБКМХ ЙНЕАФУС НОПЦЕУФЧЕООЩЕ УУЩМЛЙ, ФП ЛПНБОДБ rm ВХДЕФ ХДБМСФШ ФПМШЛП ПДОХ УУЩМЛХ, Й ДМС ФПЗП, ЮФПВЩ ЬФПФ ЖБКМ ХДБМЙФШ, РТЙДЈФУС ХДБМСФШ ЧУЕ УУЩМЛЙ ОБ ЬФПФ ЖБКМ.

лПНБОДБ ls -l ЧЩДБЈФ (РПНЙНП РТПЮЕК ЙОЖПТНБГЙЙ) ЮЙУМП УУЩМПЛ ОБ ЛБЦДЩК ЖБКМ.

гЙЖТБ 2 ЧП ЧФПТПК ЛПМПОЛЕ ЬФПЗП УРЙУЛБ ПВПЪОБЮБЕФ ЮЙУМП УУЩМПЛ ОБ ЖБКМ.

пФНЕФЙН, ЮФП ЛБФБМПЗ Ч ДЕКУФЧЙФЕМШОПУФЙ РТЕДУФБЧМСЕФ УПВПК РТПУФП ЖБКМ, УПДЕТЦБЭЙК ЙОЖПТНБГЙА П УЧСЪСИ (УУЩМЛБИ) НЕЦДХ ЙНЕОБНЙ ЖБКМПЧ Й ЙОДЕЛУОЩНЙ ДЕУЛТЙРФПТБНЙ. фБЛЦЕ ЛБЦДЩК ЛБФБМПЗ УПДЕТЦЙФ, ЛБЛ НЙОЙНХН, ДЧЕ ЦЈУФЛЙИ УУЩМЛЙ: УУЩМЛБ . ХЛБЪЩЧБЕФ ОБ УБН ЛБФБМПЗ, Б УУЩМЛБ .. ХЛБЪЩЧБЕФ ОБ ТПДЙФЕМШУЛЙК ЛБФБМПЗ. х ЛПТОЕЧПЗП ЛБФБМПЗБ ( /) УУЩМЛБ .. ХЛБЪЩЧБЕФ ОБ УБН ЛПТОЕЧПК ЛБФБМПЗ /. йОЩНЙ УМПЧБНЙ, ТПДЙФЕМШУЛЙН ЛБФБМПЗПН ЛПТОЕЧПЗП ЛБФБМПЗБ СЧМСЕФУС ФПФ ЦЕ УБНЩК ЛБФБМПЗ.

уЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ

у РПНПЭША УЙНЧПМЙЮЕУЛЙИ УУЩМПЛ (symbolic links) НПЦОП ДБФШ ЖБКМХ ДТХЗПЕ ЙНС, ОП ОЕ УЧСЪЩЧБФШ ЖБКМ У ЙОДЕЛУОЩН ДЕУЛТЙРФПТПН. фБЛЙН ПВТБЪПН, УЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ ПФМЙЮБАФУС ПФ ЦЈУФЛЙИ УУЩМПЛ.

уЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ УПЪДБАФУС ЛПНБОДПК ln -s . оБРТЙНЕТ, ЛПНБОДБ

УПЪДБЈФ УЙНЧПМЙЮЕУЛХА УУЩМЛХ РП ЙНЕОЙ bar, ЛПФПТБС ХЛБЪЩЧБЕФ ОБ ЖБКМ foo. еУМЙ НЩ ЧЩДБДЙН УРЙУПЛ ЛПНБОДПК ls -i , ФП НЩ ХЧЙДЙН, ЮФП ЬФЙ ДЧБ ЖБКМБ ЙНЕАФ ТБЪМЙЮОЩЕ ОПНЕТБ ЙОДЕЛУОЩИ ДЕУЛТЙРФПТПЧ.

пДОБЛП, ЧЩДБЧ УРЙУПЛ ЛПНБОДПК ls -l , НПЦОП ХЧЙДЕФШ, ЮФП ЖБКМ bar СЧМСЕФУС УЙНЧПМЙЮЕУЛПК УУЩМЛПК, ХЛБЪЩЧБАЭЕК ОБ ЖБКМ foo.

ч УЙНЧПМЙЮЕУЛЙИ УУЩМЛБИ ОЕ ЙУРПМШЪХАФУС РТБЧБ ДПУФХРБ Л ЖБКМХ (ЙОЩНЙ УМПЧБНЙ, ПОЙ ЧУЕЗДБ ЙНЕАФ ЖПТНХ rwxrwxrwx). ч ДЕКУФЧЙФЕМШОПУФЙ, РТБЧБ ДПУФХРБ Л УЙНЧПМЙЮЕУЛЙН УУЩМЛБН ПРТЕДЕМСАФУС РТБЧБНЙ ДПУФХРБ Л ФПНХ ЖБКМХ, ОБ ЛПФПТЩК РПЛБЪЩЧБЕФ УЙНЧПМЙЮЕУЛБС УУЩМЛБ (Ч ОБЫЕН РТЙНЕТЕ ЬФП ЖБКМ foo).

рТЙ ФПН, ЮФП НЕЦДХ ЦЈУФЛЙНЙ Й УЙНЧПМЙЮЕУЛЙНЙ УУЩМЛБНЙ ЕУФШ ЖХОЛГЙПОБМШОПЕ УИПДУФЧП, НЕЦДХ ОЙНЙ ЕУФШ Й ПФМЙЮЙС. чП-РЕТЧЩИ, НПЦОП УПЪДБФШ УЙНЧПМЙЮЕУЛХА УУЩМЛХ ОБ ЖБКМ, ЛПФПТЩК ОЕ УХЭЕУФЧХЕФ, Б УДЕМБФШ ФП ЦЕ У ЦЕУФ ЛПК УУЩМЛПК ОЕМШЪС. чП-ЧФПТЩИ, УЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ ПВТБВБФЩЧБАФУС СДТПН УЙУФЕНЩ ЙОБЮЕ, ЮЕН ЦЈУФЛЙЕ УУЩМЛЙ; ЬФБ ТБЪОЙГБ НПЦЕФ РПЛБЪБФШУС ЮЙУФП ФЕИОЙЮЕУЛПК, ОП ЙОПЗДБ ПОБ ЧБЦОБ. у РПНПЭША УЙНЧПМЙЮЕУЛЙИ УУЩМПЛ РТПУФП ХУФБОПЧЙФШ, ОБ ЛБЛПК ЖБКМ ПОЙ РПЛБЪЩЧБАФ, Б У ЦЈУФЛЙНЙ УУЩМЛБНЙ РТПУФПЗП УРПУПВБ ПРТЕДЕМЙФШ, ЛБЛЙЕ ЕЭЈ ЖБКМЩ УЧСЪБОЩ У ДБООЩН ЙОДЕЛУОЩН ДЕУЛТЙРФПТПН, ОЕФ.

Читайте также:  Copy and overwrite windows

уУЩМЛЙ ЫЙТПЛП ЙУРПМШЪХАФУС Ч УЙУФЕНЕ Linux. пУПВЕООП ЧБЦОЩ УЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ, ЛПФПТЩЕ ХЛБЪЩЧБАФ ОБ ВЙВМЙПФЕЛЙ ПВЭЕЗП РПМШЪПЧБОЙС, ОБИПДСЭЙЕУС Ч ЛБФБМПЗЕ /lib.

Источник

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

Символьная ссылка или «символическая ссылка» — это файл Linux, который просто указывает на другой файл. Если указанный файл будет удален, символическая ссылка останется, но не покажет, что есть проблема, пока вы не попытаетесь ее использовать. Вот несколько простых способов найти и удалить символические ссылки, которые указывают на файлы, которые были перемещены или удалены.

Символические ссылки играют очень полезную роль в системах Linux. Они могут помочь вспомнить, где находятся важные файлы в системе, упростить вам доступ к этим файлам и сэкономить вам много дискового пространства и возможных проблем, избавив вас от необходимости копировать большие файлы.

Что именно является символической ссылкой?

Обычно называемые symlink(символической ссылкой) или soft link(мягкой ссылкой), символические ссылки представляют собой очень маленькие файлы. На самом деле символическая ссылка содержит только имя любого файла, на который она указывает, обычно вместе с путем к файловой системе (относительно текущего местоположения или абсолютного значения).

Если файл с именем file1 указывает на файл с именем /apps/files/file-2020, длина file1 будет составлять 21 символ, даже если размер файла file-2020 составляет 2 терабайта. Если он указывает на ./file-2020, длина его будет всего 11 символов. Если указывает на file-2020, то только девять.

Если вы выполните команду, подобную «vi file1» (где file1 — имя символической ссылки), вы в конечном итоге отредактируете любой файл, на который указывает file1, а не содержимое самой символической ссылки. Системы Linux знают, как работать с символическими ссылками, и просто делают правильные вещи. Точно так же, если вы используете такие команды, как cat, more, head или tail, вы будете просматривать содержимое указанного файла.

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

Когда ломаются ссылки

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

Если вы попытаетесь использовать символическую ссылку, которая указывает на несуществующий файл, вы получите ошибку, подобную этой:

Если вы попытаетесь получить доступ к символической ссылке, которая указывает на себя (бывает и так), вы увидите что-то вроде этого:

Если первая буква в длинном списке не привлекла вашего внимания, это означает, что файл является символической ссылкой. Разрешения rwxrwxrwx являются стандартными и не отражают разрешения для файла, на который указывает символическая ссылка.

Нахождение сломанных символических ссылок

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

буква l указывает команде поиска искать символические ссылки.

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

Чтобы избежать ошибок, когда команда пытается просмотреть файлы или каталоги, на которые у вас нет разрешения, вы можете отправить весь вывод ошибок в /dev/null следующим образом:

Вы также можете найти неработающие символические ссылки с помощью такой команды. Она длиннее предыдущей, но делает тоже самое:

Что делать с битыми символическими ссылками

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

Часть этой команды rm <> превращается в команду «удалить файл».

Если вместо этого вы хотите связать символическую ссылку с другим файлом, вам придется удалить символическую ссылку, а затем воссоздать ее так, чтобы она указывала на новый файл. Вот пример:

Источник

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