Linuxの基礎知識入門(バックエンド必須)

青灯夜游
リリース: 2019-11-25 13:20:31
転載
2588 人が閲覧しました

この記事では、バックエンドプログラマに必要な Linux の基礎知識を紹介します。一定の参考価値があります。困っている友人は参考にしてください。皆様のお役に立てれば幸いです。

Linuxの基礎知識入門(バックエンド必須)

Linux を学ぶ前に、まずオペレーティング システムについて簡単に理解しましょう。

#まずはオペレーティング システムを理解することから始めましょう

1.1 オペレーティング システムの概要

オペレーティング システムとは何かを次の 4 つのポイントで紹介します。

  • オペレーティング システム (Operation System、以下 OS) は、コンピュータのハードウェアとソフトウェアのリソースを管理するプログラムです。 。これは、コンピュータ システムの中核であり、基礎です。;
  • オペレーティング システムは、本質的には、コンピュータ上で実行されるソフトウェア プログラムです。;
  • ユーザーがシステムと対話するための操作インターフェイスを提供します。
  • オペレーティング システムは、カーネルとシェルに分かれています (シェルはカーネルを囲むアプリケーション プログラム、カーネルはシェルと理解できます)ハードウェアを動作させることができるプログラムです)。

Linuxの基礎知識入門(バックエンド必須)

##1.2 オペレーティング システムの簡単な分類

Windows:

現在最も人気のある個人用デスクトップ オペレーティング システムであり、あまり説明するまでもなく誰もが知っています。

Unix:

最も初期のマルチユーザー、マルチタスク オペレーティング システムであり、オペレーティング システムの分類によれば、タイムシェアリング オペレーティング システムです。 Unix は主にサーバー、ワークステーションで使用されており、現在ではパーソナル コンピューターでも使用されています。これは、インターネット、コンピュータ ネットワーク、またはクライアント/サーバー モデルの作成において非常に重要な役割を果たします。

Linuxの基礎知識入門(バックエンド必須)

Linux:

Linux は、無料で使用し、自由に配布できる Unix に似たオペレーティング システムです。Linux にはさまざまな Linux バージョンがありますが、それらはすべて Linux カーネル を使用しています。 Linux は、携帯電話、タブレット、ルーター、ビデオ ゲーム コンソール、デスクトップ コンピューター、メインフレーム、スーパーコンピューターなど、さまざまなコンピューター ハードウェア デバイスにインストールできます。厳密に言えば、Linux という言葉自体は Linux カーネルのみを指しますが、実際には、人々は Linux カーネルをベースにし、GNU プロジェクトのさまざまなツールやデータベースを使用するオペレーティング システム全体を説明するために Linux を使用することに慣れています。

Linuxの基礎知識入門(バックエンド必須)

#2 Linux の概要

##2.1 Linux の概要

Linux については上ですでに紹介しましたが、ここでは 3 つの点だけを強調します。

Unix のようなシステム:

Linux は、無料のオープンソースの Unix のようなオペレーティング システムです。
  • Linux カーネル: 厳密に言えば、 、Linux という言葉自体は Linux カーネルのみを意味します
  • Linux の父: プログラミングの分野における伝説的な人物。彼は、Linux カーネルの最初の作成者であり、後にこのオープン ソース プロジェクトを開始し、Linux カーネルのチーフ アーキテクトおよびプロジェクト コーディネーターを務めています。彼は、今日世界で最も有名なコンピューター プログラマーおよびハッカーの 1 人です。彼はまた、Git オープンソース プロジェクトを開始し、主要な開発者でもあります。

#2.2 Linux の誕生の概要Linuxの基礎知識入門(バックエンド必須)

##1991 年、アマチュア コンピュータがフィンランドの愛好家リーナス トーバルズは、Minix (マイクロカーネル アーキテクチャに基づく Unix に似たオペレーティング システム) に似たシステムを作成し、ftp 管理者によって Linux と名付けられました。これは、フリー ソフトウェア財団の GNU プロジェクトに追加されました。Linux は、シンボルとして、勇気と人生への愛を象徴するかわいいペンギンです。

  • 2.3 Linux の分類

Linux は、ネイティブ度に応じて 2 つのタイプに分類されます。

カーネル バージョン:

Linux はオペレーティング システムではありません。厳密に言えば、Linux はオペレーティング システムの単なるカーネルです。カーネルとは何ですか?カーネルは、コンピュータ ソフトウェアとハ​​ードウェア間の通信プラットフォームを確立します。カーネルは、ファイル管理、仮想メモリ、デバイス I/O などのシステム サービスを提供します。

リリース バージョン:
    一部組織または企業 カーネル バージョンの二次開発に基づく再リリース バージョン。以下の図に示すように、Linux ディストリビューションにはさまざまな種類があります (ubuntu と CentOS が広く使用されており、初心者には CentOS を選択することをお勧めします)。
  1. ## Linux ファイル システムの 3 つの概要
  2. 3.1 Linux ファイル システムの概要

Linux オペレーティング システムでは、ネットワーク インターフェイス カード、ディスク ドライブ、プリンタ、入出力デバイス、通常のファイルやディレクトリなど、オペレーティング システムによって管理されるすべてのリソースがファイルとみなされます。

つまり、LINUX システムには、すべてがファイルであるという重要な概念があります。実はこれはUNIXの思想の現れであり、LinuxはUNIXを書き直したものなので、その考え方は受け継がれています。 UNIX システムでは、ハードウェア デバイスを含むすべてのリソースがファイルとみなされます。 UNIX システムは、各ハードウェアを通常デバイス ファイルと呼ばれるファイルとして扱うため、ユーザーはファイルの読み取りと書き込みによってハードウェアにアクセスできます。

3.2 ファイル タイプとディレクトリ構造

Linux は 5 つのファイル タイプをサポートします:

Linuxの基礎知識入門(バックエンド必須)

Linux のディレクトリ構造は次のとおりです:

Linux ファイル システムは、逆ツリーのような独特の構造を持ち、最上位がルート ディレクトリです。 :


Linuxの基礎知識入門(バックエンド必須)

共通ディレクトリの説明:

  • /bin: バイナリ実行可能ファイルを格納します。ファイル (ls、cat、mkdir など)、一般的に使用されるコマンドは通常ここにあります;
  • /etc: はシステム管理および構成ファイルを保存します;
  • /home: すべてのユーザー ファイルが保存されているルート ディレクトリは、ユーザーのホーム ディレクトリのベースです。たとえば、ユーザー user のホーム ディレクトリは /home/user であり、~user; で表すことができます。
  • /usr: システム アプリケーションの保存に使用されます;
  • /opt: 追加でインストールされたオプションのアプリケーション パッケージが配置される場所。通常の状況では、ここに Tomcat などをインストールできます;
  • /proc: 仮想ファイル システム ディレクトリはシステム メモリのマッピングです。このディレクトリに直接アクセスしてシステム情報を取得できます;
  • /root: スーパー ユーザー (システム管理者) (特権クラス ^o^) のホーム ディレクトリ;
  • /sbin: root のみがアクセスできるバイナリ実行可能ファイルを保存します。ここには、システム管理者が使用するシステムレベルの管理コマンドとプログラムが保存されます。 ifconfig など;
  • /dev: デバイス ファイルの保存に使用;
  • /mnt: システム管理者がインストールするインストール ポイント一時ファイル システムをインストールします。システムは、ユーザーが他のファイル システムを一時的にマウントできるようにこのディレクトリを提供します。
  • /boot: システムの起動中に使用されるさまざまなファイルを保存します。
  • /lib: システム操作に関連するライブラリ ファイルを格納します;
  • /tmp: さまざまな一時ファイルを格納するために使用され、パブリック一時ファイル ストレージ ポイントです。
  • ##/var:
  • 運用中にデータを変更する必要があるファイルを保存するために使用されます。また、さまざまなサービスのログ ファイル (システム起動ログ) など、一部の大きなファイルのオーバーフロー領域でもあります。 、など)、など ;
  • /lost found:
  • このディレクトリは通常は空です。システムは異常にシャットダウンし、「ホームレス」ファイル (.chk の下に何と呼ばれますか) が残ります。 Windows) ここにあります。

4 基本的な Linux コマンド以下は、より一般的に使用されるコマンドのほんの一部です。いくつかのコマンドを忘れたり、理解できないコマンドがある場合は、ここで解決策を得ることができるので、Linux コマンド クイック チェック Web サイトをお勧めします。

Linux コマンドリスト: http://man.linuxde.net/

4.1 ディレクトリ切り替えコマンド

  • #cd usr: このディレクトリの下の usr ディレクトリに切り替えます
  • ##cd .. (または cd../)
  • : 上位ディレクトリに切り替えます##cd /
  • システムのルート ディレクトリに切り替えます##cd ~
  • ユーザーのホーム ディレクトリに切り替えます
  • cd -:
  • 前のディレクトリに切り替えます
  • 4.2 ディレクトリ操作コマンド(追加、削除、変更、確認)

1.mkdirディレクトリ名:

ディレクトリ追加

2. ls または ll

(ll は ls -l の略で、ll コマンドを使用すると、ディレクトリ内のすべてのディレクトリとファイルの詳細情報を表示できます) : ディレクトリ情報の表示

3. ディレクトリパラメータの検索 :

ディレクトリの検索 (確認)

例: <ul> <li>現在のディレクトリとサブディレクトリにあるすべてのファイルとフォルダーを一覧表示します: <code>find .

  • /home ディレクトリを検索し、.txt ファイルで終わります。名前: find /home -name "*.txt"
  • 上記と同じですが、大文字と小文字は無視します: find /home -iname "*.txt"
  • 現在のディレクトリとサブディレクトリで .txt および .pdf で終わるすべてのファイルを検索します: find . \( -name "*.txt" -o -name "*.pdf" \)or find . -name "*.txt" -o -name "*.pdf"
  • 4, mv ディレクトリ名 新しいディレクトリ名 : ディレクトリ名の変更 (変更)

    注: mv の構文では、ディレクトリの名前を変更するだけでなく、さまざまなファイル、圧縮パッケージなどの名前も変更できます。 mv コマンドは、ファイルまたはディレクトリの名前を変更したり、あるディレクトリから別のディレクトリにファイルを移動したりするために使用されます。 mv コマンドの別の使用法は後で紹介します。

    5. mv ディレクトリ名 ディレクトリの新しい場所 : ディレクトリの場所を移動 --- カット (変更)

    注: mv 構文だけではありませんディレクトリをカットできますが、ファイルや圧縮パッケージもカットできます。また、mvとcpでは結果が異なり、mvはファイルを「移動」したようで、ファイル数は増えていません。 cp がファイルをコピーすると、ファイルの数が増加します。

    6. cp -r ディレクトリ名 ディレクトリのコピー先の場所 : ディレクトリのコピー (変更)、-r は再帰的コピーを表します

    注: cp コマンドはディレクトリだけでなく、ファイルや圧縮パッケージなどもコピーできます。ファイルや圧縮パッケージをコピーする場合、-r を再帰的に記述する必要はありません

    7, rm [-rf ] directory :ディレクトリの削除 (削除)

    注: rm はディレクトリを削除するだけでなく、他のファイルや圧縮パッケージも削除できます。全員の記憶を強化するために、どれを削除しても問題ありません。ディレクトリまたはファイルを直接使用しますrm -rf ディレクトリ/ファイル/圧縮パッケージ

    4.3 ファイル操作コマンド(追加、削除、変更、確認)

    1. ファイル名をタッチ: ファイル作成(増分)
    2. ##cat/more /less/tail ファイル名 ファイル閲覧(チェック)

      • cat: 最後の画面内容のみ表示可能
      • more: パーセンテージを表示できます。Enter は行を下に移動できます。スペースはページを下に移動できます。q はビューを終了できます。
      • less: キーボードの PgUp と PgDn を使用してページを上下に移動でき、q で表示を終了できます
      • tail-10: ファイルの最後の 10 行を表示し、Ctrl C を押して最後まで表示します。
    注: コマンド tail -f file は、Tomcat のログなどの特定のファイルを動的に監視できます。ファイルの変更を監視します。プログラムの実行に応じてログが変更されます。tail -f catalina-2016-11-11.log を使用できます。ファイルの変更を監視します

    1. vim file: ファイルの内容を変更する (変更)vim エディターは Linux の強力なコンポーネントであり、vi エディターの拡張バージョンです。vim エディターには多くのコマンドとショートカットがありますが、ここでは説明しません。徹底的に勉強する必要はありません vim を使って編集・修正 基本的には file メソッドが使えれば十分です。

      実際の開発では、vim エディターを使用する主な機能は構成ファイルを変更することです。一般的な手順は次のとおりです:

      vim ファイル ---- -->ファイルを入力----->コマンド モード----->i を押して編集モードに入ります----->ファイルを編集----->Esc を押して編集モードに入りますボトムライン モードに入る--- -->Enter: wq/q! (内容を書き込んで終了、つまり保存するには wq と入力します。保存せずに強制終了するには q! と入力します。)

    2. rm - rf file: ファイルの削除 (delete)同じディレクトリ内で削除: rm -rf

      file## を覚えておいてください

    #4.4 ファイルを圧縮するための操作コマンド

    #1) ファイルのパックと圧縮:

    パッケージ化されたファイルLinux では通常、.tar です。最後に、圧縮コマンドは通常 .gz で終わります。

    通常、パッケージ化と圧縮は同時に実行され、パッケージ化および圧縮されたファイルのサフィックス名は通常 .tar.gz になります。

    コマンド:

    tar -zcvf 圧縮ファイル名をパックして圧縮ファイルをパックします
    その中: z: gzip 圧縮コマンドを呼び出します。圧縮

    c: パッケージ ファイル

    v: 実行中のプロセスを表示

    f: ファイル名を指定

    例: に 3 つのファイルが追加されました。テスト ディレクトリ: aaa.txt bbb.txt ccc.txt。テスト ディレクトリをパッケージ化し、圧縮パッケージ名を test.tar.gz として指定する場合は、コマンド

    tar -zcvf を使用できます。 test.tar.gz aaa.txt bbb.txt ccc.txt

    または: tar -zcvf test.tar.gz /test/2)圧縮パッケージを解凍します:

    コマンド: tar [-xvf] 圧縮ファイル

    その内: x: 解凍を表します

    例:

    1 /test の下にある test.tar.gz を現在のディレクトリに解凍するには、次のコマンドを使用できます: tar -xvf test.tar.gz

    #2 /test の下の test.tar.gz をルート ディレクトリ /usr に抽出します。 tar -xvf xxx.tar.gz -C /usr (-C は指定された解凍場所を表します) )

    4.5 Linux 権限コマンド

    オペレーティング システム内のすべてのファイルには、特定の権限、ファイルが属するユーザー、およびグループがあります。アクセス許可は、オペレーティング システムがリソース アクセスを制限するために使用するメカニズムであり、Linux のアクセス許可は通常、読み取り可能、書き込み可能、​​実行可能の 3 つのグループに分類されます。このメカニズムは、ファイルの所有者、グループ、その他のユーザーにそれぞれ対応して、どのユーザーとどのグループが特定のファイルに対してどのような操作を実行できるかを制限するために使用されます。 ls -l コマンドを使用すると、特定のディレクトリ内のファイルまたはディレクトリのアクセス許可を表示できます。

    例: 任意のディレクトリ内ls -l

    Linuxの基礎知識入門(バックエンド必須)

    最初の列の情報は次のように説明されます。

    Linuxの基礎知識入門(バックエンド必須)

    ファイルの種類について詳しく説明します。 Linux の権限とファイル所有者、グループ、その他のグループとは何ですか?

    ファイルの種類:

    • d: ディレクトリを表します
    • -: ファイルを表します
    • l: リンクを表します (ウィンドウ内のショートカットと考えることができます)

    Linux の権限は次の種類に分類されます:

    • r: 読み取り可能な権限を表します。 r は数値 4
    • w で表すこともできます。権限は書き込み可能であることを表します。w は数値 2
    • xx で表すこともできます。権限は実行可能であることを表します。x は、権限が書き込み可能であることを表します。数字 1 で表されます

    ファイルとディレクトリのアクセス許可の違い:

    ファイルとディレクトリでは、読み取り実行と書き込み実行の意味が異なります。

    ファイルの場合:

    権限名 実行可能な操作
    r cat を使用してファイルの内容を表示できます
    w ファイルの内容を変更できます
    xx バイナリ ファイルとして実行できます

    ディレクトリの場合:

    Linux のすべてのユーザーはグループに所属する必要があり、グループの外部から独立することはできません。 Linux では、各ファイルに所有者、グループ、およびその他のグループの概念があります。

    • Owner

      は通常、ファイルの作成者です。ファイルを作成した人が自動的にファイルの所有者になります。ls-ahl を使用します。コマンドを使用してファイルの所有者を確認することもできます。chown username filename を使用してファイルの所有者を変更することもできます。

    • ファイルが配置されているグループ

      ユーザーがファイルを作成するとき、ファイルが配置されているグループは、ユーザーが配置されているグループです。ファイルのすべてのグループは、chgrp グループ名 ファイル名 を使用して、ファイルが配置されているグループを変更することもできます。

    • #他のグループファイルの所有者とグループ内のユーザーを除き、システムの他のすべてのユーザーはファイルの他のグループです

    ファイル/ディレクトリのアクセス許可を変更する方法を見てみましょう。

    ファイル/ディレクトリのアクセス許可を変更するコマンド: chmod

    例: /test の下にある aaa.txt のアクセス許可を所有者に変更します。すべての権限。所有者のグループには読み取りおよび書き込み権限があります。

    他のユーザーには読み取り権限のみがあります。

    chmod u=rwx,g=rw,o=r aaa.txt

    Linuxの基礎知識入門(バックエンド必須)

    上記の例は、数値でも表すことができます:

    chmod 764 aaa.txt

    Addよく使用されるもの:

    Zookeeper をインストールする場合、コンピューターの電源を入れるたびに自動的に起動するように設定するにはどうすればよいでしょうか?

      新しいスクリプト Zookeeper を作成します
    1. 新しく作成したスクリプト Zookeeper に実行可能権限を追加します。コマンドは次のとおりです:
    2. chmod xzookeeper
    3. Changeスクリプトがスタートアップ項目に追加されます。コマンドは次のとおりです:
    4. chkconfig --addzookeeper
    5. 追加が成功したかどうかを確認したい場合のコマンドは次のとおりです:
    6. chkconfig --list

    ##4.6 Linux ユーザー管理

    Linux システムは、マルチユーザー、マルチタスクの時間です。 - オペレーティング システムを共有する場合、システム リソースを使用する必要があります。すべてのユーザーは、まずシステム管理者にアカウントを申請し、そのアカウントとしてシステムに入る必要があります。

    ユーザー アカウントは、システム管理者がシステムを使用するユーザーを追跡し、システム リソースへのアクセスを制御するのに役立つ一方で、ユーザーがファイルを整理し、ユーザーにセキュリティ保護を提供するのにも役立ちます。 。

    Linux ユーザー管理関連コマンド:

    • useradd オプション username: ユーザー アカウントの追加
    • userdelオプション username: ユーザー アカウントの削除
    • usermod オプション username: アカウントの変更
    • passwd username: ユーザー パスワードの変更または作成
    • passwd -S username: ユーザー アカウントのパスワード情報を表示します
    • passwd -d username: ユーザー パスワードをクリアします
    useraddコマンドは、Linux で新しいシステム ユーザーを作成するために使用されます。 useradd を使用してユーザー アカウントを作成できます。アカウントの作成後、passwd を使用してアカウントのパスワードを設定します。 userdel を使用してアカウントを削除できます。 useradd コマンドを使用して作成されたアカウントは、実際には /etc/passwd テキスト ファイルに保存されます。

    passwd コマンドは、ユーザーのパスワード、パスワードの有効期限などのユーザー認証情報を設定するために使用されます。システム管理者は、これを使用してシステム ユーザーのパスワードを管理できます。ユーザー名を指定できるのは管理者だけであり、一般ユーザーは自分のパスワードのみ変更できます。

    4.7 Linux システムのユーザー グループ管理

    各ユーザーにはユーザー グループがあり、システムはユーザー グループ内のすべてのユーザーを管理できます。集中管理。ユーザーグループに関する規定は Linux システムごとに異なります。たとえば、Linux ではユーザーは同じ名前のユーザーグループに属し、ユーザーの作成と同時にこのユーザーグループも作成されます。

    ユーザー グループの管理には、ユーザー グループの追加、削除、変更が含まれます。グループの追加、削除、変更は、実際には /etc/group ファイルの更新となります。

    Linux システム ユーザー グループの管理に関連するコマンド:

    • groupadd オプション ユーザー グループ: 新しいユーザー グループを追加します
    • groupdel ユーザー グループ: 既存のユーザー グループを削除するには
    • groupmod オプション ユーザー グループ: ユーザー グループの属性を変更します

    ##4.8 その他の一般的に使用されるコマンド

    • pwd: 現在位置を表示
    • grep 検索する文字列 検索するファイル --color : 検索コマンド、--color は強調表示を表します
    • ps -ef/ps aux: これら 2 つの両方のコマンドシステムの現在実行中のプロセスを表示します。この 2 つの違いは、表示形式が異なることです。特定のプロセスを表示したい場合は、次の形式を使用できます: ps aux|grep redis (redis 文字列を含むプロセスを表示)

      注: ps を使用する場合直接 (( プロセス ステータス)) コマンドはすべてのプロセスのステータスを表示します。通常、特定のプロセスのステータスを表示するには grep コマンドと組み合わせます。

    • kill -9 プロセスの pid : プロセスを強制終了します (-9 は強制終了を意味します)

      最初に ps を使用してプロセスを見つけますを使用して、kill kill

    • ネットワーク通信コマンド:

      • 現在のシステムのネットワーク カード情報を表示します: ifconfig
      • 特定のマシンの接続ステータスを表示します: ping
      • 現在のシステムのポート使用状況を確認します: netstat -an
    • #shutdown: shutdown -h now: 今すぐ即時シャットダウンを指定します; shutdown 5 "システムは 5 分後にシャットダウンします": 5 分後にシャットダウンを指定し、ログインしているユーザーに警告メッセージを送信します。
    • 再起動: 再起動: 再起動します。 reboot -w: 再起動のシミュレーションを行います(実際には録画のみが再起動しません)。

    Linux の知識について詳しくは、Linux チュートリアル 列をご覧ください。

    権限名 実行可能な操作
    r ディレクトリ下のリストを表示できます
    w ディレクトリ内のファイルを作成および削除できます
    xxx cd を使用して入力できますディレクトリ

    以上がLinuxの基礎知識入門(バックエンド必須)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    ソース:segmentfault.com
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート