著者:三宅 英明[みやけ・ひであき] "Webアプリケーションプログラマ"。
著者:大角 祐介[おおすみ・ゆうすけ] 科学写真家、ITエンジニア。
装丁:大島 恵里子[おおしま・えりこ] 装丁家。
組版:三門 克二[みかど・かつじ] (株)コアスタジオ。
編集:平山 直克[ひらやま・なおかつ] (株)SBクリエイティブ テクニカル書籍編集部 編集長。
NDC:007.634
NDC:549.864
【目次】
はじめに(2015年5月 三宅英明 大角祐介) [iii]
サンプルファイルのダウンロード [iv]
Contents [v-xiv]
Chapter 01 Linuxを使ってみよう
01 Linuxとは
Linuxの特長
Linuxの欠点
02 Linux環境を用意する
ディストリビューションとは
仮想化ソフトウェアでのLinux環境
Oracle VM VirtualBoxのインストール
CentOSのイメージファイルのダウンロード
VirtualBoxで仮想マシンを作成
CentOS 7のインストール
03 ログイン、ログアウト、シャットダウン
ログイン
GUIとCLI
ログアウト
シャットダウン
Chapter 02 シェルって何だろう?
01 シェルとコマンド
エラーについて
シェルの役割とLinuxカーネル
なぜカーネルとシェルが分かれているのか
02 プロンプト
プロンプト記号
ログインシェル
対話型操作とシェルスクリプト
03 シェルの種類
sh
csh
bash
tcsh
zsh
04 どのシェルを選ぶか
シェルを一時的に切り替える
05 ターミナルとは
ターミナルとシェル
Chapter 03 シェルの便利な機能
01 コマンドラインの編集
カーソルの移動
コントロールキーの使い方
行頭・行末へのカーソル移動
単語単位でのカーソル移動
文字の削除
カットとヤンク
02 トラブル時には
キーボードからの操作を一切受け付けない
コマンドが終了せず、プロンプトが返ってこない
プロンプトが文字化けしている
03 補完機能
04 コマンド履歴
コマンド履歴の検索
Chapter 04 ファイルとディレクトリ
01 Linuxはファイルからできている
ディレクトリとは
02 Linuxのディレクトリ構造
パス
Windowsとの違い
各ディレクトリの役割
カレントディレクトリとpwd
03 絶対パスと相対パス
絶対パス
相対パス
04 ディレクトリの移動
カレントディレクトリとcdコマンド
Tabキーによるパスの補完
ホームディレクトリとチルダ展開
05 lsコマンド * と ? lsコマンドのオプション
06 コマンドのオプションについて
オプション指定の基本
引数を取るオプション
ロングオプション
Chapter 05 ファイル操作の基本
01 mkdirコマンド――ディレクトリを作成する
深いディレクトリを一気に作成する
02 touchコマンド――ファイルを作成する
03 rmとrmdirコマンド――ファイル・ディレクトリを削除する
複数ファイルの削除
ディレクトリの削除
削除前の確認
空のディレクトリを削除する
04 catコマンド――ファイルを表示する
ファイルを連結して表示する
行番号を表示する
ファイルを指定しない場合
05 lessコマンド ――スクロール表示する
ファイル内の検索
06 cpコマンド ――ファイル/ディレクトリをコピーする
コピーの際に、上書き確認をする
ディレクトリのコピー
07 mvコマンド ――ファイルを移動する
08 lnコマンド ――リンクを張る
リンクとは
ハードリンク
シンボリックリンク
リンクの利用方法
Chapter 06 探す、調べる
01 ファイルを探す
findコマンド ―― ディレクトリツリーからファイルを探す
locateコマンド ―― ファイル名データベースからファイルを探す
02 コマンドの使い方を調べる―― helpオプション
manコマンド ―― マニュアルを表示する
03 コマンドを探す
whichコマンド ―― コマンドのフルパスを表示する
04 日本語ドキュメントと英語ドキュメント
Chapter 07 テキストエディタ
01 テキストファイルとバイナリファイル
02 Vim ――デフォルトのエディタ
Vimのインストール
起動と終了
03 ファイルを開く/保存する
キー入力の注意
ファイルを開く
ファイルの保存
04 Vimの編集操作
カーソルの移動
文字の削除
文字の入力
05 便利なカーソル移動
単語単位でのカーソル移動
行頭/行末への移動
行番号での移動
06 カット、コピー、ペースト
デリート プット
ヤンク コマンドの組み合わせ
07 その他の操作
下の行と連結する
アンドゥ(元に戻す)とリドゥ(やり直し)
08 検索と置換
検索
置換
09 ヘルプとドキュメント
Chapter 08 bashの設定
01 エイリアス
エイリアスの確認と削除
エイリアスを一時的に無効にする
02 bashのオプション
setコマンド
shoptコマンド
03 シェル変数
変数の設定
PS1 ―― プロンプト設定
PATH ―― コマンド検索パス
LANG ―― ロケール
その他のシェル変数
04 環境変数
printenvコマンド ―― 環境変数の表示
exportコマンド ―― 環境変数の設定
05 bashの設定ファイル
/etc/profile、 ̃/.bash_profile、 ̃/.bashrc
設定ファイルの変更時の注意
設定ファイルの読み込み
コメント
bashのカスタマイズ例
Chapter 09 ファイルパーミッション、スーパーユーザ
01 ファイルのオーナーとグループ グループ
02 ファイルのパーミッション
ディレクトリのパーミッション
chmodコマンド ―― ファイルモードを変更する
03 スーパーユーザ
suコマンド ―― ユーザを変更する
sudoコマンド ―― コマンドを別のユーザとして実行する
suとsudoのどちらを使うか
Chapter 10 プロセスとジョブ
01 プロセスとは
psコマンド ―― プロセスの表示
02 ジョブとは
コマンドを一時停止する
fgコマンド ―― ジョブをフォアグラウンドにする
bgコマンド ―― ジョブをバックグラウンドにする
ジョブの状態遷移
03 ジョブ・プロセスの終了
ジョブの終了
プロセスの終了
killコマンド ―― シグナルを送信する
Chapter 11 標準入出力とパイプライン
01 標準入力、標準出力、標準エラー出力
02 リダイレクト
標準入力のリダイレクト
標準出力のリダイレクト
標準エラー出力
標準出力と標準エラー出力をまとめる
リダイレクトによる上書き
/dev/null
03 パイプライン
04 フィルタ
フィルタの例 ―― headコマンド
代表的なフィルタコマンド
コマンド組み合わせの例
Chapter 12 テキスト処理
01 wcコマンド ――バイト数・単語数・行数を数える
02 sortコマンド ――行を並べ替える
数値順にソート(-n)
逆順にソート(-r)
03 uniqコマンド――重複行を取り除く
重複行を数える
04 cutコマンド――入力の一部を切り出す
05 trコマンド――文字を変換・削除する
ファイル指定の注意
文字の削除
06 tailコマンド――末尾部分を表示する
ファイルへの追記を監視する
07 diffコマンド――差分を表示する
ユニファイド出力形式
差分の使い方とパッチ
Chapter 13 正規表現
01 grepコマンドと正規表現
正規表現って何?
02 文字にマッチするメタ文字
特定の文字を指定する
03 位置にマッチするメタ文字
04 繰り返しを指定するメタ文字
拡張正規表現とは
拡張正規表現による繰り返し回数の指定
繰り返し回数の指定をするメタ文字
05 その他のメタ文字
06 正規表現の利用
Chapter 14 高度なテキスト処理
01 sedコマンド ――ストリームエディタ
非対話型エディタとは
sedコマンドの形式
行を削除する
行を表示する
行を置換する
02 awkコマンド ――パターン検索・処理言語
awkコマンドの形式
printとフィールド変数
パターンの指定
アクションの省略
実践例 ―― CSVファイルからスコア集計
Chapter 15 シェルスクリプトを書こう 257
01 シェルスクリプトとは 258
02 シェルの選択 259
どのシェルのシェルスクリプトを書くべきか
03 シェルスクリプトを作成する 260
04 シェルスクリプトの実行形式 262
シバン
sourceコマンド - ファイルからコマンドを読み込んで実行する
実行方法による違い
05 シェルスクリプトを配置する 268
自分のシェルスクリプト置き場を作る
sourceコマンドとパス
Chapter 16 シェルスクリプトの基礎知識 273
01 シェルスクリプトの基本 274
シェルスクリプトの行
コメント
02 変数 277
変数の書き方の注意
03 クォーティング 280
クォート中の変数展開
04 コマンド置換 281
05 位置パラメータ 283
引数の個数
引数全体の参照
06 制御構造 286
if文
testコマンドと演算子
for文
case文
while文
07 シェル関数 307
シェル関数内での位置パラメータ
シェル関数の終了ステータス
Chapter 17 シェルスクリプトを活用しよう 311
01 シェルスクリプトの活用 312
シェルスクリプトの欠点
02 演習1 ――日記を書くためのシェルスクリプト 313
03 演習2 ――指定したパス配下のファイル一覧表示 315
はじめの一歩
local - 変数の有効範囲
再帰 - 自分自身を呼び出す
絶対パス表記からファイル名を取り出す
インデント
IFS - 内部フィールド区切り文字
04 演習3 ――検索コマンド 327
xargsコマンド - 標準入力からコマンドラインを組み立てて実行する
指定できる項目を増やして実用的に
ヘルプの表示
エラーメッセージの表示
Chapter 18 アーカイブと圧縮 339
01 アーカイブファイルと圧縮ファイル 340
02 tarコマンド ーファイルをアーカイブする 340
練習用ファイルの準備
アーカイブファイルの作成
アーカイブファイルの内容確認
アーカイブの展開
ファイルリストを表示するvオプション
ファイル属性の保持
03 gzipコマンド ――ファイルを圧縮する 346
標準出力にgzipファイルを出力
tarとgzipを組み合わせる
04 bzip2コマンド ――ファイルを圧縮する 350
tarとbzip2を組み合わせる
その他の圧縮形式
05 zipコマンド ――ファイルをアーカイブ・圧縮する 352
zipファイルの作成
パスワード付きzipファイル
Chapter 19 バージョン管理システム 357
01 バージョン管理システムとは 358
02 Gitのインストールと初期設定 359
Gitの初期設定
03 基本的な使い方 361
リポジトリの作成
リポジトリにファイルを追加する
差分の表示と再コミット
変更の履歴を確認する
04 ワークツリーとインデックス 369
05 コミットの単位とインデックス 372
06 誤りから復旧する 373
ワークツリーに対する誤りからの復旧
誤ったコミットの復旧
07 ブランチを使う 374
08 リポジトリのバックアップを作成する 380
09 2人以上で作業する 383
共有のリポジトリを作成する
10 競合を解決する 387
11 Gitのマニュアル 389
Chapter 20 ソフトウェアパッケージ 391
01 パッケージとリポジトリ 392
02 yumコマンド ――パッケージ管理(Centos) 393
基本的な使い方
パッケージのインストール
パッケージ間の依存性
パッケージの削除
パッケージを探す
パッケージの情報表示
03 aptによるパッケージ管理(Ubuntu) 399
基本的な使い方
パッケージのインストール
パッケージ間の依存性
パッケージの削除
パッケージを探す
パッケージの情報表示
Appendix
01 リモートログインとSSH 406
SSH
VirtualBoxとssh接続
02 infoドキュメントを読む 410
infoドキュメント形式
ノードの移動
スクロール
リンク(参照)
03 Linuxでの日本語入力について 418
04 参考文献 420
INDEX [421-425]