Linux では、シェルとは、オペレーティング システム上に存在する「コマンド ライン インタプリタ」である「シェル」を指します。これは、次のような形式で表現される、ユーザー指向のコマンド インターフェイスを指します。ユーザーが入力したインターフェースに加えて、このインターフェースは走行情報をフィードバックすることもできます。シェルの機能: 1. ユーザーのコマンドを処理のためにカーネルに変換します; 2. コア (カーネル) の処理結果をユーザーに変換します。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux のシェルプログラムはシェル (コマンドラインインタプリタ) と呼ばれ、ユーザー指向のコマンドインターフェイスを指します。フォームはユーザーが入力できるインターフェイスであり、実行中のフィードバックも可能です。情報
シェルの機能は次のとおりです。
コマンドをカーネルに変換します。
カーネル処理結果を変換します。ユーザーへ
通常、使用するシェルは bash です。
コマンドを解釈するとき、bash は解釈に直接参加しませんが、コマンドを解釈するための新しいプロセスを作成します。bash は結果を待つだけでよいため、bash プロセスのセキュリティが確保されます。
1. 理由
Linux を使用するとき、私たちは皆、 Windows、linux にはグラフィカル インターフェイスがなく、操作には コマンド ラインを使用します。ただし、コマンドラインによる方法はコンピュータを直接操作するものではありません。 コンピュータの最下層は実際には
0 と 1で構成されていることがわかっています。各コマンドの送信は最終的に 0,1 信号に変換されてコンピュータに送信され、コンピュータが対応する命令を実行します。しかし、もし誰もがこのようにコンピュータを使うとしたら、それは間違いなく非常に困難になるでしょう。
2. 機能Linux オペレーティング システムは、
コア (カーネル)として機能し、ユーザー として機能します。その操作を直接行うことはできません。代わりに、shell を通じてコンピュータと通信します。 「シェル」の英語の意味は "shell" です。これはオペレーティング システム上に存在する "コマンド ライン インタプリタ" であり、 ユーザー コマンドを変換するために使用されます。コア (カーネル)、コア (カーネル) は処理結果をユーザーに翻訳します#シェルは実際にはユーザーとオペレーティング システムの間のトランスレーター##とみなすことができます #,ユーザーとオペレーティング システムの間には言語の壁があります 直接通信することはできません
しかし、会話はシェルを介した翻訳を通じて行われます3. Windows および Linux シェル
(1)windows
(2) linux
4. 存在意義
(1) ユーザーとオペレーティングシステム間のコミュニケーションを促進する
シェルのもう 1 つの目的は、オペレーティング システムを保護することです。
違法または無効なユーザー指示を傍受することで、5 を返します。 シェルがコマンドを実行するとき、シェルは子プロセスを
フォークすることによってユーザーの命令を実行します。通常、シェル自体は対応する命令を実行しません ## #。
shell 自体は、翻訳派遣会社の社長と考えることができます。ユーザーは翻訳の必要があるとき、シェルにリクエストを出し、派遣会社社長様 多数かつ複雑なニーズに対応するため、原則として個人による訪問サービスは行わず、当社の指揮下にある他の翻訳者を派遣してサービスを提供させていただきます。これらの
海外駐在員翻訳者は子プロセス です。 ##1. Linux 権限の概念 superuser、つまり root です。もう 1 つは 一般ユーザー です。 1. スーパー ユーザー (root) root ユーザーは 1 人だけです。 同時に、root ユーザーはオペレーティング システム上で最高の権限を持ちます。 どのコマンドの実行も権限によって制限されません。 他の一般ユーザーのファイルにアクセスして、ファイルを変更および削除できます。 オペレーティング システム、データベースのルート ディレクトリの削除、およびオペレーティング システムに深刻な損傷を与えたり、場合によってはクラッシュを引き起こすその他の操作を実行する可能性があります。 root ユーザー のコマンド プロンプトは “#” を持つことができます。一般のユーザーには権限の制限が適用されます。これらの権限の制約は、システム ユーザーと root ユーザーによって決まります。 #一般ユーザーのコマンドプロンプト ”$”## (2) ユーザーの切り替え アカウントを終了するには、 と入力するか、ショートカット キー を使用してください。 一般ユーザーとして「su」を使用する場合、対応するユーザーのパスワードを入力する必要があります。ただし、root ユーザー以下の "su" については、対応するユーザーのパスワードを入力する必要はありません。
(3)通信を実行するためにユーザーを切り替えないでください。 コマンド を実行するユーザーを切り替えたくない場合は、この時点で "sudo" コマンドを使用できます。このコマンドは、一般ユーザーの権限を一時的に昇格させることができます。 注: パスワードを入力するときは、root ユーザーのパスワードではなく、このユーザーのパスワードを入力してください。 これは、 また、一般ユーザーが root の対応するファイルに存在しないため、結果として、 「sudo」コマンドを実行できない場合 2.linux 権限管理 Linux では、権限は "人によって決定されます。 「と」 「モノの属性」 人は操作を実行するユーザーを指します。Thing属性はファイルの属性を指します (1) ファイル訪問者 (人) の分類 抽象的な概念であり、役割 と見なすことができます。それは このファイル内の他のユーザーの ID です。 たとえば、通常のユーザーは自分のディレクトリ内のファイルの所有者およびグループであるように見えますが、他のユーザーのファイルは他の人であるように見える場合があります。1.グループが属するファイルの所有者 存在理由 混乱する人もいるかもしれませんが、ファイルの所有者は他の人にとって理解しやすいです。 所有者はファイルの作成者です、そしてother は作成者を除きます。外部ユーザーの場合 チーム A と チーム B が同じ Linux マシン上で製品を開発しているとします。この時点で、チーム A のメンバーがモジュールを実装しており、チーム リーダーはそのモジュールを表示したいと考えています。モジュールの内容。 Linux に所有者と他者が存在する場合、所有者は私たち自身であるため、リーダーがコードを表示したいときは、 他者の権限を解放する必要があります。ただし、このドキュメントでは別のチームも other とみなされます。other を手放すと、リーダーだけでなく、他のチームにもコードが見えることになり、コード漏洩が容易に発生する可能性があります。この状況を回避するには、グループに所属する必要があります。 ファイルが属するグループにリーダーを追加し、そのグループの権限を解放するだけで済みます。#これにより、他の権限を開かなくてもリーダーに対してコードを開くことができます#(2) モノの属性 最終更新時刻 、 が バイト単位のファイルであることがわかっていました。 。しかし、以前の属性はわかりません。 1. ファイル訪問者 ファイル訪問者の分類についても上で説明しました。実際、上の図では 最初のルートは所有者を表します 2 番目のルートは、それが属するグループを参照します 。この 2 人のユーザー以外の に属しており、2 を表示する必要がないため、Other は表示されません。 #Linux では、ファイルのサフィックスは無意味であることは誰もが知っています はファイル接尾辞によってファイルの種類 を区別しないためです。しかし、それは Linux にファイルタイプが存在しないという意味ではありません。 Linux ファイル タイプ "ll" で表示される によって区別されます。上の図からわかるように、test と test.c の最初の文字は、それぞれ "d" と "-" という文字です。これら 2 つの文字は実際にはファイルの種類です。 1) Linux の一般的なファイル タイプ-: 通常のファイル主にソース コード、ライブラリ ファイル、実行可能ファイルが含まれますプログラム、ドキュメント圧縮パッケージなど。 d: ディレクトリ ファイル c: キャラクター デバイス ファイル 主にハードウェア、キーボード、モニターなど。 #b: ブロック デバイス ファイル##例: ディスク ##l: リンク ファイル "ln -s a.out test"
この時点で、a に対して # が作成されます。 out file ##Link file test "l" で、これは Link file を表します。 a.out ファイルでは、テストを使用できます: p: パイプ ファイル パイプ ファイルには プロセス間が含まれます通信 、ここでは詳細には触れませんが、そのようなファイルが存在することを知っておく必要があります。 3. ファイルのアクセス許可 ここでは、ファイルの種類である最初の文字を除いて、9 文字が残っていることがわかります。同時に、 ファイル訪問者は 3 つのカテゴリ の 3 文字ごとが訪問者のアクセス権のタイプ を表していることがわかります。 (1) ファイル権限の分類 "r"、"w"、"x" の 3 つのカテゴリに分類されます。 。 "r" は read を表し、 を読み取ります。 "w" は 、つまり ファイルの内容の変更を表します。 は execution を表します。つまり、対応するファイルを実行します 各ファイルの訪問者権限は、次の 3 つの権限で構成されます。 "rwx"のように並べ替えます。 対応する権限が "-" の場合、つまり権限 上の図に示すように、権限 "rwx -xr r-x" , は、 所有者が読み取り、書き込み、および実行権限を持っていることを意味します; が属するグループには読み取りおよび書き込み権限がありますが、実行権限はありません;訪問者は読み取りおよび実行権限を持っていますが、書き込み権限はありません。区別しやすくするためにスペースを入れていますが、実際の表示にはスペースは入りません (2) 権限変更 1. # を変更します。 ## 1 つずつ Linux のアクセス許可は変更もサポートされており、変更する場合は コマンドを使用します。たとえば、下の図の実行権限を「-wx」に変更したい場合は、"chomd u-r test": を実行できます。 #This この形式では、 は 所有者 を表し、 "-" は対応する権限 を削除する を表します。そして、 "g" は が属するグループ を表し、 "o" は 他の人 を表します。他の訪問者の権限を 変更したい場合は、それに応じて "u" を変更するだけです。 何らかの権限を追加したい場合は、「-」を「」に変更します。 もちろん、権限を追加または削除するときは、"chmod u-rwx,g-rwx test" など、 の形式を使用することもできます。 : すべての訪問者の権限を 変更したい場合は、 から "a '' 対応する権限を取得します。ここでは説明しません。 2. ファイル所有者とグループを変更します ファイル所有者を変更するには、対応する権限が必要です。そうでない場合は、 "sudo を使用する必要があります。 " 権利を高めます。ファイル所有者を変更するコマンドは 所属するグループを変更したい場合は , コマンドを使用します。 使用方法は "chown" と同じです 、ここでは説明しません 次の場合は 所有者とグループを同時に変更します 、 コマンドを使用するだけです。使用方法は同じです: other については、所有者とその所属グループ以外のユーザーは other を変更する必要はありません。権限が変更されます。同時に 権限には 2 つの状態がある場合とない場合が存在し、 0 と 1 "rwx" は "111" として認識され、"---" は "000" として認識されます。そして、これらの binary を octal に変換すると、「7」と「0」になります。したがって、アクセス許可の 8 進数の範囲は "[0, 7]" と見なすことができます。 8 進数では、"r" は 4 を表し、"w" は 2 を表し、"x" は # を表します##1したがって、アクセス許可を変更するときは、「u-」を使用してアクセス許可を変更するだけでなく、8 進形式で modify を使用することもできます。それは「chmod 3人の訪問者のファイル名を8進数で組み合わせたもの」です。たとえば、 :この変更方法は、複数の訪問者の権限を 1 つずつ変更する最初の方法よりも優れています。便宜上、 "7"、 のように、この方法で整数を記述しない場合、システムは 2 番目から動作します。つまり、 の方向から変更します (現時点では other 権限はデフォルトで 0 に設定されており、 は表示されません)。以下に示すように: 実際、新しい ディレクトリ の 開始権限 は 777 であり、新しい フォルダー の 開始権限 は 666 です。しかし、私たちが実際に見ているものはこのようなものではありません。その理由は、ファイルまたはディレクトリの作成が umask (許可マスク) の影響を受けるためです。 umask 値、つまり 権限マスクに存在する権限 を使用すると、システムは自動的に設定されます。 ファイルまたはディレクトリを生成するときは、アクセス許可マスクのアクセス許可を削除します。 umask 値を表示するには、"umask" コマンドを直接入力します。 ここでは最初の 0 について心配する必要はありません。最初の 0 に続くのは、各訪問者が削除する必要がある権限 です。つまり、システムのデフォルトでは、新しく作成された各ファイルまたはディレクトリの 所有者はアクセス許可 を削除する必要はなく、 が属するグループは 2 を削除する必要があります。 、書き込み権限;他の人は2、つまり書き込み権限 022を削除する必要がありますファイルの開始パーミッション 666、ディレクトリの先頭からパーミッション 777 から 022 を削除して、上の図のパーミッションを取得します。 一般ユーザーとrootユーザーではumaskの値が異なることに注意してください。 通常ユーザーのumask値は002、rootユーザーは022 umask 値はデフォルトでシステムによって生成されますが、手動で変更することもできます。 修正方法は「umask 0対応権限」です。たとえば、"umask 0444": umask 値を変更すると、新しく作成されたオブジェクトのデフォルトの権限に対応する権限が追加されることがわかります。 注: umask 値は、初期権限を使用して権限値を下げるのではなく、対応する権限 を削除します。たとえば、ファイルの初期パーミッションは 666 です。このとき、umask 値を 0111 に変更します。引き算を使用すると、"r-xr-xr-x" となり、555 になります。しかし、実際には、1 に対応する "x" 権限を削除する 必要があります。つまり、"666" 権限のままです。つまり、"rw-rw-rw-" です。 : なぜディレクトリの開始権限が 777 であるのに、ファイルの開始権限が 666 なのか疑問に思う人もいるかもしれません。その理由は、ディレクトリに入るには、実行権限、つまり「x」権限が必要であるためです。 ## にいる場合#root ユーザー# 上記の操作が ## で実行される場合、root ユーザーは権限によって制限されていないため、 は "x" 権限なしでディレクトリに入ることができます。 #関連する推奨事項: 「 Linux ビデオ チュートリアル >>2. Linux 権限
(1) ユーザーの分類
Linux では、ユーザーは 2 つのタイプに分類されます。 1 つは Linux では、「su」コマンドを使用してユーザーを切り替えることができます
ここでは、ログに記録するアカウントのパスワードを入力する必要がありますの中へ。 。したがって、アカウントごとに異なるパスワードを設定するようにしてください。
通常のユーザーの場合、現時点では、root権限が必要な命令を実行する必要があります。
、そして私たち Linux では、ファイル訪問者は 所有者 (所有者) 、グループの 3 つのカテゴリに分類されます。 ###、###他の###。 特定の人々
である root ユーザーや通常のユーザーとは異なり、3 種類のファイル訪問者は比較的
##上記の test.c ファイルができました。 、ファイル名の前に属性の長いリストがあります。以前は、最大 "10 月 25 日 16:43"
が 3. 権限マスク
(1) 権限マスクの役割
(2) umask の表示
(3) umask 値の変更
以上がLinuxシェルとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。