GNU/Linux >> Linux の 問題 >  >> Linux

[Linuxのヒント]Linuxでシンボリックリンクを一覧表示する方法

シンボリックリンクまたはシンボリックリンクまたはソフトリンクとははすでに知っていました。 と壊れたシンボリックリンクを見つけて削除する方法 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

これがお役に立てば幸いです。


Linux
  1. Linuxでサービスを管理および一覧表示する方法

  2. Linuxにインストールされているすべてのパッケージを一覧表示する方法

  3. Linux – Linuxで名前空間を一覧表示する方法は?

  1. LinuxSSコマンドの使用方法

  2. Linuxで実行中のプロセスを一覧表示する方法

  3. Linuxでユーザーを一覧表示する方法

  1. Linuxでグループを一覧表示する方法

  2. Linuxでcronジョブを一覧表示する方法

  3. Lfsを使用してLinuxでファイルシステムを一覧表示する方法