ksh:Linux - 特定のディレクトリ/ファイルを検索するコマンド

ksh:Linux - 特定のディレクトリ/ファイルを検索するコマンド

Javaコードでは、com.oracle.semisal.abcなどのいくつかのフォルダ構造を表示できます。

com.oracle.semisal.abc は com/oracle/semisal/abc と同じです。ここで、abc はファイル名です。

しかし、そのパスがサーバーのどこにあるかわかりません。

kshのコマンドやスクリプトを提供してください。

答え1

私が正しく理解したら、構造を見ることができるJavaコードを書いていますcom.oracle.semisal.abc。これは、ファイルやディレクトリではなく、それ自体がファイルである可能性がある他のJavaコードへの参照です。

しかし、あなたは正しい道を行っています。 Javaアーティファクトは.jarよく構成された構造を持ち、アーティファクトには外部コードを含めることができます。ファイルがある場合は、.jarパッケージチェックツール、解凍ツール、またはツールjar自体を使用してファイルを見つけることができますjar -xf example.jar

だから私の最高の最高は次のとおりです。

  1. コードアーティファクトを開く/抽出
  2. 同様のフォルダがあることを確認してください。これにはetc.というフォルダをcom含めることができます。oracle
  3. 欲しいものを見つけたら、幸せです:)
  4. (またはプロジェクトの他の成果物を確認してください。.jar探しているものがある可能性がある外部ファイルを含めることができます。)

答え2

Javaがどのように機能するのかわからないので、システムで特定のパスを見つける方法についてのより一般的な質問に答えることで範囲を絞り込むことができます。

com/oracle/semisal/abcファイルシステムのどこからでもパスを見つけるには、次の2つの方法を試すことができます。

  1. locate abc | grep -F 'com/oracle/semisal/abc'

    これはデフォルトでlocateデータベースを使用してファイルシステムに名前が付けられているすべてを探しますabc。これにより、grepその出力から特定のパスを取得できます。

  2. find / -path '*/com/oracle/semisal/abc/*' -print

    これは、パス内のfindすべてのファイルとディレクトリを見つけるために使用されます。com/oracle/semisal/abcこれを実行してより多くの出力を生成するのに時間がかかります(パスが存在する場合)、パスがコマンドが見つかる場所にない場合は機能しますlocatelocateすべてのユーザーがアクセスできるもののみを確認してください) 。

関連情報