【公開】LPIC レベル1 対策第7章シェルとシェルスクリプト

>100 Views

April 19, 26

スライド概要

新卒・未経験の学生向けエンジニア転職応援資料です。
もしよろしければご活用ください。

なお、ドクセルでスライドを表示する際に、一部レイアウトが崩れる場合があります。あらかじめご了承ください。

profile-image

はじめまして、ALJ Education Plus 株式会社のyukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。 ◆IT研修講師をお探しの方は [email protected] にお気軽にお問い合わせください。 ※ALJ Education Plus 株式会社を通して、ご支援させていただきます。 ◆Zenn https://zenn.dev/yukiko_sapporo/articles/46c13e9f98b110

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

LPIC レベル1 対策 第7章 シェルとシェルスクリプト 新卒・未経験・文系でも1週間で合格できる!図解でわかる超入門ガイド

2.

この章で学ぶこと 01 シェルとは? 02 エイリアス(alias) 03 setコマンド 04 独自関数(function) 05 bash設定ファイル — OSの通訳 — コマンドのあだ名 — シェルの動作スイッチ — コマンドをまとめる — 設定を永続化する 06 シェルスクリプト基礎 — 手順書を作る 07 変数・引数・read 08 制御構造 if / case / for / while 09 条件式まとめ — データを扱う — 試験直前チェック

3.

Section 01 シェルとは? OSと人間をつなぐ「通訳」の役割を理解しよう

4.

シェルとは? ① 図解イメージ 01 スマホで例えると → Siriみたいなもの!「音楽かけて」と言ったらiOSに伝えてくれるのがシェルの役割 ユーザー シェル (bash) カーネル ハードウェア コマンド入力 解釈・翻訳 実際の処理 実行 一言まとめ:シェル = OSの通訳 主なシェルの種類(LPICではbashが中心!) 種類 特徴 LPIC頻度 bash Linuxのデフォルト。最も一般的 ★★★ 超頻出 sh POSIXシェル。移植性が高い ★★ 頻出 zsh / csh / tcsh 拡張機能・C言語風など ★ 参考

5.

Section 02 エイリアス(alias) コマンドに「あだ名」をつけよう

6.

エイリアス(alias) ① ② 図解+簡単解説 02 家で例えると → 「お父さん」は本名の省略形!aliasもコマンドのあだ名(ニックネーム) 入力 シェルが変換 実際に実行 ll ll → ls -la ls -la 基本コマンド alias ll='ls -la' llというあだ名でls -laを実行 alias 設定済みエイリアスの一覧表示 alias ll llの定義を確認 unalias ll エイリアスを削除

7.

Section 03 setコマンドとシェルオプション シェルの動作スイッチをON/OFFしよう

8.

setコマンドとシェルオプション ① ② 図解 03 家電で例えると → エアコンのリモコン!静音モードON/OFFみたいにシェルの機能をスイッチできる set -o オプション名 set +o オプション名 VS ▲ オプションを ON(有効化) ▼ オプションを OFF(無効化) 試験頻出オプション(暗記必須!) noglob ワイルドカード(* ?)展開を無効にする ★★★ noclobber リダイレクトで既存ファイルを上書き禁止 ★★★ errexit コマンド失敗で即シェル終了 ★★ nounset 未定義変数を参照するとエラー ★★ xtrace コマンドの展開過程を表示(デバッグ用) ★★

9.

Section 04 独自関数(function) コマンドをまとめて「自分だけの命令」を作ろう

10.
[beta]
独自関数(function)

① ② 図解

04

料理で例えると → 「カレーを作る」の中に「野菜を切る→炒める→煮る→ルーを入れる」が入っている!

【関数定義】

function greet {
echo
"Hello $1"
}

【呼び出し】

【出力結果】

greet user1

Hello user1

↑ 引数: user1

$1 に user1 が入る

関数の操作コマンド
function greet { echo 'Hello'; }

引数なしの関数定義

function greet() { echo "Hello $1"; }

引数あり($1で受け取る)

declare -f greet

関数の中身を確認

unset greet

関数を削除

11.

Section 05 bash設定ファイル 設定を「永続化」するファイルを理解しよう

12.

bash設定ファイル ① ② 図解 05 会社で例えると →「規則集(全員共通)」と「自分のデスク設定(個人用)」のようなもの 全ユーザー共通 個別ユーザー専用 /etc/profile ~/.bash_profile /etc/bash.bashrc ~/.bashrc ~/.bash_logout 読み込まれるタイミング早見表 ファイル 対象 タイミング /etc/profile 全ユーザー ログイン時 /etc/bash.bashrc 全ユーザー シェル起動のたび ~/.bash_profile 個別ユーザー ログイン時 ~/.bashrc 個別ユーザー シェル起動のたび ~/.bash_logout 個別ユーザー ログアウト時

13.

Section 06 シェルスクリプト基礎 コマンドの「手順書」を作って自動化しよう

14.

シェルスクリプト基礎 ① ② 図解 06 仕事で例えると → 毎朝のルーティン作業をマニュアル化!一度書けばボタン一つで全部実行できる 1 2 3 ファイル作成 実行権限を付与 実行 vi script.sh chmod +x script.sh ./script.sh 拡張子は .sh 必須!忘れずに 必ず ./ をつける 最初のスクリプト(Hello World) #!/bin/bash echo "Hello World" #!/bin/bash は「シバン(shebang)」 どのシェルで実行するかをOSに伝える1行目の必須の記述

15.

Section 07 変数・引数・read スクリプトにデータを渡す方法を覚えよう

16.

変数・引数・read ① ② 図解 変数(値を入れる箱) 07 引数(外から渡すデータ) read(対話入力を受け取る) MY_VAR="Hello" ./script.sh AA BB read name echo $MY_VAR $1 → AA → キーボード入力待ち → Hello $2 → BB $name に保存される 変数名に $ をつけてアクセス $1 $2 $3... で受け取る ユーザーに入力させたいとき 引数の特殊変数(試験頻出!) $0 スクリプト自身のファイル名 $* すべての引数(1つの文字列) $1, $2... 1番目・2番目の引数 $? 直前のコマンドの終了ステータス(0=成 功) $# 引数の総数 $$ スクリプト自身のプロセスID(PID)

17.

Section 08 制御構造(if / case / for / while) 条件分岐と繰り返しでスクリプトを賢くしよう

18.

① 図解+コード例 if文・case文 if文 — 条件分岐 08a case文 — 多岐分岐 if [ 条件 ] 真(True) then処理 if [ $age -ge 18 ]; then echo "成人です" elif [ $age -ge 13 ]; then echo "中高生です" else echo "子供です" fi 偽(False) case $fruit in "apple") echo "りんご";; "banana") echo "バナナ";; "cherry") echo "さくらんぼ";; *) echo "不明";; esac else処理 *) はどれにも当てはまらない場合のデフォルト処理 多くの選択肢がある場合にif-elifより case文 が読みやすい

19.

for文・while文 for文 ① 図解+コード例 — アイテム繰り返し 08b while文 — 条件付き繰り返し while [ 条件 ] for i in 1 2 3 4 5 do echo "Number $i" done 処理を実行 # 100回繰り返す(展開) for i in {1..100} 条件が偽(False)になるまで繰り返す 条件が偽 {1..100} で100回繰り返せる $(seq 1 100) も同じ結果 /dir/* でファイルをループ do 〜 done の間を繰り返す count=1 while [ $count -le 5 ] do echo "Count: $count" count=$((count + 1)) done ループ終了

20.

Section 09 条件式まとめ 数値・文字列・ファイルの比較方法を整理しよう

21.

条件式まとめ 試験直前チェック! 数値の比較 09 文字列の比較 ファイルテスト演算子 -eq 等しい(equal) = 等しい -f 通常ファイルが存在する -ne 等しくない(not equal) != 等しくない -d ディレクトリが存在する -lt より小さい(less than) -z 文字列が空(zero) -e ファイル/ディレクトリが存在する -le 以下(less than or equal) -s ファイルが空でない -gt より大きい(greater than) -r 読み取り可能 -ge 以上(greater than or equal) -w 書き込み可能 -x 実行可能 条件の組み合わせ(AND・OR・否定) && AND:両方が真のとき真 [ -e file1 ] && [ ! -e file2 ] || OR:どちらかが真のとき真 [ -f a ] || [ -f b ] ! 否定:真偽を反転 [ ! -f file.txt ]

22.

Section 10 試験対策チートシート よく間違えるポイントを最終確認!

23.

試験直前!よく間違えるポイント ✕ set -o でOFF、set +o でON ○ set -o でON、set +o でOFF(逆に覚えがち!) ✕ script.sh だけで実行できる ○ ./script.sh と ./ をつける(またはフルパス) ✕ sourceも chmod +x が必要 ○ source(ドットコマンド)は実行権限なしでOK ✕ 引数は $a, $b で受け取る ○ 引数は $1, $2, $3... で受け取る ✕ aliasは永続的に使える ○ シェル終了で消える → ~/.bashrc に記述で永続化 10

24.

第7章 まとめ この章で学んだこと 1 シェル:OSの通訳。人間のコマンドをカーネルへ届ける 5 設定ファイル:/etc/profile(全員)/ ~/.bash_profile(個人 ) 2 alias:コマンドのあだ名。unalias で削除 6 スクリプト:chmod +x で権限付与→ ./ で実行 3 set -o:シェルの動作スイッチON(+oでOFF) 7 変数・引数・read:$1 $2 $# $? など特殊変数も重要 4 function:コマンドをまとめる自作命令。unset で削除 8 制御構造:if / case / for / while を使いこなそう