>100 Views
April 21, 26
スライド概要
はじめまして、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
LPIC Level 1 新卒未経験文系向け Linuxコマンド図解スライド 問12〜17 find / リダイレクト / tar / cut / 正規表現 ①この用語 ②簡単に書くよ ③詳しく書くよ(原理原則) 実機メモ
問12 find コマンド find -print0 と xargs -0 スペース入りファイル名を安全に渡す! ① この用語 -print0 … ファイル名をNULL(\0)区切りで出 力 xargs -0 … NULL区切りの入力を安全に受け 取る LPIC Level1 | 新卒文系向け解説 ③ 原理原則(一言まとめ) 区切り文字をNULL(\0)にすることで スペース・改行を含むファイル名も 安全にパイプできる
問12 図解:find | xargs の仕組み ② 簡単に書くよ ※正確な表現ではございません スペースや改行を含むファイル名があると普通の方法では壊れる。NULL文字という特殊な区切 りを使って安全に渡す! find /var -name '*.log' -print0 パイプ | xargs -0 rm 削除完了! なぜ -print0 が必要? 通常の改行区切りの場合 「my file.log」→「my」と「file.log」の 2つのファイルとして誤認識してしまう! -print0 / xargs -0 の場合 NULL(\0)を区切り記号にするので スペース入りファイル名も安全!
問14 シェル・リダイレクト シェル・リダイレクト cat の出力を標準エラーに送る >&2 ① この用語 >&2 … 標準出力(fd1)を標準エラー(fd2)へリダ イレクト fd … ファイルディスクリプタ(入出力の番号 ) LPIC Level1 | 新卒文系向け解説 ③ 原理原則(一言まとめ) Linuxは入出力をすべてfd番号で管理する。 &をつけることでファイル名ではなく fd番号として解釈させる
問14 図解:ファイルディスクリプタ 3兄弟 ② 簡単に書くよ ※正確な表現ではございません 「1を2に送る」=普通の出力をエラー出力チャンネルに切り替える。 &はfd番号だよというサ イン! 0 1 2 標準入力 stdin 標準出力 stdout 標準エラー stderr キーボード 画面(通常) 画面(エラー) cat >&2 の動き cat (stdout fd1) >&2 stderr(fd2) へ転送 エラー出力 として表示
問15 アーカイブ・圧縮 アーカイブ・圧縮 bzip2圧縮tarの内容を確認する ① この用語 tar jtf … bzip2圧縮tarの一覧表示 .tbz … tar + bzip2 の拡張子 LPIC Level1 | 新卒文系向け解説 ③ 原理原則(一言まとめ) tarはオプション文字を組み合わせて操作を指 定する。 圧縮方式(j/z/J)と操作(c/x/t)の組み合わせで何 でもできる
問15 図解:tar オプション早見表 ② 簡単に書くよ ※正確な表現ではございません tarはまとめる道具、j/z/Jは圧縮の種類、tは「中身を見るだけ」モード!展開せず確認するとき はj+t+ f c 作成 (create) x 展開 (extract) t 一覧 (list) ★ v 詳細表示 (verbose) j bzip2圧縮 ★ z gzip圧縮 J xz圧縮 f ファイル指定 コマンド例 tar jtf archive.tbz j (bzip2解凍) + t (一覧) + f (ファイル指定) → 展開せず中身確認のみ! ★ z = gzip、j = bzip2、J = xz の違いを覚えましょう
問16 テキスト処理 テキスト処理 /etc/passwd から列を切り出す cut コマ ンド ① この用語 cut … 特定の列(フィールド)を切り出すコマン ド -d … 区切り文字を指定 (delimiter) -f … フィールド番号を指定 (field) LPIC Level1 | 新卒文系向け解説 ③ 原理原則(一言まとめ) cutは -d で区切り文字、-f でフィールド番号を 指定して列を抽出する。 passwdはコロン区切りの7フィールド構造
問16 図解:/etc/passwd の構造と cut の使い方 ② 簡単に書くよ ※正確な表現ではございません 「:(コロン)で区切って、1列目と6列目だけ取り出す」 Excelで特定の列だけコピーするイメ ージ! ① ② ③ ④ ⑤ ⑥ ⑦ ユーザ名 パスワード UID GID GECOS ホームdir シェル root x 0 0 root /root /bin/bash コマンド例 cut -d : -f 1,6 /etc/passwd -d :(コロンを区切り文字に指定) -f 1,6(1列目と6列目を取り出す) → ユーザ名とホームディレクトリの一覧が出力される!
問17 正規表現 正規表現 単一の小文字を表す文字クラス [a-z] ① この用語 [a-z] … a〜zの任意の1文字にマッチする文字 クラス [ ] … 文字クラス(角括弧で囲む) LPIC Level1 | 新卒文系向け解説 ③ 原理原則(一言まとめ) 正規表現の[]は文字クラスを定義し、内部の はASCII範囲指定を意味する。 [a-z]はBRE/ERE/POSIX共通で使える基本パター ン
問17 図解:正規表現 文字クラス早見表 ② 簡単に書くよ ※正確な表現ではございません [ ] の中に範囲を書くと「その中の1文字」を意味する。 [a-z] = 「aからzのどれか1文字」という 魔法の箱! [a-z] 小文字 a〜z の1文字 [A-Z] 大文字 A〜Z の1文字 [0-9] 数字 0〜9 の1文字 [A-Za-z0-9] 英数字いずれか1文字 [:lower:] POSIX形式の小文字クラス([a-z]と同等) 間違いやすい選択肢 {az} → 正規表現では無効 | !AZ → 文字クラスではない | %c → C言語書式指定子 | :LOWER: → [] が必要 ★正解
まとめ 問12 問12〜17 原理原則一覧 -print0 | xargs -0 NULL(\0)区切りでスペース入りファイル名を安全にパイプ 問14 >&2 fd番号で入出力を管理。&でfd番号として解釈させる 問15 tar jtf j=bzip2、t=一覧、f=ファイル指定の組み合わせ 問16 cut -d : -f 1,6 区切り文字(-d)とフィールド番号(-f)で列を抽出 問17 [a-z] []文字クラスで範囲指定、-はASCII範囲を意味する