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 ユーザーはオペレーティング システム上で最高の権限を持ちます。
OS における root ユーザーは古代国の皇帝のようなものであり、法的規定に拘束されないと考えられます。 root ユーザーでは、どのコマンドの実行も権限によって制限されません。他の一般ユーザーのファイルにアクセスして、ファイルを変更および削除できます。オペレーティング システム、データベースのルート ディレクトリの削除、およびオペレーティング システムに深刻な損傷を与えたり、場合によってはクラッシュを引き起こすその他の操作を実行する可能性があります。
したがって、root アカウントのパスワードは次のとおりです。複雑なものに設定されており、良好に保たれています。root ユーザーのコマンド プロンプトは“#”
##2. 一般ユーザー一般ユーザーは複数の
を持つことができます。一般のユーザーには権限の制限が適用されます。これらの権限の制約は、システム ユーザーと root ユーザーによって決まります。#一般ユーザーのコマンドプロンプト
は”$”## (2) ユーザーの切り替え
アカウントを終了するには、
exitと入力するか、ショートカット キー
"ctrl d"を使用してください。
注:一般ユーザーとして「su」を使用する場合、対応するユーザーのパスワードを入力する必要があります。ただし、root ユーザー以下の"su" については、対応するユーザーのパスワードを入力する必要はありません。
(3)通信を実行するためにユーザーを切り替えないでください。 コマンド
を実行するユーザーを切り替えたくない場合は、この時点で"sudo"コマンドを使用できます。このコマンドは、一般ユーザーの権限を一時的に昇格させることができます。注:パスワードを入力するときは、root ユーザーのパスワードではなく、このユーザーのパスワードを入力してください。
ただし、この時点では次のエラーが発生します。これは、
一般ユーザーが root の信頼できるユーザーではないためです。また、一般ユーザーが root の対応するファイルに存在しないため、結果として、 「sudo」コマンドを実行できない場合
2.linux 権限管理
Linux では、権限は"人によって決定されます。 「と」 「モノの属性」
で構成されます。人は操作を実行するユーザーを指します。Thing属性はファイルの属性を指します(1) ファイル訪問者 (人) の分類
抽象的な概念であり、役割と見なすことができます。それはこのファイル内の他のユーザーの ID です。たとえば、通常のユーザーは自分のディレクトリ内のファイルの所有者およびグループであるように見えますが、他のユーザーのファイルは他の人であるように見える場合があります。1.グループが属するファイルの所有者 存在理由混乱する人もいるかもしれませんが、ファイルの所有者は他の人にとって理解しやすいです。所有者はファイルの作成者です、そしてother は作成者を除きます。外部ユーザーの場合
、ファイルが属するグループの重要性は何ですか?チーム Aとチーム Bが同じ Linux マシン上で製品を開発しているとします。この時点で、チーム A のメンバーがモジュールを実装しており、チーム リーダーはそのモジュールを表示したいと考えています。モジュールの内容。 Linux に所有者と他者が存在する場合、所有者は私たち自身であるため、リーダーがコードを表示したいときは、他者の権限を解放する必要があります。ただし、このドキュメントでは別のチームも otherとみなされます。other を手放すと、リーダーだけでなく、他のチームにもコードが見えることになり、コード漏洩が容易に発生する可能性があります。この状況を回避するには、グループに所属する必要があります。ファイルが属するグループにリーダーを追加し、そのグループの権限を解放するだけで済みます。#これにより、他の権限を開かなくてもリーダーに対してコードを開くことができます#(2) モノの属性
最終更新時刻、
100がバイト単位のファイルであることがわかっていました。。しかし、以前の属性はわかりません。1. ファイル訪問者
ファイル訪問者の分類についても上で説明しました。実際、上の図では最初のルートは所有者を表します
、2 番目のルートは、それが属するグループを参照します。この 2 人のユーザー以外の
ユーザーは otherに属しており、2 を表示する必要がないため、Other は表示されません。#Linux では、ファイルのサフィックスは無意味であることは誰もが知っています
。 linuxはファイル接尾辞によってファイルの種類を区別しないためです。しかし、それは Linux にファイルタイプが存在しないという意味ではありません。Linux ファイル タイプ
は、"ll"で表示される
属性列の最初の列の最初の文字によって区別されます。上の図からわかるように、test と test.c の最初の文字は、それぞれ"d"と"-"という文字です。これら 2 つの文字は実際にはファイルの種類です。1) Linux の一般的なファイル タイプ-: 通常のファイル主にソース コード、ライブラリ ファイル、実行可能ファイルが含まれますプログラム、ドキュメント圧縮パッケージなど。
d: ディレクトリ ファイル
c: キャラクター デバイス ファイル
主にハードウェア、キーボード、モニターなど。
#b: ブロック デバイス ファイル##例: ディスク
##l: リンク ファイル
Windows を例にとると、デスクトップ上のショートカットは実際にはリンク ファイルです。ショートカットは、対応するソフトウェアのスタートアッププログラムにリンクします。 Linux では、"ln -s a.out test"
コマンドを実行します。この時点で、a に対して # が作成されます。 out file ##Link file test
で、実際のファイルの先頭は"l"で、これはLink file
を表します。 a.out ファイルでは、テストを使用できます:
p: パイプ ファイルパイプ ファイルにはプロセス間が含まれます通信、ここでは詳細には触れませんが、そのようなファイルが存在することを知っておく必要があります。
3. ファイルのアクセス許可
ここでは、ファイルの種類である最初の文字を除いて、9 文字が残っていることがわかります。同時に、ファイル訪問者は 3 つのカテゴリ
に分類され、これら 9 文字のうち、の 3 文字ごとが訪問者のアクセス権のタイプを表していることがわかります。
(1) ファイル権限の分類
ファイル権限は"r"、"w"、"x"の 3 つのカテゴリに分類されます。 。
"r"はreadを表し、
ファイルを読み取ります。"w"は
書き込み、つまりファイルの内容の変更を表します。
'"x"はexecutionを表します。つまり、対応するファイルを実行します
各ファイルの訪問者権限は、次の 3 つの権限で構成されます。"rwx"のように並べ替えます。対応する権限が "-" の場合、つまり権限
上の図に示すように、権限"rwx -xr r-x" ,は、所有者が読み取り、書き込み、および実行権限を持っていることを意味します;が属するグループには読み取りおよび書き込み権限がありますが、実行権限はありません;訪問者は読み取りおよび実行権限を持っていますが、書き込み権限はありません。区別しやすくするためにスペースを入れていますが、実際の表示にはスペースは入りません
(2) 権限変更
1. # を変更します。## 1 つずつLinux のアクセス許可は変更もサポートされており、変更する場合は
"chomd"コマンドを使用します。たとえば、下の図の実行権限を「-wx」に変更したい場合は、"chomd u-r test":
を実行できます。 #This この形式では、
"u"は所有者を表し、"-"は対応する権限を削除するを表します。そして、"g"はが属するグループを表し、"o"は他の人を表します。他の訪問者の権限を変更したい場合は、それに応じて "u"を変更するだけです。何らかの権限を追加したい場合は、「-」を「」に変更します。もちろん、権限を追加または削除するときは、"chmod u-rwx,g-rwx test" など、
複数の訪問者と複数の権限の形式を使用することもできます。 :
すべての訪問者の権限を変更したい場合は、
"u、g、o" を変更することもできます。から"a ''対応する権限を取得します。ここでは説明しません。2. ファイル所有者とグループを変更します
ファイル所有者を変更するには、対応する権限が必要です。そうでない場合は、"sudo を使用する必要があります。 "権利を高めます。ファイル所有者を変更するコマンドは
"chown 対応するユーザー ファイル名":所属するグループを変更したい場合は
,
"chgrp"コマンドを使用します。使用方法は "chown" と同じです、ここでは説明しません次の場合は所有者とグループを同時に変更します、
"chown username:username file name"コマンドを使用するだけです。使用方法は同じです:
ここでは root ユーザーが使用されています。sudo を使用する必要はありません。通常のユーザーには sudo が必要です。other については、所有者とその所属グループ以外のユーザーは other
3 であるため、を変更する必要はありません。権限が変更されます。同時に
コンピュータでは、すべてのコマンドが 0,1 信号の形式で送信されると述べました。権限には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進数で組み合わせたもの」です。たとえば、
"chmod 777 test":この変更方法は、複数の訪問者の権限を 1 つずつ変更する最初の方法よりも優れています。便宜上、
注:"7"、
"35"のように、この方法で整数を記述しない場合、システムは 2 番目から動作します。つまり、
other->group->ownerの方向から変更します (現時点では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 ビデオ チュートリアル>>
以上がLinuxシェルとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。