シンボリックリンクで実行されたコマンドを見つける方法は? [閉鎖]

シンボリックリンクで実行されたコマンドを見つける方法は? [閉鎖]

私のシステムのどこか(問題はどこにあるのかわからないこと)に優先順位のあるシンボリックリンクがありますが、リンクがbash壊れて動作しません。

だけでなく:

  • 現在のディレクトリ:mysymlink
  • パスのどこか(パッケージによってインストールされます):mysymlink

現在のディレクトリで実行すると、ファイルシステムのどこかにあるmysymlink(壊れた)シンボリックリンクが呼び出されます。mysymlink

現在のディレクトリでシンボリックリンクを使用できるようにシンボリックリンクを検索し、削除します。

どうやって見つけることができますか?

(編集)具体例:

コマンド -v testcafe

/usr/local/bin/testcafe

ls -l /usr/local/bin/testcafe

ls:/usr/local/bin/testcafeにアクセスできません:そのファイルまたはディレクトリがありません

(ノート:宛先パスを削除しました。間違いによる)

このシンボリックリンク(私のシステムのどこかで)をどのように削除できますか?

ベストアンサー1

command -v UTILITYコマンドを実行すると、シェルが何を実行しようとしているかが表示されますUTILITY

報道された後

/usr/local/bin/testcafe

しかし、その後

ls: cannot access /usr/local/bin/testcafe: No such file or directory

これを試みると、ユーティリティの報告された場所がシェルによってキャッシュされ、削除されたとls -l考えられます。testcafe

シェルのキャッシュをフラッシュするには、次を使用しますhash -r(このコマンドは何も印刷しません).これによりキャッシュがフラッシュされ、シェルは次回の実行時にフルパスルックアップを実行しますtestcafe

おすすめ記事