LinuCレベル1 Version 4.0 101試験の例題と解説
103.1コマンドラインの操作
今回は、LinuC 101試験の試験範囲から「103.1 コマンドラインの操作」についての例題を解いてみます。bashシェルのコマンドラインでの対話的操作について、試験範囲を確認しておきましょう。
Linucレベル1 Version 4.0 101試験 出題範囲
例題
コマンドの実行履歴を表示・編集できるhistoryコマンドや、履歴ファイル「.bash_history」についての説明が、正しいものを以下の選択肢から2つ選んでください。
- 「history 10」を実行すると、過去10回分のコマンド履歴が表示される。
- 「history -d 10」を実行すると、過去10回分のコマンド履歴が履歴リストから削除される。
- 「history -c -w ~/.bash_history」を実行すると、bashセッションを開始してからまだ履歴ファイル「.bash_history」に書き込まれていない履歴リストが「~/.bash_history」ファイルに追記される。
- 「history -r ~/.bash_history」を実行すると、現在のbashセッションの履歴リストに直近の履歴として、「~/.bash_history」ファイルの内容が追加される。
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「1.」と「4.」です。
history コマンドは、bashシェルの組み込みコマンドです。bashセッションを開始すると、最初にHISTFILE変数が示すファイル(デフォルトは「~/.bash_history」)の内容で履歴リストを初期化します。その後、ユーザがコマンドを実行すると、そのコマンド入力の内容が履歴リストに追加されていきます。
historyコマンドを用いることで、bashセッションの履歴リストの表示・編集や、履歴ファイル「~/.bash_history」の追記、クリアなどの操作が可能です。
historyコマンドの主な構文は以下の通りです。
history [件数]
現在のbashセッションの履歴リストからすべての履歴を標準出力に表示します。さらに[件数]を指定すると、直近の[件数] 個の履歴を標準出力に表示します。
history -c
現在のbashセッションの履歴リストから、すべての履歴を削除します。「-w FILE_NAME」オプションと併用すると、指定した履歴ファイルの内容をすべて削除します。
history -d <行番号>
現在のbashセッションの履歴リストから、対応する<行番号>の履歴を削除します。
history -a FILE_NAME
bash起動時に履歴リストが初期化されて以降に実行されたコマンドの履歴を、FILE_NAMEに指定した履歴ファイルに追記します。
history -r FILE_NAME
現在のbashセッションの履歴リストに直近の履歴として、「FILE_NAME」ファイルの内容が追加されます。
history -w FILE_NAME
現在のbashセッションの履歴リストの内容が、「FILE_NAME」ファイルに上書き保存されます。
history -s <文字列>
現在のbashセッションの履歴リストに<文字列>を追加します。
選択肢を一つ一つ解説します。
1. 「history 10」を実行すると、過去10回分のコマンド履歴が表示される。
正解です。
2. 「history -d 10」を実行すると、過去10回分のコマンド履歴が履歴リストから削除される。
誤りです。「history -d 10」を実行すると、履歴リストの10行目の履歴が履歴リストから削除されます。
3. 「history -c -w ~/.bash_history」を実行すると、bashセッションを開始してからまだ履歴ファイル「.bash_history」に書き込まれていない履歴リストが「~/.bash_history」ファイルに追記される。
誤りです。「history -c -w ~/.bash_history」を実行すると、履歴ファイル「~/.bash_history」の内容をすべて削除します。
4. 「history -r ~/.bash_history」を実行すると、現在のbashセッションの履歴リストに直近の履歴として、「~/.bash_history」ファイルの内容が追加される。
正解です。
例題作成者
株式会社デージーネット OSS研究室 後藤 慎司