GNU/Linux >> Linux の 問題 >  >> Linux

シェルコマンドは何語で書かれていますか?

プログラムは、任意の言語 (主に C) で書かれた通常の実行可能ファイルです。

シェルは、入力されたコマンドをただの文字列として受け取ります。次に、$ である環境変数など、シェルにとって特別な意味を持つ特定の文字列を探します。 > の単語またはリダイレクトが続く パスが続きます。この置換が実行されると、実行可能ファイルとパラメータの名前を生成するためにスペースで分割された文字列が含まれます。シェルは、環境変数 PATH のディレクトリのリストで実行可能ファイルを検索します。その後、シェルはシステム コールを使用して、パラメーターを使用して実行可能ファイルからプロセスを作成します。

たとえば、コマンド ls $HOME を実行するには シェルは最初に $HOME を認識します は環境変数であり、この場合 /home/user の場合はその値に置き換えます コマンド ls /home/user を終了 .次に、コマンドをスペースで分割して、実行可能ファイル名 ls を取得します およびパラメーター /home/user .シェルは ls に一致する最初の実行可能ファイルを見つけます 通常 /bin/ls .次に、spawn()/posix_spawn() または fork() および exec() システム コールを使用して、新しいプロセスを作成します。


Linux の基本的なユーティリティのほとんどは C で書かれています .これは busybox source code で確認できます C で書かれた基本的な Linux コマンド ユーティリティのほとんどをサポートします。 .So コマンドのような ls,cd ...etc は c にあります

シェルがリンクの下のチェックインを解釈する方法

オペレーティング システムには、シェルと呼ばれる特別なプログラムがあります。シェルは人間が読めるコマンドを受け入れ、カーネルが読み取って処理できるものに変換します。

http://www.math.iitb.ac.in/resources/manuals/Unix_Unleashed/Vol_1/ch08.htm


これらのプログラムは、Linux カーネルと同様に、主に C プログラミング言語で書かれています。


Linux
  1. エクスポートされたシェル変数とBashにないシェル変数の違いは?

  2. どのシェルで実行していますか?

  3. シェル スクリプトとはシェル スクリプトの作成方法

  1. Windows、Mac OS X、Linux はどの言語で書かれていますか?

  2. 非同期シェル コマンド

  3. 構文 |&はシェル言語で何を意味しますか?

  1. bashrcファイルに欠落しているコマンドは何ですか?

  2. どのシェルを使用していますか?

  3. CentOS のキックスタート ファイルの %pre セクションで使用できるコマンドは何ですか?