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

Список символических ссылок на Linux

Чтобы получить список всех символических или cофт линков в системе Linux, выполните:

$ sudo find / -type l

где:

  • / — представляет всю файловую систему.
  • -type — относится к типу файла.
  • l — относится к символической ссылке.

Эта команда будет искать все доступные символические ссылки во всей файловой системе.

Это займет некоторое время в зависимости от размера вашей файловой системы.

Пожалуйста, будьте терпеливы!

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

Например, следующая команда выведет список всех программных ссылок в текущем каталоге:

$ find . -type l
Обратите внимание на одну точку (.) в приведенной выше команде.
В Linux одна точка (.) Используется для представления текущего (текущего) каталога.
Двойная точка (..) используется для представления родительского каталога.
Пример вывода:
./snap/multipass/current
./snap/multipass/1597/.config/autostart
./snap/multipass/1597/config/autostart/multipass.gui.autostart.desktop
./snap/multipass/1784/.config/autostart
./snap/multipass/1784/config/autostart/multipass.gui.autostart.desktop
./.local/share/webkitgtk/databases/indexeddb/v0
find: ‘./.dbus’: Permission denied
./.config/spyder-py3/spyder.lock
./Downloads/Tor browser/Browser/.config/ibus/bus
./.mozilla/firefox/htoypxlg.default-1563118799416/lock

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

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

$ find . -type l -ls
Пример вывода:
  4458987      0 lrwxrwxrwx   1 sk       sk              4 Mar  6 13:58 ./snap/multipass/current -> 1784
 11927799      0 lrwxrwxrwx   1 sk       sk             19 Mar  5 11:20 ./snap/multipass/1597/.config/autostart -> ../config/autostart
 11932200      4 lrwxrwxrwx   1 sk       sk             72 Feb 27 15:30 ./snap/multipass/1597/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1597/usr/share/multipass/multipass.gui.autostart.desktop
 11534358      0 lrwxrwxrwx   1 sk       sk             19 Mar 17 11:51 ./snap/multipass/1784/.config/autostart -> ../config/autostart
 11666096      4 lrwxrwxrwx   1 sk       sk             72 Mar  6 13:58 ./snap/multipass/1784/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1784/usr/share/multipass/multipass.gui.autostart.desktop
  5246237      0 lrwxrwxrwx   1 sk       sk             51 Feb 12 20:14 ./.local/share/webkitgtk/databases/indexeddb/v0 -> /home/sk/.local/share/webkitgtk/databases/indexeddb
find: ‘./.dbus’: Permission denied
  4459630      0 lrwxrwxrwx   1 sk       sk              5 Jan 24 17:39 ./.config/spyder-py3/spyder.lock -> 18461
  4340805      0 lrwxrwxrwx   1 sk       sk             25 Feb 15 15:21 ./Downloads/Tor\ browser/Browser/.config/ibus/bus -> /home/sk/.config/ibus/bus
  4328111      0 lrwxrwxrwx   1 sk       sk             20 Mar 17 11:56 ./.mozilla/firefox/htoypxlg.default-1563118799416/lock -> 192.168.225.37:+2642

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

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

$ find . -maxdepth 1 -type l
Другой способ найти список символических ссылок в текущем каталоге:
$ find . -type l -printf '%p -> %l\n'
Система будет рекурсивно перечислять все символические ссылки в текущем каталоге:
./snap/multipass/current -> 1784
./snap/multipass/1597/.config/autostart -> ../config/autostart
./snap/multipass/1597/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1597/usr/share/multipass/multipass.gui.autostart.desktop
./snap/multipass/1784/.config/autostart -> ../config/autostart
./snap/multipass/1784/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1784/usr/share/multipass/multipass.gui.autostart.desktop
./.local/share/webkitgtk/databases/indexeddb/v0 -> /home/sk/.local/share/webkitgtk/databases/indexeddb
find: ‘./.dbus’: Permission denied
./.config/spyder-py3/spyder.lock -> 18461
./Downloads/Tor browser/Browser/.config/ibus/bus -> /home/sk/.config/ibus/bus
./.mozilla/firefox/htoypxlg.default-1563118799416/lock -> 192.168.225.37:+2642

Для более подробной информации обратитесь к справочным страницам.

$ man find
Поделитесь статьей:

One thought on “🐧 Как перечислить символические ссылки в Linux

  1. Затем ядро монтирует этот initrd как часть двухэтапного процесса загрузки, чтобы загрузить модули, чтобы сделать реальные файловые системы доступными и получить доступ к настоящей корневой файловой системе. В дополнение к базовым правам для файлов в Linux существует несколько специальных разрешений, доступных для исполняемых файлов и каталог

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