3.2.3. 最も重要なファイルとディレクトリ
3.2.3.1. カーネル
カーネルはシステムの心臓部です。 基盤となるハードウェアと周辺機器の間の通信を管理します。 また、カーネルは、プロセスとデーモン (サーバー プロセス) が正確なタイミングで開始および停止されることを確認します。 カーネルには他にも多くの重要なタスクがあり、そのタスクが多すぎるため、特別なタスクが存在します。
このテーマのみに関するカーネル開発メーリング リストでは、膨大な量の情報が共有されます。 カーネルについて詳しく説明すると、行き過ぎてしまいます。 今のところ、カーネルが最も重要であることを知っておくだけで十分です。
システム上のファイル。
3.2.3.2. シェル
3.2.3.2.1。 シェルとは何ですか?
の概念について適切な説明を探していたとき、 shell、思った以上に苦労しました。 「シェルは車のハンドルである」という単純な比較から、「bash は
sh 互換のコマンド言語インタプリタ」、またはさらにあいまいな表現では、「シェルはシステムとそのユーザーの間の対話を管理します。」シェルはそれをはるかに超えたものです。
シェルは、コンピュータと対話する方法、つまり言語と最もよく比較できます。 ほとんどのユーザーは、もう XNUMX つの言語、つまりデスクトップのポイント アンド クリック言語を知っています。 しかし、その言語ではコンピュータが会話を主導し、ユーザーは提示されたタスクからタスクを選択するという受動的な役割を担います。 プログラマにとって、コマンドのすべてのオプションと考えられる使用方法を GUI 形式に含めることは非常に困難です。 したがって、GUI はほとんどの場合、バックエンドを形成するコマンドよりも機能が劣ります。
一方、シェルは、双方向の会話と主導権の取得を可能にするため、システムと通信するための高度な方法です。 コミュニケーションにおける両者のパートナーは対等であるため、新しいアイデアを試すことができます。 シェルを使用すると、ユーザーは非常に柔軟な方法でシステムを処理できます。 追加の利点は、シェルによってタスクの自動化が可能になることです。
3.2.3.2.2。 シェルの種類
人間がさまざまな言語や方言を知っているのと同じように、コンピュータもさまざまなシェルの種類を知っています。
• sh または Bourne Shell: UNIX システムおよび UNIX 関連環境で現在も使用されているオリジナルのシェル。 これは基本的なシェルであり、機能がほとんどない小さなプログラムです。 POSIX 互換モードの場合、bash はこのシェルをエミュレートします。
• bash または Bourne Again SHell: 直感的で柔軟な標準の GNU シェル。 おそらく初心者ユーザーにとって最も推奨されると同時に、上級ユーザーやプロフェッショナル ユーザーにとっても強力なツールです。 Linux では、 bash 一般ユーザー向けの標準シェルです。 このシェルはいわゆる スーパーセット Bourne シェル、アドオンとプラグインのセット。 これは、Bourne Again SHell が Bourne シェルと互換性があることを意味します。 sh、でも働いています bash。 ただし、その逆が常に当てはまるとは限りません。 この本のすべての例と演習では、 bash.
• CSH または C シェル: このシェルの構文は C プログラミング言語の構文に似ています。 プログラマーから依頼されることもあります。
• tcsh または Turbo C Shell: 一般的な C シェルのスーパーセットで、使いやすさと速度が向上します。
• kshの または Korn シェル: UNIX のバックグラウンドを持つ人々に高く評価されることがあります。 Bourne シェルのスーパーセット。 標準構成では、初心者ユーザーにとっては悪夢です。
ファイル /など/シェル に、Linux システム上の既知のシェルの概要を示します。
ミア:~> 猫/など/シェル
/bin/bash
/bin/sh
/ bin / tcsh
/ bin / csh
ミア:~> 猫/など/シェル
/bin/bash
/bin/sh
/ bin / tcsh
/ bin / csh
偽ボーンシェル
注意してください /bin/sh 通常、これは Bash へのリンクであり、この方法で呼び出された場合は Bourne シェル互換モードで実行されます。
デフォルトのシェルは次のように設定されています。 /etc/passwd ファイル、ユーザーのこの行のように ミア:
ミア:L2NOfqdlPrHwE:504:504:ミア マヤ:/ホーム/ミア:/bin/bash あるシェルから別のシェルに切り替えるには、アクティブなターミナルに新しいシェルの名前を入力するだけです。 システムは、名前が出現するディレクトリを次のコマンドを使用して検索します。 パス 設定、およびシェルは実行可能ファイルであるため、
(プログラム) の場合、現在のシェルがそれをアクティブ化し、実行されます。 通常、新しいプロンプトが表示されます。
シェルの典型的な外観は次のとおりです。
ミア:~> tcsh
[mia@post21 ~]$
ミア:~> tcsh
[mia@post21 ~]$
3.2.3.2.3。 どのシェルを使用していますか?
使用しているシェルがわからない場合は、アカウントの行を確認してください。 /etc/passwd またはコマンドを入力します
echo $ SHELL
3.2.3.3. ホームディレクトリ
ホーム ディレクトリは、システムに接続するときのデフォルトの接続先です。 ほとんどの場合、それは次のサブディレクトリです。 /ホーム、これは異なる場合がありますが。 ホーム ディレクトリは、リモート ファイル サーバーのハードディスク上にある場合があります。 その場合、ホーム ディレクトリは次の場所にある可能性があります。 /nethome/あなたのユーザー名。 別のケースでは、システム管理者がわかりにくいレイアウトを選択し、ホーム ディレクトリが /disk6/HU/07/jギラード.
ホーム ディレクトリへのパスがどのようなものであっても、あまり心配する必要はありません。 ホーム ディレクトリへの正しいパスは、 ホーム プログラムで必要な場合に備えて、環境変数。 とともに echo コマンドを使用すると、この変数の内容を表示できます。
オーランド:~> エコー$ HOME
/ネットホーム/オーランド
オーランド:~> エコー$ HOME
/ネットホーム/オーランド
ホームディレクトリでは好きなことを何でもできます。 必要なだけ多くのファイルをディレクトリに配置できますが、データとファイルの総量は、ハードウェアとパーティションのサイズによって、またシステム管理者がクォータ システムを適用している場合もあるため、当然制限されます。 ハードディスクの容量がまだ高価だった時代には、ディスクの使用量を制限するのが一般的でした。 現在、制限はほぼ大規模環境にのみ適用されます。 制限が設定されているかどうかは、 クォータ コマンド:
ピエール@ラメゾン:/> クォータ -v
ユーザー pierre (uid 501) のディスククォータ: なし
ピエール@ラメゾン:/> クォータ -v
ユーザー pierre (uid 501) のディスククォータ: なし
クォータが設定されている場合は、制限されたパーティションとその特定の制限のリストが表示されます。 制限を超過しても、猶予期間中は制限が緩和されるか制限がまったくなくても許容される場合があります。 詳細情報は、 info クォータ or man クォータ コマンド。
ノルマはありませんか?
システムが見つからない場合は、 クォータの場合、ファイル システムの使用制限は適用されません。
ホーム ディレクトリはチルダ (~) で示されます。 /ホームへのパス/ユーザー名。 これと同じパスが次の場所に保存されます。 ホーム 変数なので、アクティブにするために何もする必要はありません。 簡単なアプリケーション:
から切り替える /var/music/albums/arno/2001 〜へ 画像 エレガントなコマンドを XNUMX つ使用して、ホーム ディレクトリに移動します。
rom:/var/music/albums/arno/2001> cd ~/画像
rom:~/画像> pwd
/ホーム/rom/イメージ
rom:/var/music/albums/arno/2001> cd ~/画像
rom:~/画像> pwd