Linux コマンド実行ファイル

Linux コマンド実行ファイル

Foxitreaderを実行しようとしています。私はそれにtarを実行しました。しかし、なぜインストールを実行し、ダウンロード時に「./」で始まるファイルを実行するのですか?それはどういう意味ですか?

./FoxitReader.enu.setup.1.1.0.0225(r205262)​​.x64.run

答え1

FoxitはFoxit PDFリーダーを圧縮アーカイブとして配布します(.tar.gzで終わるファイル:.tarはアーカイブであることを意味し、.gzは圧縮されたことを意味します)。

ファイルを解凍すると、この .run ファイルが生成されます。これはコマンドラインで実行できるバイナリです。プレフィックスは、「現在のディレクトリ」の識別子./と同様に、シェルに現在のディレクトリ内のファイルを検索するように指示します。.コマンドを使用して現在のディレクトリを確認できますpwd

答え2

LinuxおよびUnixファミリーシステムで。記号は. 現在のディレクトリを示します。記号は..過去のディレクトリを示します。

そのため、./X(Xはバイナリです)ターミナルにXファイルバイナリを実行する必要があることを伝えます。

.gzX.gz .tarアーカイブファイルのサフィックスと同様に、圧縮ファイルのサフィックスです。 Linuxには(プレフィックスを含む)X.tar などの他の圧縮コマンドがありますが、通常はgzipを使用してファイルを圧縮します。bzip2.bz2

tarの詳細については、以下を参照してください。ここ

gzipの詳細については、以下を参照してください。ここ

答え3

Windowsと比較すると、tarファイルはそのままアーカイブに過ぎませんzip

したがって、あなたがすることは、アーカイブから実行可能ファイルを抽出するだけです。ファイルを.zip取得するためにファイルを解凍するのと同じです。.exeWindowsで。

しかし、Windowsと同様に、ここでは走らなければならない実際、実行ファイルは走るプログラム。

この実行可能ファイル(現在のフォルダに保存されている)を実行できます./FoxitReader.enu.setup.1.1.0.0225(r205262).x64.run。また、これはexeファイルを実行するのと同じです。


Q:「./実行可能ファイルを実行する必要があるのはなぜですか?」 - 必ずしも必要ではありません。

lsたとえば、何かを入力すると実行可能cpファイルが実行されます。問題は端末が知る必要があるということだ。どここのアプリを見つけました。

デフォルトでは、実行可能ファイルへのパスを入力しないと、端末は設定されたフォルダからそのファイルを検索します。

したがって、を入力すると、ls端末は次のことを行います。

  1. コマンドがls場所を指定していないことを確認してください。
  2. $PATH変数(設定)を使用して定義されたフォルダ内で検索
  3. ls発見する/bin/ls
  4. 実行する

ただし、$PATH現在のディレクトリは通常この設定には含まれていません。つまり、実行可能ファイルへのパスを作成する必要があり、現在のフォルダには親.フォルダと同様に特別な名前があります..

FoxitReader "exe"が現在(または他のディレクトリ)[./またはDownloads/など]にあることを指定しないと、そのエントリは見つからず実行されません。

関連情報