UNIX/Linuxシェルスクリプト マスタリングハンドブック

概 要

本書はUNIXやLinuxのシステム管理で必須のスキルともいえるシェル操作の基本から応用までを一冊にまとめたチュートリアル&サンプル集です。シェルとして最も定評のあるbashの機能や操作方法にはじまり、シェルスクリプトの書き方と実行方法まで順を追って紹介していますのでシェル初心者でも安心して学べます。また、取り上げたシェルスクリプトはシステム管理者にとって必須のものを厳選。bashの組み込みコマンド(内部コマンド)はすべて解説していますのでリファレンスとしても活用可能です。最終的には自作シェルスクリプトのRPMパッケージ化まで解説していますので、シェル初心者から上級者まで納得の一冊です。

著者 野川准子
価格 本体2000円(税別)
ISBN 978-4-7980-1795-2
発売日 2007/10/25
判型 B6
色数 2色
ページ数 384
CD/DVD
対象読者 初級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 bashとは

Section bashとは

1.1 シェルの概要

1.2 シェルの種類と特徴

1.3 bashの機能

1.4 bashの起動方法

1.5 bashの初期化ファイル

第2章 コマンドラインの編集

Section コマンドラインの編集とは

2.1 コマンドラインについて知る

2.2 コマンドラインの編集とは

Section カーソルの移動と文字の削除

2.3 文字単位でカーソルを移動する

2.4 文字単位で文字を削除する

2.5 ワード単位でカーソルを移動する

2.6 ワード単位で文字を削除する

2.7 行頭や行末へカーソルを移動する

2.8 行頭や行末まで文字を削除する

Section コマンドヒストリの操作

2.9 コマンドヒストリとは

2.10 コマンドヒストリのリストを表示する

2.11 1つ古い/新しいコマンドヒストリを表示する

2.12 キーワードにマッチするコマンドラインを検索する

2.13 コマンドラインの最新/最古へ移動する

コラム UNIXのおもしろさ

2.14 最後に実行したコマンドラインを再度実行する

2.15 キーワードを置換してからコマンドラインを実行する

2.16 キーワードではじまる/含む最後のコマンドラインを実行する

2.17 コマンドライン番号を使用してコマンドラインを実行する

Section テキスト補完の操作

2.18 テキスト補完とは

2.19 外部コマンドとは

2.20 外部コマンドの補完の対象

2.21 コマンド名を補完する

2.22 ファイル/ディレクトリ名を補完する

2.23 ユーザアカウント名を補完する

2.24 ホスト名を補完する

2.25 変数名を補完する

2.26 コマンドヒストリから補完する

第3章 シェルスクリプトの実行

Section シェルスクリプトの実行

3.1 シェルスクリプトとは

3.2 シェルスクリプトを作成する

3.3 sourceコマンドでシェルスクリプトを実行する

3.4 ファイル名でシェルスクリプトを実行する

3.5 sourceコマンドとファイル名で実行する方法の違い

第4章 シェルの機能

Section シェルの展開

4.1 シェルの展開とは

4.2 シェルの展開の順番

Section コメント

4.3 コメント

Section コマンドセパレータ

4.4 処理の終わり

4.5 終了ステータスが偽の場合コマンドを実行する

コラム オンラインマニュアルのセクション

4.6 終了ステータスが真の場合コマンドを実行する

Section ファイル名のマッチング

4.7 ファイル名のマッチングについて

4.8 0文字以上のファイル名にマッチする

4.9 1文字のファイル名にマッチする

4.10 任意の1文字にマッチする

4.11 その他のファイル名マッチング

4.12 ブレース展開

Section 文字列への展開

4.13 チルダ展開

コラム calコマンドと改暦の関係

Section 特殊な文字の無効化

4.14 特殊な文字の無効化について

4.15 右の1文字を無効化する

4.16 すべての特殊な文字を無効化

4.17 一部を除き特殊な文字を無効化

Section リダイレクト

4.18 リダイレクトについて

4.19 標準入力のリダイレクト

4.20 標準出力のリダイレクト

4.21 標準エラー出力のリダイレクト

4.22 標準エラー出力を標準出力にコピー

4.23 コマンドの入力を強制的に標準入力にする(ヒアドキュメント)

4.24 標準出力を標準入力に接続(パイプ)

Section 変数

4.25 変数とは

コラム Linuxカーネルの開発環境

4.26 変数へセットされている値を参照する

4.27 変数に値をセットする

4.28 位置パラメータを表す変数

4.29 すべての位置パラメータを表す変数

4.30 位置パラメータの数を表す変数

4.31 シェルスクリプトの名前を表す変数

4.32 直前のコマンドの終了ステータスを表す変数

4.33 フラグの一覧を表す変数

4.34 シェルのプロセスIDを表す変数

4.35 バックグラウンドジョブのPIDを表す変数

4.36 変数の構文

4.37 シェル変数

4.38 環境変数

4.39 配列とは

4.40 配列へ値をセットする

4.41 配列の値を参照する

4.42 配列の要素数と長さを参照する

Section 関 数

4.43 関数について

コラム GNUの発音

4.44 関数の定義と呼び出し

4.45 関数で変数を使う

Section 特殊な置換と発展

4.46 コマンド置換

4.47 算術式展開

4.48 プロセス置換

Section 複合コマンド

4.49 サブシェル内で実行

4.50 現在のシェルで実行

4.51 算術式を評価する

4.52 条件を評価する

Section シェルの流れを制御

4.53 for文(パターン1)

4.54 for(パターン2)

4.55 select文

4.56 case文

4.57 if文

4.58 while文

4.59 until文

第5章 シェルの組み込みコマンド

5.1 組み込みコマンドとは

5.2 aliasコマンド

5.3 unaliasコマンド

5.4 :コマンド

5.5 sourceコマンド

5.6 jobsコマンド

5.7 fgコマンド

5.8 bgコマンド

5.9 killコマンド

5.10 disownコマンド

5.11 bindコマンド

5.12 builtinコマンド

5.13 cdコマンド

5.14 commandコマンド

5.15 enableコマンド

5.16 completeコマンド

5.17 compgenコマンド

5.18 breakコマンド

5.19 continueコマンド

5.20 declare(typeset)コマンド

5.21 dirsコマンド

5.22 pushdコマンド

5.23 popdコマンド

5.24 echoコマンド

5.25 evalコマンド

5.26 execコマンド

5.27 exitコマンド

5.28 exportコマンド

5.29 fcコマンド

5.30 getopts

5.31 hashコマンド

5.32 helpコマンド

5.33 history

5.34 letコマンド

5.35 localコマンド

5.36 logoutコマン

5.37 printfコマンド

5.38 pwdコマンド

5.39 readコマンド

5.40 readonlyコマンド

5.41 returnコマンド

5.42 setコマンド

5.43 shiftコマンド

5.44 shoptコマンド

5.45 suspendコマンド

5.46 testコマンド

5.47 timesコマンド

5.48 trapコマンド

5.49 typeコマンド

5.50 ulimitコマンド

5.51 umaskコマンド

5.52 unsetコマンド

5.53 waitコマンド

第6章 RPMパッケージ管理

Section パッケージについて

6.1 パッケージとは

コラム POSIXとは

6.2 パッケージの特長

Section RPMでパッケージ管理

6.3 RPMパッケージ名

6.4 RPMパッケージの問い合わせ(クエリー)

6.5 RPMパッケージの検証

6.6 RPMパッケージのインストール、削除、アップグレード

6.7 RPMパッケージの署名 2

Section 簡単RPMパッケージ作成

6.8 RPMパッケージ作成の流れ

6.9 環境設定

6.10 シェルスクリプトのtarball化と配置

6.11 specファイルの作成と配置

6.12 rpmbuildコマンドでパッケージ化

6.13 RPMパッケージへの署名

第7章 実用シェルスクリプト

Section ファイル操作編

7.1 ファイル名とファイルサイズを出力する

7.2 空のディレクトリを削除する

7.3 ファイル名の拡張子を変更する

7.4 ファイル名のスペースをアンダーバーに変更する

7.5 圧縮されているファイルを解凍する

7.6 最新のタイムスタンプのファイル10個を出力

7.7 ファイル名を小文字に統一する

7.8 複数の文字コードで書かれたファイルの文字コードを統一する

Section 便利ツール編

7.9 ゴミ箱機能

7.10 キーワードを含むmanページ閲覧

7.11 コマンドの詳細を出力する

7.12 Googleの検索キーワードを指定してFirefoxを起動する

7.13 バックグラウンドジョブをkillする

7.14 画像のサムネイルを作成する

7.15 単位を変更する

Section アカウント管理編

7.16 システムユーザ/一般ユーザ別リスト作成

7.17 グループに属するユーザリスト

7.18 ユーザごとのログイン履歴を作成する

7.19 ユーザの一括登録

7.20 アカウント期限切れのユーザリスト作成

7.21 すべてのユーザをロック/アンロックする

7.22 バックアップ付きユーザ削除

Section システム管理編

7.23 ホームディレクトリ容量の多い上位10ユーザをメールする

7.24 /homeのバックアップ作成

7.25 ファイルとiノードの使用率を検証する

7.26 CPU負荷を検証する

7.27 CPU使用率の高いユーザを特定する

7.28 ハードディスクの不良ブロック検査

7.29 ゾンビプロセスを報告する

7.30 syslogをリアルタイムでフィルタリングする

7.31 アクセスの多いホスト名トップ10を出力

7.32 ネットワークログインしているユーザのリスト作成

7.33 sshサーバへパスワードの入力なしでログインするための設定の自動化

7.34 仮想メモリを自動で追加する

Section ネットワーク編

7.35 pingを自動で実行する

7.36 MACアドレスを調査する

7.37 ログイン中のユーザにメールを送信する

7.38 サーバへ接続してファイルをダウンロードする

7.39 メールサーバへの接続確認

7.40 WEBサーバのベンチマークを検証する

7.41 WEBサーバアクセスのエラー解析

7.42 DNSサーバの検証

コラム キーボードのホームポジション

7.43 ネットワークトラブルの原因を調査する

Section セキュリティ編

7.44 その他のユーザに実行権のあるファイルを検索する

7.45 suを使用せずにrootでログインしたら知らせる

7.46 RPMパッケージの検証結果を比較する

7.47 sshの接続に10回以上失敗したIPアドレスを拒絶する

7.48 SUIDとSGIDがセットされているファイルを毎日比較する

7.49 ファイルの所有者が存在しないUIDの場合移動する

PR

秀和システム