ホームページ  >  記事  >  運用・保守  >  Linuxの実行ファイルとは何を指すのでしょうか?

Linuxの実行ファイルとは何を指すのでしょうか?

王林
王林転載
2023-05-11 20:58:112143ブラウズ

Linux では、実行可能ファイルは、ファイルが実行可能であり、ファイルに「x」権限があることを意味します。実行可能ファイルは、コード ファイル (スクリプト ファイル) またはバイナリ ファイルです。 。ファイルを実行するには 2 つの方法があります: 1. インタプリタを使用してファイルを直接実行する; 2. 「./」を使用してファイルを実行し、構文は「./ ファイル名」です。

実行可能ファイルとは

実行可能ファイルとは、実行できるファイルを指します。このファイルはコード ファイルまたはバイナリ ファイルです

Linux ファイル システムにはファイルとディレクトリのみがあります (すべてがファイルです)。

Linux では、ファイルを実行する主な方法が 2 つあります: bash test.sh または ./test.sh.

この test.sh を実行ファイルと呼びます。

実行ファイルは 2 つに分かれています一般的なバイナリ ファイルとスクリプト ファイルの 2 種類があり、よく使用される lsmkdir コマンドなどの前者はバイナリ ファイル、もう 1 つはスクリプト ファイルです。後者は一般的なシェル スクリプト、またはインタープリタの実行に依存する Python スクリプトです。

コマンド file を使用してファイルの種類を確認できます。たとえば、バイナリ ファイルは次のようになります。表示:

Linuxの実行ファイルとは何を指すのでしょうか?

##スクリプト ファイルの出力:


Linuxの実行ファイルとは何を指すのでしょうか?

#実行可能ファイルの違い

上の2つのスクリプトファイルには # が含まれています。出力内容が異なっていることがわかります。1つはシェルスクリプト

として認識され、もう1つは通常のテキストファイルとみなされますが、どちらのファイルも実行可能です。 :

図に示すように: 両方のファイルを実行すると、Linuxの実行ファイルとは何を指すのでしょうか?hello world!

.

2 つの異なる実行方法が出力されます。最初のファイルは、使用可能な実行ファイル ./hello.sh

を直接指定します。この方法で実行する場合、スクリプトは次の 2 つの要件を満たす必要があります:

ファイルには「x」権限があります
  • ファイルがバイナリ タイプのファイルではない場合、そのインタプリタを最初の 1 行目に指定する必要があります
  • 最初のファイルは、システム内の Linux ファイル「rwx」を指します。r は読み取り専用、w は書き込み可能、​​「x」はファイルが実行可能であることを意味します。ここでのファイルが実行可能かどうかの判断は、「アヒル型」に似ています。つまり、動物が鳴くことができる限り、それはアヒルだと思います。このとき、犬が歩いてきて2回鳴いても、私はそれを判断します。アヒルだと思います。
  • 変換後、ファイルの種類に関係なく、このファイルが「X」権限を持つ限り、システムはそれを実行可能ファイルとみなします。例:
hello world!

という内容の新しいテキスト タイプ ファイルを作成し、「x」実行権限を追加します。


これは、次の場合に確認できます。ファイルの種類を確認すると、上記の Python スクリプトによって出力された内容と一致しており、これは txt ファイルであると考えられます。

次に、それに実行権限を追加して、「./」を実行し、「コマンド見つかりません"。ここでは、システムはこれを実行するシェル スクリプトとして扱い、そこからコンテンツを順番に読み取り、実行する "/bin/bash" インタープリタを送信します。

次に、同じ方法に従って、Python スクリプトをシステムによって認識される実行可能ファイルに変換します。Linuxの実行ファイルとは何を指すのでしょうか?

この時点で、

./## を使用することもできます。

./ とはどういう意味ですか?

Linuxの実行ファイルとは何を指すのでしょうか?ファイルを実行するには 2 つの方法があります。1 つ目は、インタープリタを使用してファイルを直接実行することです。

各インタープリターは、独自の構文に対応するスクリプトのみを実行できます。他のインタープリターを使用すると、エラーがスローされます。例: 、Python インタープリターはシェル スクリプトを実行できません。Directory" と "/" は通常のパス区切り文字です。これらを組み合わせると、次のような相対パスにすぎません。

#, したがって、システムによって認識される実行可能ファイルを実行するとき、ファイルに関して言えば、

./

が最も重要な部分ではなく、ファイル自体が重要です。たとえば、次のようにして実行可能ファイルを実行できます。絶対パス: Linuxの実行ファイルとは何を指すのでしょうか?

先頭の
/root/file/

を削除し、次の .py を削除した場合つまり、「hello」と入力して

hello world!

を出力するだけで、このファイルは Linux システムのコマンドと何ら変わらないようです。Linuxの実行ファイルとは何を指すのでしょうか?

次に、これを ls と同じ「コマンド」に変換します。

Linuxの実行ファイルとは何を指すのでしょうか?

  • 最初に実行可能ファイルの名前を変更します。ファイル

  • 次に、それを /usr/bin ディレクトリに置きます。

  • hello を直接入力し、直接出力します。 hello world!

こちらも側面から説明しますが、スクリプトをシステムが認識する実行可能ファイルにして、/usr /bin ディレクトリに配置する限り、問題はありません。一般的に使用されるコマンドとは異なります。

なぜ /usr/bin なのでしょうか?

実際には、変数は PATH## と呼ばれます。 #. この変数はパスのセットです。コマンド (ls など) を入力すると、この変数の内容から対応するディレクトリが検索されます。ファイル名が指定され、それが実行されます。

したがって、現在のディレクトリをこの変数に追加できれば、現在のディレクトリ内のファイルはパスを指定せずにシステムによって直接実行できます。

Linuxの実行ファイルとは何を指すのでしょうか?

ファイルに "x" 属性行がない場合、/usr/bin ディレクトリにドロップしても実行できません。

一般に、PATH 変数が直接宣言されることはほとんどありません。この変数を操作すると、セッションの接続後に、このように

~/.bashrc ディレクトリまたは /etc/profile の 2 つの環境変数ファイルにも書き込まれます。 、内部のコンテンツが自動的に実行され、このディレクトリが PATH 変数に追加されます。

以上がLinuxの実行ファイルとは何を指すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。