シンボリックリンクまたはシンボリックリンクまたはソフトリンクとははすでに知っていました。 と壊れたシンボリックリンクを見つけて削除する方法 Linuxシステムから。今日は、Linuxでシンボリックリンクをリストする方法を学びます。かなり前にいくつかのシンボリックリンクを作成していて、それらを完全に忘れている場合、このクイックヒントは、「find」コマンドを使用してシンボリックリンクを簡単に見つけるのに役立ちます。
Linuxでのシンボリックリンクの一覧表示
Linuxシステムのすべてのシンボリックリンクまたはシンボリックリンクまたはソフトリンクを一覧表示するには、次のコマンドを実行します。
$ sudo find / -type l
ここで
- / -ファイルシステム全体を表します。
- -タイプ -ファイルタイプを参照します。
- 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

Linuxでのシンボリックリンクの一覧表示
上記の出力でお気づきかもしれませんが、findコマンドは、現在のディレクトリとそのサブディレクトリでシンボリックリンクを検索します。
現在のディレクトリの1レベル下にあるすべてのシンボリックリンクを一覧表示する場合は、 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ページを参照してください。
$ man find
これがお役に立てば幸いです。