UNIXシステム
4772 ワード
Unixシステムは、多くの他のオペレーティングシステムに影響を及ぼした大きなブレークスルーです.LinuxとMacOSで特に見える.
「Unixライクなシステム」という用語を読むことさえできます.
Unixコアの哲学は、以下のような重要な原則を強調しました. マルチタスク マルチユーザ モジュール性 単独責任 組成 移植性 伸展性 60年代/70年代に戻って、UNIXは「各プログラムが一つのことをうまくやるように」という概念を導入しました.
NB :そこにmany other principles 探検したい
Unixの中心はカーネルです.ハードウェアやメモリ、ファイルシステムなどの重要な要素と対話します.
これは、許可の最高レベルで動作します.
シェルは、プログラムを呼び出して、タスクを実行するために、さまざまなコマンドとユーティリティをintrepretsします.
ファイルシステムはデータを含むディレクトリとファイルで構成されます.それは階層的な木です.
どんなdevもたぶんUnixファイルシステムに精通しています.少なくとも、次のようなものが見られるかもしれません.
Linuxディストリビューションや他のオペレーティングシステムはその特殊性(例えば特別なファイルやディレクトリ)を持っているかもしれませんが、グローバルな構造はそのようになります.
これはディレクトリツリーと呼ばれ、典型的なマルチレベルUNIX階層です.
それは、特別な構成など、各ユーザーのホームフォルダとしてはかなり簡単です.
トップ
The
The
rootユーザだけがそのようなファイルを編集することになっています.
ディスクは例えばファイルとして表現されます.
管理者とdevは出力を部分的にまたは完全にリダイレクトします
大まかに言えば、マウントすることは別のファイルシステムを現在のファイルシステムに接続することです.
リブート間のファイルを保存するには、
viはUnixシステムの標準的なエディタです.あなたはタイプすることができます
プログラムを実行するときにプロセスが作成されます.シンプルでさえ
Unixシステムには通常のプロセスとバックグラウンドプロセスが含まれます.バックグラウンドプロセスを開始するには、
パイプは、プロセス間でデータを渡すか保持することができます.Unixライクなシステムでは、一時ファイルとして表現されます.
パイプはリダイレクトと見なされることもあります.結果
いくつかのコマンドのパイプラインに使用する構文は
Unixドメインソケット(またはIPCソケット)は、同じホストオペレーティングシステム(同じマシン、TCPオーバーヘッドなし)のプロセス間の接続です.
プロセス間でローカルファイルシステムを使用してIPCチャネルを作成します.
パイプとは異なり、双方向通信です.
「すべてがファイルである」という主張は、高度な抽象概念を記述するのに便利です.ソケットのような多くの内部の機能は、ファイルシステム(例えば)に現れます.
システムがプログラム間で交換されたバイトのストリームを表します.
しかし、実際には、すべてのファイルは、実際には、例えば、システムプロセスではなく、おそらく“すべてのファイルとして動作する”と言うと、より正確になります.
コマンド
説明
Unixライクなシステムには、同じ目的のために異なるコマンドがあるかもしれません.
「Unixライクなシステム」という用語を読むことさえできます.
Unixコアの哲学は、以下のような重要な原則を強調しました.
NB :そこにmany other principles 探検したい
コアコンポーネント
カーネル
Unixの中心はカーネルです.ハードウェアやメモリ、ファイルシステムなどの重要な要素と対話します.
これは、許可の最高レベルで動作します.
シェル
シェルは、プログラムを呼び出して、タスクを実行するために、さまざまなコマンドとユーティリティをintrepretsします.
ファイルシステム
ファイルシステムはデータを含むディレクトリとファイルで構成されます.それは階層的な木です.
Unixファイルシステムの簡単な概要
どんなdevもたぶんUnixファイルシステムに精通しています.少なくとも、次のようなものが見られるかもしれません.
/
├── bin/
├── dev/
├── etc/
│ └── passwd
├── home/
├── lib/
├── mnt/
├── root/
├── proc/
├── mnt/
├── sbin/
├── tmp/
└── usr/
└── bin/
これらのディレクトリには、サーバーやオペレーティングシステムの必須のディレクトリやファイルが含まれます.Linuxディストリビューションや他のオペレーティングシステムはその特殊性(例えば特別なファイルやディレクトリ)を持っているかもしれませんが、グローバルな構造はそのようになります.
これはディレクトリツリーと呼ばれ、典型的なマルチレベルUNIX階層です.
ホーム/スイートホーム
それは、特別な構成など、各ユーザーのホームフォルダとしてはかなり簡単です.
/ VS / root /
トップ
/
はシステムルートディレクトリです.すべてのフォルダとファイルは/home/
. どうもC:\
Windowsで./root/
はrootユーザのホームディレクトリです./ usr / bin vs / bin / vs / sbin /
The
/usr/bin
, 例えば、通常、システムをブートまたは修理するのに必要ではなく、ユーザが使用する実行可能ファイルを含みます./usr/
は、お気に入りのブラウザのようなアプリケーションを含む読み取り専用ディレクトリです.The
/bin/
フォルダには必須のバイナリが含まれますcat
or ls
, また、端末で使用する基本的なコマンドラインです./sbin/
「システムバイナリ」はメンテナンスユーティリティのような必要なアクセス許可なしでは使えません.特権/ etc /
/etc/
システムのためのEssentiaの設定ファイルとデータベースを格納します.例えば、/etc/passwd
ファイルは最も重要なものの一つです.これは、システム上のユーザーについて非常に敏感な情報が含まれます(例えば、ユーザー名、パスワード、グループID、ユーザーID、ログインシェル、ホームディレクトリなど).rootユーザだけがそのようなファイルを編集することになっています.
/ dev / vs / proc /
/dev/
デバイスと仮想デバイス(擬似デバイスとしても知られている)のための非標準ファイルを含みます/proc/
カーネルプロセスを含む.ディスクは例えばファイルとして表現されます.
/dev/sda
とパーティションは/dev/sda1
, /dev/sda2
, /dev/sda3
, など.何が/ dev / nullですか?
管理者とdevは出力を部分的にまたは完全にリダイレクトします
/dev/null
それをクリアするには、“許可を拒否”のような不要な行をスキップすることができますgrep
.マウント/ MNT /
/mnt/
はマウントポイントです.通常、外部ストレージやUSBドライブのような一時ファイルシステムをマウントするために使用します.大まかに言えば、マウントすることは別のファイルシステムを現在のファイルシステムに接続することです.
/ var /
/var/
ログなどの書き込み可能な内容です./ tmp /
/tmp/
一時ファイルです.このようなファイルは、システムの再起動時に、いつでも削除できます.リブート間のファイルを保存するには、
/var/tmp/
ディレクトリ.viとは
viはUnixシステムの標準的なエディタです.あなたはタイプすることができます
vi NAME_OF_YOUR_FILE
端末でUNIXシステム内のファイルを作成/編集するESC
続いて:wq
あなたの仕事を保存します.どのようなプロセスですか?
プログラムを実行するときにプロセスが作成されます.シンプルでさえ
ls -lah
プロセスを作成する.プロセスは、プログラムの「インスタンス」としても知られています.Unixシステムには通常のプロセスとバックグラウンドプロセスが含まれます.バックグラウンドプロセスを開始するには、
&
:./myexecutable &
プロセスをリストするには、ps
:ps -e | less
あなたは、プロセスIDなど多くの情報を取得します.特定のプロセスを殺すためにkill -9 PROCESS_ID
.パイプ,stdin,stdoutの概念
パイプは、プロセス間でデータを渡すか保持することができます.Unixライクなシステムでは、一時ファイルとして表現されます.
パイプはリダイレクトと見なされることもあります.結果
stdout
) コマンドとしては(stdin
) 更なる処理のためのもう一つのコマンドのために.いくつかのコマンドのパイプラインに使用する構文は
|
. これは一方向の流れと左右の方向です.cat data.txt | grep "bootleg"
これは、強力な組み込みのコマンドを実行し、複雑な手順を実行するメカニズムです.Unixソケットとは
Unixドメインソケット(またはIPCソケット)は、同じホストオペレーティングシステム(同じマシン、TCPオーバーヘッドなし)のプロセス間の接続です.
プロセス間でローカルファイルシステムを使用してIPCチャネルを作成します.
パイプとは異なり、双方向通信です.
Unixで「すべてがファイルである」と言う理由
「すべてがファイルである」という主張は、高度な抽象概念を記述するのに便利です.ソケットのような多くの内部の機能は、ファイルシステム(例えば)に現れます.
mysql.sock
) たとえどんなデータも含んでいなくても.システムがプログラム間で交換されたバイトのストリームを表します.
しかし、実際には、すべてのファイルは、実際には、例えば、システムプロセスではなく、おそらく“すべてのファイルとして動作する”と言うと、より正確になります.
使用したいコマンドやオプション
コマンド
説明
df –kh DIR/
与えられたディレクトリのディスク使用量head -7 myfile.txt
ファイルの最初の7行を表示するdiff -w file1.txt file2.txt
ファイル間差分を表示するが空白文字を無視するcd -
前のディレクトリにすばやく移動free -h
読みやすい形式でのメモリ使用法uname -r
カーネル情報を表示する!111
履歴リスト内の番号111をもう一度コマンドを実行しますUnixライクなシステムには、同じ目的のために異なるコマンドがあるかもしれません.
Reference
この問題について(UNIXシステム), 我々は、より多くの情報をここで見つけました https://dev.to/jmau111/the-unix-system-58diテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol