コース一覧
LinuC レベル1(LPIC-1対応)対策
ストリームとリダイレクト

LinuC レベル1(LPIC-1対応)対策

ブートとsystemd、パッケージ管理(APT/RPM両系統)、コマンドとviの操作、ファイルシステム、シェルスクリプト、ユーザー管理とセキュリティ、ネットワークまで、LinuC レベル1(LPIC-1対応)の全出題範囲を、毎レッスン実際にコマンドを打って確かめながら学べる対策コースです。ブラウザの中で本物の Debian 12 が動いていて、62レッスンのうち36本は読むだけで終わらず、自分の手でコマンドを打った結果で採点されます。Linux入門を修了した方を対象としています。101・102それぞれの模試60問で分野別の弱点を洗い出し、直前チェックで暗記事項を固めてから本番に臨めます。

1
試験ガイダンス
01. LinuC/LPICとは15分
02. LinuCとLPICの選び方15分
03. 学習計画15分
04. 出題形式を体験15分
2
101 ブートとアーキテクチャ
01. ブートの流れ18分
02. GRUB15分
03. systemdとターゲット18分
04. ハードウェア情報18分
05. カーネルモジュール18分
06. 過去問 アーキテクチャ15分
3
101 パッケージ管理
01. Debian系パッケージ18分
02. RPM系パッケージ15分
03. 両系統の対応表15分
04. リポジトリ管理18分
05. 共有ライブラリ18分
06. 過去問 パッケージ管理15分
4
101 GNU/Unixコマンド
01. ファイル操作の試験オプション18分
02. テキスト処理18分
03. ストリームとリダイレクト18分
04. プロセス監視18分
05. 優先度18分
06. grepと正規表現18分
07. viの操作15分
08. 過去問 コマンド15分
5
101 ファイルシステム
01. パーティション15分
02. 作成とマウント18分
03. fstabとUUID18分
04. パーミッションとリンク18分
05. 容量とクォータ18分
06. findとlocate18分
07. 過去問 ファイルシステム15分
6
102 シェルとスクリプト
01. シェル環境18分
02. testと条件式18分
03. スクリプトの制御18分
04. cronとat15分
05. systemdタイマー18分
06. 過去問 シェル15分
7
102 ユーザーとセキュリティ
01. passwdとshadow18分
02. ユーザー管理コマンド18分
03. suとsudo18分
04. 特殊パーミッション18分
05. ホストのセキュリティ18分
06. SSHとGPG18分
07. 過去問 ユーザーとセキュリティ15分
8
102 ネットワーク
01. TCP/IPとウェルノウンポート18分
02. アドレス設定18分
03. ルーティング18分
04. 名前解決の設定18分
05. 疎通トラブルシュート18分
06. 過去問 ネットワーク15分
9
102 システム管理
01. 時刻とNTP15分
02. ロケールと文字コード18分
03. ログ管理18分
04. サービス管理の試験形式18分
05. メールと印刷のきほん15分
06. 過去問 システム管理15分
10
模試と直前対策
01. 模試 10190分
02. 101弱点復習15分
03. 模試 10290分
04. 102弱点復習15分
05. 直前チェック15分
06. 受験と次のステップ15分

ストリームとリダイレクト

101 試験でリダイレクトが出るとき、ほぼ必ず絡むのがファイルディスクリプタの番号と書く順番です。番号は3つだけ覚えます。

番号名前既定の接続先
0標準入力 stdinキーボード
1標準出力 stdout端末画面
2標準エラー出力 stderr端末画面

> は 1 のリダイレクト、< は 0 のリダイレクトの省略形です。2> と書けば標準エラー出力だけを振り分けられます。標準出力を捨ててもエラーが画面に残るのは、2 が別の口だからです。この分離のおかげで、結果はファイルに残しつつエラーだけ画面で見る、といった使い分けができます。

書き方の一覧

記法意味
cmd > f標準出力を f に上書きする
cmd >> f標準出力を f に追記する
cmd < ff を標準入力として読ませる
cmd 2> f標準エラー出力を f に上書きする
cmd 2>> f標準エラー出力を f に追記する
cmd > f 2>&1標準出力を f に向け、標準エラー出力もそこへ合流させる
cmd &> f上と同じ意味の bash の短縮形
cmd > /dev/null標準出力を捨てる
cmd 2> /dev/nullエラーだけ捨てる

順番が結果を変えます

試験で最もよく出る引っかけです。次の2つは見た目が似ていますが、結果がまったく違います。

ターミナル

cmd > f 2>&1 cmd 2>&1 > f

上は、先に標準出力を f につなぎ、そのあと標準エラー出力を「そのときの標準出力の接続先」つまり f につなぎます。両方が f に入ります。

下は、先に標準エラー出力を「そのときの標準出力の接続先」つまり画面につなぎ、そのあとで標準出力だけを f につなぎ替えます。標準出力は f に入り、標準エラー出力は画面に残ります。2>&1 は「今この瞬間の 1 の接続先に合わせる」という複製の指示であって、以後ずっと 1 に追随するわけではない、というのが理解の要です。

tee とパイプと xargs

パイプ | は左のコマンドの標準出力を右のコマンドの標準入力につなぎます。パイプに流れるのは 1 だけで、2 は流れません。エラーも乗せたいときは cmd 2>&1 | next と書きます。

tee は入力を画面とファイルの両方に出します。途中経過を残しつつ次に渡したいときに使い、tee -a にすると上書きでなく追記になります。

ターミナル

ls -l | tee list.txt ls -l | tee -a list.txt | wc -l

xargs は標準入力から受け取った文字列を、コマンドの引数に置き換えて実行します。rm や grep のように標準入力ではなく引数を要求するコマンドへ橋渡しするために使います。渡す相手が削除系のときは、まず無害なコマンドで対象を確かめてから置き換えてください。

ターミナル

find /tmp -name "*.tmp" | xargs ls -l

ヒアドキュメント

<< に続けて終端の目印を書くと、その目印が単独で現れるまでの複数行を、そのまま標準入力に流し込めます。設定ファイルを一気に書き出すときの定番です。目印は EOF でなくても構いません。<<- と書くと各行の先頭のタブが取り除かれ、目印を引用符で囲むと中の変数が展開されなくなります。

ターミナル

cat <<END > /root/memo.txt 1行目 2行目 END

よくある引っかけ

&> を「バックグラウンド実行してリダイレクト」と読ませる選択肢が出ます。バックグラウンドは末尾の & であって、&> とは別物です。

2>&1 > f で両方がファイルに入る、という選択肢も誤りです。エラーは画面に残ります。

> と >> の違いを問う問題では、> が既存の内容を消してしまうことを忘れないでください。

ヒント

まず ls /root/rd/ok.txt /root/rd/nothing.txt をそのまま打ってください。成功した行と No such file の行が両方画面に出ます。この2本の流れを別々に扱うのが今回の課題です

標準出力は番号 1 で > は 1 の省略形、標準エラー出力は番号 2 なので 2> と書きます。1つにまとめるときは > でファイルを決めた後に 2>&1 を続けます

ls /root/rd/ok.txt /root/rd/nothing.txt > /root/rd/out.log 2> /root/rd/err.log と、ls ... > /root/rd/both.log 2>&1 と、echo 'redirect drill' | tee /root/rd/tee.log の3行です

  • 1. ls /root/rd/ok.txt /root/rd/nothing.txt をそのまま実行して、2種類の出力が混ざることを見る
  • 2. 標準出力だけを /root/rd/out.log に、標準エラー出力だけを /root/rd/err.log に書き分ける
  • 3. 同じコマンドの標準出力と標準エラー出力を両方 /root/rd/both.log にまとめる
  • 4. echo の結果を tee で /root/rd/tee.log に残す
  • 5. cmd 2>&1 > f と cmd > f 2>&1 の違いを実際に打って確かめる

4 項目で採点します