Linuxコマンドブック ビギナーズ 第5版

【最新 – Linuxを学ぶおすすめ本 – 入門から応用までリストアップ!】も確認する

Linux初級者から管理者レベルへ

Linuxを触ったことのない方でも理解できるように、基本的なところから丁寧に説明されています。基礎知識が学べるのはもちろん、コマンドの使い方やシェルスクリプトについても知識を身につけることができます。また、Ubuntu、CentOS、Fedora、Debianにも対応しています。

川口 拓之 (著), 田谷 文彦 (著), 三澤 明 (著)
出版社: SBクリエイティブ (2020/3/19)、出典:出版社HP

はじめに

以前は、コマンドを覚えることはLinuxを扱う上で避けて通ることのできない必須事項でした。現在では、GUI環境が充実し、コマンドを知らなくてもWindowsやmacOSといったOSと同じような扱いやすさでさまざまな作業を行うことが可能となっています。
しかしながら、GUIによる操作は,わかりやすい反面,画面上に見えるものしか扱うことができないという制約があります。対して、コマンドでの操作は、単純な機能を組み合わせることで、高度な機能を実現することができます。一度,コマンドの扱いを覚えると、GUIでは煩雑に感じられた操作がちょっとした工夫で簡単に実現できる楽しさを味わうことができます。また、クラウドコンピューティングが普及してきたことで、サーバー側の操作の際に,コマンドを利用する機会が増えてきたのではないでしょうか。
とはいえ、実際に初級者の方が最初に学ぶにあたって、敷居が高く感じられるのも事実です。本書は、Linuxのコマンドを学ぶ上で感じるとっつきにくさや難しさを少しでも緩和し、自然に身につけることができるように工夫をしています。
そのために、本書では膨大な数のコマンドを機械的に網羅するのではなく、日常的に使っていく上で有用であろうコマンドを選り抜き、使用目的ごとに掲載しています。また、各コマンドの解説を、具体的に試しながら学べる入門ページといつでも引けるリファレンスページに分けていますので,これからLinuxの使い方を覚えたい初級者の方から、リファレンスとして活用したい中級者の方まで、幅広い読者の方に長くご利用いただけるのではないかと考えています。初級者が中級以降へとステップアップし、さらにはシステム管理者になる手がかりとして利用していただけたら幸いです。
最後に、本書を執筆する機会を与えてくださった国立情報学研究所の佐藤一郎教授ならびに、共著者として共に労苦を味わってきた。前田雄一郎氏,伊藤真人氏、小巻賢二郎氏、小野斉大氏,下忠健一氏に感謝いたします。特に、本書の実現にあたって、編集・出版の労をとっていただいたSBクリエイティブの杉山聡氏に厚く御礼申し上げます。
2020年初春
著者一同

川口 拓之 (著), 田谷 文彦 (著), 三澤 明 (著)
出版社: SBクリエイティブ (2020/3/19)、出典:出版社HP

≪本書の読みかた≫

●動作環境について
本書のコマンドは、Ubuntu18.04 LTS,Ubuntu19.10.Fedora31,CentOS 8,Debian10で動作確認を行っています。Ubuntuについては,Ubuntu20.04の開発版でも確認しています。またシェルの内部コマンドはbashを採用しています。実行例や画面は,Ubuntu18.04LTSの表示を優先的に掲載しています。
リファレンスページのパス表記は,Ubuntu19.10,Fedora31,CentOS 8,Debian10のものです。Ubuntuは19.10から多くのコマンドのパスが変わりました。このバスがUbuntu20.04以降にも引き継がれると考えられるため,Ubuntu19.10のパスを表記しています。Ubuntu18.04 LTSでは多くのコマンドが、/usr/bin,/usr/sbinディレクトリではなく/bin,/sbinディレクトリにあります。
一部,標準ではインストールされないコマンドも紹介しています。パッケージなどでインストールが必要です。また,環境設定,コマンドのバージョンによって動作が変わる場合もあります。ご了承ください。

CONTENTS

第1章 Linuxの基本操作
ログイン
デスクトップの基本操作
コマンドの入力
ログアウト
シャットダウン
コマンドとオプション,引数
オンラインマニュアル
ファイルとディレクトリの概念
ファイル、ディレクトリの位置
絶対パス
相対パス
バス表記
ユーザ, グループ、パーミッション
本書を読み進めるにあたって

第2章 ファイルの操作
ロファイル名を表示する (is)
ロディレクトリを作成する (mkdir)
ロファイルの内容を表示する (cat)
ロファイルをコピーする (cp)
ロファイルを移動する (mv)
ロファイル名を変更する (mv,cp)
ロファイルを削除する (rm)
ロファイルの日付を変更する (touch)
ロカレントディレクトリを表示・変更する (pwd,cd)
ロディレクトリを削除する (rmdir,rm)
ロプログラムの存在するパスを表示する (which,whereis)
ロ端末の表示内容を消去する (clear)

第3章 プログラムの管理
ロバックグラウンドで実行する (&)
ロ実行中のプログラムを中断・終了する (Ctrl+ Z, curl+0)
ロ実行中のプログラムを表示する (jobs)
ロフォアグラウンドで実行する (fg)
ロ中断中のプログラムをバックグラウンドで再開する (bg)
ロプロセスの状態を表示する (ps)
ロプログラムを終了させる (kill,killall)
プロセスとは何か
OSによるプロセス管理
プロセスの親子関係
スレッドとプロセスの関係
ユーザによるプロセスの制御
ロ優先度を変更してプログラムを実行する (nice)
ロ特定の時間だけスリープする (sleep)
ロ指定した時刻に定期的にコマンドを実行する (crontab)

第4章 ユーザ・システム情報の表示・変更
ロ現在時刻を表示・変更する (date)
ロカレンダーを表示する(cal)
ロ自分のユーザ情報を表示する(whoami, groups, id)
ロログインしているユーザの情報を表示する (w)
ロパスワードを変更する (passwd)
ロディスク容量・使用量を表示する (df, du)
ロユーザのログイン履歴を表示する (last)
ロシステムの稼働時間を表示する (uptime)
ロシステム情報を表示する (uname)

第5章 高度なファイル操作
ロ長いファイルの内容を表示する (more, less)
ロファイルの先頭部分を表示する (head)
ロファイルの末尾部分を表示する (tail)
ロファイルの行を並べ替える (sort)
ロファイルのユニークな行を表示する (uniq)
ロファイル内の文字列を検索する (grep)
ロテキストファイルの大きさを調べる (WC)
ロ2つのファイルの内容の違いを調べる (diff)
ロファイルの所有者や所属グループを変更する (chown, chgrp)
ロファイルのパーミッションを変更する (chmod)
ロファイルを圧縮・解凍する (gzip, gunzip, bzip2, bunzip2,xz, unxz)
ロ圧縮ファイルを解凍して出力する (zcat, bzcat, xzcat)
ロファイルを格納・展開する (tar)
ロファイルに別名をつける (In)
ロファイルを検索する (find)
ロ日本語ファイルの文字コードを変更する (Nkf)

第6章 コマンドの便利な使い方
・標準入力と標準出力、標準エラー出力
ロコマンドの入出力をファイルに切り替える (<,>,>>,>&)
ロ2つのコマンドを組み合わせる (I,I&)
ロファイルと画面の両方に出力する (tee)
ロ引数を標準入力から与えて実行する (xargs)
ロコマンドを続けて実行する (;)

第7章 シェルとシェルスクリプトを使いこなす
・シェルとは何か?
・コマンドラインを編集する
基本的な操作
単語間のカーソルの操作
・コマンドラインの補完
「Tab]による補完
そのほかの補完機能
・複数のファイルやディレクトリを同時に操作する
“*”による0文字以上の任意の文字列の置換
そのほかのワイルドカード
・過去に実行したコマンドを再利用する
過去のコマンドを再実行する
ロコマンドヒストリを一覧表示する (history)
ロコマンドにエイリアス(別名)をつける (alias, unalias)
ロコマンドのタイプを調べる (type)
・シェル変数と環境変数
シェルの動作のカスタマイズ
ロ変数の値を表示する (echo)
ロシェル変数を表示する (declare)
ロ環境変数を表示する (printen)
ロシェル変数に値を設定する (=, unset)
ロ環境変数として変数を設定する (export, env.)
ロシェルの設定ファイルを読み込む (source)
・シェルスクリプト
シェルスクリプトの作成と実行
ロシェルスクリプトで変数を使う
ロシェルで条件判定する (if, case, [, test)
ロシェルで繰り返し処理をする,繰り返しのための数字の列を作成する (for,seq)
ロシェルでループ処理をする、さまざまな演算をする (while, expr)
ロシェルスクリプトでオプション指定を処理する (getopts)
ロシェルで関数を使う
ロ小数演算を行う (bc)
ロテキストデータを処理する (sed)
ロテキストデータからデータを抜き出す (awk)

第8章 ユーザとシステムの管理
ロスーパーユーザに変身する (su)
ロ別のユーザ権限でコマンドを実行する (sudo)
ロユーザを作成・削除する (useradd, userdel)
ログループを作成・削除する (groupadd, groupdel)
ロユーザやグループの一覧を表示する (getent)
ロシステムメッセージを表示する (dmesg)
ロサービスの設定や状態表示を行う (service, systemctl)
ロシステムを停止・再起動する (shutdown, reboot, poweroff)

第9章 ネットワークを使いこなす
・Linuxでのネットワーク接続
ロあるホストとの接続性を確認する (ping)
ロリモートホストへのパケットの経路を表示する (tracepath, traceroute)
ロホストのIPアドレスやドメイン名を調べる (host)
ロDNS情報を検索する (dig)
ロドメイン情報を取得する (whois)
ロより安全にリモートホストへログインする (ssh)
ロ指定したURLをダウンロードする (wget, curl)
ロファイルを転送する (ftp, Iftp)
ロより安全にファイルを転送する (scp, sftp)
ロネットワークインターフェイスを確認・設定する (ip addr, ifconfig, nmcli)
ロインターネットへの経路を設定する (ip route, route)
ロネットワークのソケット情報や接続状況を表示する (ss, ip link, netstat)
ロネットワークインタフェース上のトラフィックデータを表示する (tcpdump)
ロネットワークサービスを確認する (telnet)

第10章 ファイルシステムを使いこなす
・ファイルシステムとストレージデバイス
・パーティション
ファイルシステムをデバイス上に置く。
ロファイルシステムをマウントする (mount, umount)
ロパーティションを作成する (parted)
ロファイルシステムを初期化する (mkfs)
ロファイルシステムを検査する (fsck)
ロUSBデバイスの情報を調べる (Isusb)

第11章 パッケージのインストール
ロアプリケーションを追加・確認する [Ubuntu, Debian] (apt-get, apt-cache, dpkg)
ロアプリケーションを追加・確認する [Centos, Fedora] (dnf,rpm)

付録
ロテキストファイルを編集する (emacs)
emacsの主なコマンド一覧 (vi, vim)
ロテキストファイルを編集する
viの主なコマンド一覧
ブートローダ
GRUB2の起動画面
シングルユーザモード(読み込み専用)での起動方法
シングルユーザモード(読み書き可)での起動方法

索引

コラム目次
●LinuxのGUI環境
●端末画面のスクロール
●プロセスとジョブについて
●特別なプロセス:デーモン
●パスワードについて
●ハードウェアの情報を確認するコマンド
●正規表現
●ディレクトリのハードリンク数
●デバイスファイル/dev/null
●エスケープシーケンス
●プロンプトを変えるには
●コマンドサーチパスを設定する
●シングルクォーテーションとダブルクォーテーション
●端末上でのクリップボードの利用
●シェルスクリプトに使うシェル
●プログラミング言語としてのsed, awk
●sudoコマンドを使うための設定
●スーパーユーザのパスワードを忘れた場合
●ディレクトリサービスによるユーザ管理
●sshの公開鍵認証について
●論理ボリュームマネージャ(Logical Volume Manager)
●ファイルシステムのスナップショット
●パッケージ化されていないソフトウェアのインストール
●バッファの活用
●仮想化とクラウド

川口 拓之 (著), 田谷 文彦 (著), 三澤 明 (著)
出版社: SBクリエイティブ (2020/3/19)、出典:出版社HP