0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#前提
Linuxについて学んだことを書いていきます。

#Linuxのブートプロセスとsystemd
1、電源投入
2、ファームウェア(BIOS/UEFI)動作

  • ブートローダを呼び出す
    3、ブートローダ
  • kernelとRAMディスク
    4、カーネルを起動
  • メモリ初期化やハードウェア認識
    5、systemd(init)でサービス起動
    6、ログインプロンプト表示

##initとsystemd
・サービスを起動する仕組み

  • init: SysVinit(System File Init)従来
  • systemd: 現在のLinuxで採用

##systemdのデーモン
・デーモン(バックグランドで常時起動しているプロセス)

  • systemd(メイン)
  • systemd-jouranl(ジャーナル管理プロセス、ログ管理)
  • systemd-logind(ログイン処理)
  • systemd-udevd(デバイス動的検知)

##systemdとUnit
・Unit(処理単位)

  • systemctlコマンドで制御
  • タイプ
      ・service(各種サービス起動)httpd, sshdなど
      ・device(デバイス)
      ・mount(ファイルシステム)/etc/fstab
      ・swap(スワップ領域の有効化。ディスクをメモリに)
      ・target(複数Unitをグループ化)

##systemctlコマンド
・start、stop、restart
・status
・is-active
・enable、disable(自動起動)
・list-units
・list-unit-files(unit-fileの一覧・ステータスなど)
・list-dependancies

##サービスの有効化・無効化
【systemdの起動順序】
・default.targetが最初に呼ばれる。以下と関連づける
・ランベル(init)とターゲット(systemd)
 0、poweroff.target
 1、rescure.target(レスキューモード、シングルユーザモード)
 2〜4、multi-user.target(マルチユーザモード)
 5、graphical.target(GUIモード)以下のUnitも呼ばれる
  ・multi-user.target
    basic.target
 6、reboot.target(再起動)

##isolateモード変更

$ systemctl isolate rescue.target

##OSのシャットダウン・再起動

shutdown -h +10 "this host will shutdown in 10 minutes"

-オプション
・h(halt) 停止
-r(reboot) 再起動
-k(test) 停止せずにテストを行う
・-c(cancel) カウントダウン待ちのシャットダウンを実施
-f(no fsck) 再起動時にファイルのチェックを行わない
-F(fsck) 再起動時にファイルのチェック

・15分後にシャットダウンするコマンドを実行し、キャンセル
-h (halt・停止)+ 分 "メッセージ"

$ su -
# shutdown in 15 "this host will shutdown in 15 minutes!!"
# shutdown -c

##シャットダウンコマンドとwallコマンド
・類似コマンド
 停止
  ・halt, poweroff, init 0
  ・systemctl poweroff target
 再起動
  ・reboot, shutdown reboot, init6
  ・systemctl reboot.target
 通知
  ・wall(停止はせず一斉通知)

# wall "this host will stop 20:00 p.m."

##psコマンドでプロセス一覧を表示
・プロセスの生成と消滅まで
 - コマンドを実行する
 - ファイルをメモリに読み込む(プロセスの生成)
 - CPUが処理を実行する
 - メモリ上から消滅(プロセスの終了)

・プロセスを確認するpsコマンド
 - PID:プロセスID

psコマンドのオプション
・BSDフォーマット
 - a(all), f(親子関係), l(詳細), x(端末無)
 - pstreeでfは代用可能

・Unixフォーマット
 - -e(すべて), -f(詳細), -l(詳細)
※BSDフォーマットが使われることが多い

プロセス管理関連コマンド
・pgrep(検索)
・top(3秒ごとの状況)
・uptime(稼働時間)
・free(free memory)

##プロセスの停止
・kill オプション PID/ %job num.
 - 1 (HUP)hang up
 - 2 (INT)interrupt
 - 9 (KILL)kill/強制終了
 - 15 (TERM)terminate/終了
 - 20 (TSTP)suspend(Ctrl+D)

・killall プロセス名
・pkill プロセス名

##デスクトップ環境の利用

##統合デスクトップ環境

##ファイル・ディレクトリの所有者
r = 4
w = 2
x = 1

rwxr-xr-x
(4+2+1)(4+0+1)(4+0+1)
= 755

所有者・グループ・権限の変更
・chown
 - change owner
・chgrp
 - change group
・chmod
 - change mode

##chmodコマンドで読み書き権限

# chmod u-r hello.txt
# chmod u+r hello.txt

##ファイルのアーカイブと圧縮・展開
・tarコマンd(tape archive)
 - オプション
  ・c(create)
  ・x(展開)
  ・t(情報表示)
  ・v(verbose)
  ・f(filename)
  ・z(gunzipで圧縮)
 - cvzf(作成)、xvzf/xzfをよく利用

・cpio、ddコマンド


##シェルの機能
・シェルの役割
 - ユーザ入力を受付、カーネルに命令

・シェルの種類の確認

echo $SHELL
env | grep SHELL

##シェル変数・環境変数
・LANGを確認

echo $LANG

・PATH変数

PATH=$PATH:追加したいPATH
PATH=$PATH:/home/h/temp

・シェル変数を環境変数に反映
 シェル変数は子プロセスから参照できない
 環境変数は別の子プロセスから参照できる

・say_hello

  • #!/bin/bash
  • echo Message
  • echo $MSG
    ・MSG=”Hello Linux!”
    ・export MSG

##manコマンド
・man[option][section]keyword
 - -a(all)
 - -f(完全一致)fully matched
 - -k(部分一致)keyword match

##ファイルの参照
・cat: concatenate
 - -n:行番号表示
  ・nlコマンドで代用可
 - ファイルの内容を連結して出力
・head/tail
 - 行数、 -n 行数
 - -f(継続的表示)

##リダイレクトとパイプ
・リダイレクト
 - 書き込みモード
  ・コマンド > ファイル(上書き)
  ・コマンド >> ファイル(append)
 - オプション
  ・コマンド2 > ファイル
  ・コマンド > ファイル2 > &1
  ・コマンド $ ファイル
  ・コマンド << EOF > ファイル

##pipeとteeコマンド
・標準出力にもファイルにも出力する

・コマンド | tee ファイル名
 - パイプ(|)で最初のコマンドの実行結果をteeコマンドに投入
 - 標準出力にもファイルにも出力

##xargsコマンド
・コマンド実行結果を次のコマンドの引数に

#viエディター
・Linux/Unixに標準搭載
 - システム管理業務やサーバー設定に必須

・2種類のモード
 - コマンドモード <=> 入力モード
 - コマンドモードは検索、削除、コピー、ペースト
 - 入力モード(i,a,oで切替)テキスト入力

##カーソルの移動
・h,j,k,l

  • 左、下、上、右

・移動

  • w(wordの先頭), b(前の単語)
  • e(wordの末尾、end)
  • 0(行の先頭)、$(行末)

・検索

  • /kw, n(後方検索)
  • ?kw, N(前方検索)

##テキスト操作
・cw(単語置換)、c$(行末まで)
・y(copy)、yy(行コピー)
・cw(1文字削除)
・d(削除)、dd(行)、dw(単語)、d$(行末)
・p(paste)
・u(undo)
・r ファイル名(ファイル内容を挿入)

#セキュリティ
##SUIDとSGID
・特殊な3つのパーミッション

#ネットワーク基礎
##TCP/IPの仕組み
・通信プロトコル(規約の1つ)

  • 通信手順、データフォーマットなどの技術標準
     ・IEEE、IETFなどで提案・標準化
  • パケット(データ分割、ヘッダ付加)単位で送受信

##ヘッダの各層(Layer)
・ヘッダの中にさらに4つの情報を格納

  • ネットワークインターフェース層
      ・Ethernet, PPP,,,
  • インターネット層
      ・IP, ICMP(*ping), ARP(MACアドレス)
  • トランスポート層
      ・TCP, UDP(*streaming)
  • アプリケーション層
      ・FTP, SSH, Telnet, DNS, HTTP, IMAP4, POP3,,,

##TCPとUDP
・TCPはデータの到着を確認

  • 不足すればパケット再送

・UDPは確認ぜず、一方的にパケット送信

  • ビデオ配信などリアルタイム性が高い用途

##ポード番号
・ホストはIPアドレスで識別
・通信ポートを使い分けて通信(/etc/services)

  • well-known port
  • 20/21(FTP)
  • 22(SSH)
  • 25(SMTP)
  • 53(DNS)
  • 80/443(HTTP/HTTPS)
  • 123(NTP)
  • 143(IMAP)
  • 389(LDAP)
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?