ホームページ  >  記事  >  Linux 実行可能ファイルとは何ですか?

Linux 実行可能ファイルとは何ですか?

青灯夜游
青灯夜游オリジナル
2023-03-09 10:00:213321ブラウズ

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

Linux 実行可能ファイルとは何ですか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

実行可能ファイルとは

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

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

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

この

test.sh は実行可能ファイルと呼ばれます。

実行ファイル 一般的なバイナリファイルとスクリプトファイルの2種類に分けられ、前者はよく使われる

lsmkdirコマンドなどです。すべてのバイナリ ファイルですが、後者は一般的なものですインタープリタの実行に依存するシェル スクリプトまたは 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」の実行権限を追加します。

Linux 実行可能ファイルとは何ですか?

#ファイルの種類を表示すると、上記の Python スクリプトによって出力された内容と一致しており、txt ファイルであると見なされていることがわかります。

次に、実行権限が追加され、「. /' が実行され、「コマンドが見つかりません」というプロンプトが表示されます。

ここでは、システムはこれを実行するシェル スクリプトとして扱い、内容を順番に読み取り、「/bin/」に渡します。 bash" インタープリタを実行します。

次に、同じ方法に従って、Python スクリプトをシステムによって認識される実行可能ファイルに変換します。

Linux 実行可能ファイルとは何ですか?

この時点で、

./ を使用して実行することもできます。

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

2 つの方法があります1 つ目は、次のようなインタープリターを使用してファイルを直接実行する方法です:

Linux 実行可能ファイルとは何ですか?

各インタープリターは、独自の構文に対応するスクリプトのみを実行できます。別のインタープリターが使用されると、エラーがスローされます。たとえば、Python インタープリターはシェル スクリプトを実行できません。

次の話をしましょう

./、ドットは「現在のディレクトリ」を意味します。 Linux システムでは、「/」は通常のパス区切り文字ですが、これらを組み合わせると、

Linux 実行可能ファイルとは何ですか?

のように、単なる相対パスになります。したがって、実行可能ファイルを実行するときは、システムによって認識されます。

./ は最も重要な部分ではなく、ファイル自体が重要です。たとえば、絶対パス document:

を使用して実行可能ファイルを実行できます。 ##

先頭の /root/file/ を削除し、最後にある .py を削除する場合、つまり、「hello」と入力して ## を出力するだけです。 #hello world ! とすると、このファイルは Linux システムのコマンドと何ら変わらないようです。

次に、これを

ls# と同じ「コマンド」に変えてみましょう。 ## .

Linux 実行可能ファイルとは何ですか?

    最初に実行可能ファイルの名前を変更します
  • 次に、それを usr/ 内の / に置きます。 bin ディレクトリ
  • に「hello」と直接入力すると、
  • hello world!

が直接出力されます。ただし、スクリプトをシステムが認識する実行可能ファイルにして /usr/bin ディレクトリに配置する限り、一般的に使用されるコマンドと変わりません。

なぜ /usr/bin なのか?

実際、Linux システムには PATH という変数があり、この変数はパスのセットです。コマンド (ls など) を入力すると、この変数の内容で指定されたディレクトリ内で対応する名前のファイルが検索され、それが実行されます。 put the current ディレクトリもこの変数に追加され、現在のディレクトリ内のファイルはパスを指定せずにシステムによって直接実行できます。その行に「x」が属していないファイルは、/usr/bin ディレクトリに放り込んでも実行できません。

通常、PATH 変数を直接宣言することはほとんどありませんが、この変数を操作するときにも、これら 2 つの環境変数のファイルの

~/.bashrc ディレクトリまたは /etc/profile

に書き込まれます。セッションが接続されると、内部のコンテンツが自動的に実行され、このディレクトリが PATH 変数に追加されます。

Linux 実行可能ファイルとは何ですか?概要

スクリプト ファイルに「x」がある場合ファイルに「X」権限がある場合、ファイルはシステムによって認識される実行可能ファイルになります。このとき、ファイルを実行するときに、対応するインタープリタを指定するだけでなく、絶対パスまたは相対パスを使用できますが、インタプリタを介して実行することも、その場所に配置することもできます。ディレクトリを「PATH」変数に追加します。

スクリプト ファイルが上記の要件を満たしている場合、この方法では、「bash hello.sh」や「python hello.py」などのインタプリタを介してのみ実行できます。

関連する推奨事項: 「Linux ビデオ チュートリアル

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。