Linux/Mac関連の知識

厳密に言えば、Linux はオペレーティング システムではなく、コンピュータ ソフトウェアとハ​​ードウェア間の通信プラットフォームである Linux システムのカーネルです。

Ubuntu、Red Hat、Centos、Fedora、SUSE、Debian、FreeBSD一部の組織やメーカーは、Linux カーネルを GNU ソフトウェア (システム ソフトウェアおよびツール) と統合し、いくつかのインストール インターフェイス、システム設定および管理ツールを提供して、などのヘア パッケージを形成しています。

Linuxの特徴

オープン性: システムは標準仕様、特に Open Systems Interconnection (OSI) 国際標準に従っています。

マルチユーザー、マルチタスク: マルチユーザーとは、システム リソースを異なるユーザーが使用できることを意味します。各ユーザーは、互いに影響を与えることなく、自分のシステムのリソースに対して独立したアクセス許可を持つことができます。マルチタスクとは、オペレーティング システムが複数のプログラムを同時に実行でき、各プログラムが互いに干渉することなく独立して実行できることを意味します。

優れたユーザー インターフェイス: Linux は、ユーザー インターフェイスとシステム コールという 2 つのインターフェイスをユーザーに提供します。Linux はユーザーにグラフィカル ユーザー インターフェイスも提供します。マウス、メニュー、ウィンドウ、スクロール バーなどの機能を使用して、直感的で操作しやすい、インタラクティブで使いやすいグラフィカル インターフェイスをユーザーに提供します。

デバイスの独立性: オペレーティング システムはすべての外部デバイスをファイルとして扱います。ドライバーがインストールされている限り、どのユーザーもこれらのデバイスをファイルと同様に操作および使用できます。Linux はデバイスに依存しないオペレーティング システムであり、カーネルは高い適応性を備えています。

強力な移植性: いわゆる移植性とは、あるプラットフォームから別のプラットフォームに移動できることを指します。Linux は移植性の高いオペレーティング システムです。システムを 1 つのプラットフォームから別のプラットフォームに移行しても、システムに変更を加えることなく、引き続き安定して実行できます。つまり、ハンドヘルド コンピュータ、パーソナル コンピュータ、またはコンピュータのいずれであっても、ミニコンピュータ、ミッドレンジ マシン、さらにはメインフレームでもシステムを実行できます。

高いセキュリティ: Linux は、読み取りおよび書き込み制御、保護されたサブシステム、監査証跡、コア認証などを含む多くのセキュリティ技術対策を採用しており、マルチユーザー ネットワーク環境のユーザーに必要なセキュリティ保証を提供します。

高い安定性: Linux カーネルのソース コードは標準の 32 ビット (64 ビット CPU では 64 ビット) コンピュータ用に最適化されており、システムの安定性が保証されています。Linux がインストールされている一部のホストは、まさに Linux の安定性のおかげで、Unix マシンと同様に、一年中ダウンタイムなしで稼働し続けることができます。

豊富なネットワーク機能: 完全な組み込みネットワークは Linux の主要な機能です。Linux は、通信機能やネットワーク機能の点で他のオペレーティング システムに比べて優れています。他のオペレーティング システムには、ネットワークに接続する機能がカーネルにそれほど緊密に統合されておらず、また、これらのネットワーク機能を組み込む柔軟性もありません。Linux はユーザーに完全かつ強力なネットワーク機能を提供します。

優れた移植性: オペレーティング システムをあるプラットフォームから別のプラットフォームに移動して、引き続き独自の方法で実行できる機能。Linux は、マイクロコンピュータからメインフレーム コンピュータに至るまで、あらゆる環境およびあらゆるプラットフォームで実行できるポータブル オペレーティング システムです。

ファイルディレクトリ

リナックス

  • /binこれは、ls、rm、mv などの従来の Unix コマンドの格納ディレクトリである Binaries (バイナリ ファイル) の略称です。

  • /devデバイスファイルの格納ディレクトリ。

  • /bootここには、接続ファイルやイメージ ファイルなど、Linux の起動時に使用されるいくつかのコア ファイルが保存されます。

  • /etcユーザーパスワードファイル /etc/passwd などの設定ファイルの保存ディレクトリ。このディレクトリは実際には /private/etc へのリンクです。

  • /homeユーザーのホーム ディレクトリ。Linux では、各ユーザーが独自のディレクトリを持ちます。通常、ディレクトリ名はユーザーのアカウントにちなんで付けられます。

  • /sbinfdisk、ifconfig などのスーパーユーザー (ルート) 実行可能ファイルが含まれます。

  • /usrUnix 共有リソース (共有リソース) の略で、Windows のプログラム ファイル ディレクトリと同様に、ユーザーのアプリケーションやファイルの多くがこのディレクトリに配置される非常に重要なディレクトリです。

    共有ライブラリのダイナミック リンク ライブラリは、/usr/lib ディレクトリに保存されます。

    /usr/bin システム ユーザーが使用するアプリケーション。

    /usr/sbin スーパー ユーザーが使用する、より高度な管理プログラムとシステム デーモン。

    /usr/src : カーネルソースコードが配置されるデフォルトのディレクトリ

  • /tmp一時ファイル保管ディレクトリには、誰でも読み取りと書き込みの権限が与えられます。このディレクトリは実際には /private/tmp へのリンクです。

  • /varログ ファイルなど、頻繁に変更されるファイルを保存します。このディレクトリは実際には /private/var へのリンクです。

  • /opt通常、このフォルダーは、homebrew などのインストール パッケージを配置するために使用されます。

マック

  • /Applicationsアプリケーション ディレクトリ。WeChat、QQ などのすべての GUI アプリケーションがデフォルトでここにインストールされます。

  • /Libraryシステム データ ファイル、ヘルプ ファイル、ドキュメントなど。

  • /Networkネットワークノードのストレージディレクトリ。

  • /Systemほとんどのシステム構成ファイルとオペレーティング システム ファイルが含まれています。

  • /Usersユーザーの個人データと構成を保存します。各ユーザーには独自の個別のディレクトリがあります。

  • /Volumesファイルシステムのマウントポイント格納ディレクトリ。

  • /coresコア ダンプ ファイルが保存されるディレクトリ。プロセスがクラッシュすると、システムが許可している場合はダンプ ファイルが生成されます。

  • /private内部のサブディレクトリには、/tmp、/var、/などのリンク ディレクトリのターゲット ディレクトリが格納されます。

ファイルのアクセス許可

ファイルまたはディレクトリを操作するユーザーには、ファイル所有者、グループ ユーザー、およびその他のユーザーの 3 つの異なるタイプがあります。最上位ビットはファイル所有者の権限値を表し、中位ビットはグループ ユーザーの権限値を表し、最下位ビットはその他のユーザーの権限値を表します。

権限 許可値 バイナリ 導入
r 4 00000100 読んで読んで。現在のユーザーはファイルの内容を読み取ることができ、ディレクトリを参照することができます。
w 2 00000010 書いて、書いて。現在のユーザーはファイルの内容を追加または変更でき、ディレクトリまたはディレクトリ内のファイルを削除または移動できます。
バツ 1 00000001 実行、実行。現在のユーザーはファイルを実行でき、現在のユーザーはディレクトリに入ることができます。

その後、すべての権限は次のようになります

# 権限 rwx バイナリ
7 読み取り+書き込み+実行 rwx 111
6 読み取り+書き込み rw- 110
5 読み取り+実行 処方箋 101
4 読み取り専用 r– 100
3 書き込み + 実行 -wx 011
2 書くだけ -w- 010
1 実行のみ -バツ 001
0 なし 000
chmod 777 demo.txt
chmod -R 777 demo // -R表示为所有 demo目录下的文件夹和文件
sudo chmod -R 777 demo // 如果是 ubuntu,需要加sudo

ssh

SSH は、コンピュータ間の暗号化されたログインに使用されるネットワーク プロトコルです。ユーザーがローカル コンピュータから SSH プロトコルを使用して別のリモート コンピュータにログインした場合、そのログインは安全であると考えることができます。たとえ途中で傍受されたとしても、パスワードは漏洩しません。SSH は単なるプロトコルであり、次のようなものがあります。opensshなど、多くのオープン ソース実装。Mac には ssh が組み込まれています。

ssh -p 2222 user@host 

ssh-keygen

ssh の認証キーの生成、管理、変換。ssh-keygen コマンドは、「ssh」の認証キーの生成、管理、変換に使用されます。RSA と DSA の両方の認証キーをサポートします。SSH キーはデフォルトで~/.sshディレクトリに保存されます。そのようなディレクトリがない場合は、ssh-keygen コマンドによって正しいアクセス許可を持つディレクトリが作成されます。

-b: キーの長さを指定します。

-e: openssh の秘密キーまたは公開キー ファイルを読み取ります。

-C: コメントを追加します。

-f: キーの保存に使用するファイル名を指定します。

-i: 暗号化されていない ssh-v2 互換の秘密キー/公開キー ファイルを読み取り、openssh 互換の秘密キー/公開キーを標準出力デバイスに表示します。

-l: 公開鍵ファイルのフィンガープリント データを表示します。

-N: 新しいパスワードを入力します。

-P: (古い) パスフレーズを指定します。

-q: サイレント モード。

-t: 作成するキーのタイプを指定します。

ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/github_id_rsa

ファイル転送

scp コマンドはセキュア コピーとも呼ばれ、SSH に基づいてファイルとディレクトリをマシン間でコピーできます。

scp local_file remote_username@remote_ip:remote_file 

ファイル転送プロトコル

FTP プロトコル (ファイル転送プロトコル) は、ファイルを転送するための TCP プロトコルに基づいています。ユーザー情報とデータはクリア テキストで送信されます。デフォルトのポートは 21 です。

SFTP (Secure File Transfer Protocol)、デフォルトのポート 22。
SFTP プロトコルは、「リモート ファイルの取得、ファイル コンテンツの転送、ファイル管理」などの操作を実行でき、その制御信号とデータ信号は安全なデータ チャネルを通じて送信されます。一般に、この安全なデータ チャネルは SSH 接続によって提供されます。つまり、SSH 接続トンネルは安全なデータ チャネルとして機能します。
単純なファイル コンテンツのみを転送できる SCP プロトコルと比較すると、SFTP プロトコルはリモート ファイル システム プロトコルに似ています。
SFTP プロトコルは、SFTP クライアントと SFTP サーバーという 2 つの端に分かれています。SFTP クライアントと SFTP サーバー間の制御信号およびファイル コンテンツの送信は、安全なデータ チャネルを通じて実行する必要があります。安全なデータ チャネルは、「Transport Layer Security (TLS)」や「SSH」などのプロトコルによって提供されます。これは SSH プロトコルによって提供されます。
SFTP クライアントと SFTP サーバー間の接続が確立されると、両者の間で制御信号とファイルの内容を送信することにより、リモート ファイル システムの機能を実現できます。
GUI ツール、Windows には filezilla、macos には cyberduck (小さな黄色いアヒル) があります。

共通コマンド

// 查找文件
find /opt -name "nginx.conf"

// 显示所有进程
ps -A

// 杀死进程
kill 12345

// 带行号显示文件内容
cat -n demo.txt

// 显示前2行
head -n 2 keyboard.txt 

// 显示后2行
tail -n 2 keyboard.txt 

// 寻找程序位置
which nginx

// 3dd 删除3行
vim data.txt 

// 打包文件
tar -czvf demo.tar.gz ./demos

参考文献

https://blog.csdn.net/words8/article/details/113066602

おすすめ

転載: blog.csdn.net/qq_29334605/article/details/122836373