iTAC_Technical_Documents

アイタックソリューションズ株式会社

ブログ名

第8回 CLI環境を使えるようになろう!(後編)

前回の第7回 CLI環境を使えるようになろう!(前編)では、CLI環境の基本的な使い方を学びました。
今回はもう少しCLI環境が使いやすくなるような機能を学んで行きましょう!

便利なコマンド操作

Linuxにはコマンド入力をアシストする機能が用意されています。ここでは、そのいくつかを紹介していきます。

履歴機能

履歴機能とは、以前入力したコマンドを呼び出す機能です。入力したコマンド(オプション含む)を再表示する機能で、例えばコマンド入力中に入力ミスをしてしまい、実行してもエラーになってしまったような場合でも、履歴機能を用いて入力した文字列を再表示すれば、容易に修正することができます。また、同じような操作を繰り返し実行する場合にも履歴機能が役立ちます。
履歴機能はキーボードのカーソルのキーを入力すると以前の履歴を表示し、キーを入力すると現在表示しているものより後の入力履歴を表示します。
例えば、「cat document.txt」を間違えて「cet document.txt」と入力し、Enterキーを押下してしまった場合、catコマンドが実行されずにエラーメッセ―ジが表示されます。再度catコマンドの実行を試みる場合は、キーを1度押下して前の履歴を表示してから、間違った箇所のみを書き換えれば簡単に修正し、実行することができます。

今まで入力したコマンドを一覧表示するにはhistoryコマンドを利用します。 f:id:shizuuuka0202:20191224211537j:plain

f:id:shizuuuka0202:20191224211612j:plain 一覧の左側に表示されている番号は「履歴番号」といい、今まで入力したコマンドごとに番号が割り振られていきます。
この履歴番号を利用してコマンドを実行することも可能です。履歴番号「2」のコマンドを実行する場合は「!」記号の後に履歴番号を指定します。
ただし、履歴番号で指定した場合は、実行するコマンドの確認作業なく、即時実行されるため、注意が必要です。
「!」を用いた履歴機能には次のようなものがあります。

履歴指定 意味
!履歴番号 指定した履歴番号のコマンドを実行する
!- 数 現在から指定した数以前のコマンドを実行する
!! ひとつ前のコマンドを実行する
!文字列 指定した文字列から始まるコマンドで最も直近のコマンドを実行する
!?文字列? 指定した文字列を含むコマンドで最も直近のコマンドを実行する

補完機能

コマンドを補助する機能の一つが「補完機能」です。ユーザが途中まで入力した情報を手掛かりにその後の文字を推測して自動的に補完する機能です。長いファイル名やフルパスでファイルを指定して入力する場合や、コマンドの綴りがうろ覚えだった場合などに役立ちます。
補完機能を利用するにはTabキーを入力します。 例えば、「history」コマンドを入力する時、「hi」まで入力し、Tabキーを押下すると、「story」が補完されます。 f:id:shizuuuka0202:20191224211848j:plain

f:id:shizuuuka0202:20191224211923j:plain 補完候補が複数存在する場合は、ビープ音が鳴り、補完されません。再度Tabキーを押下すると補完一覧が表示されます。
たとえば、「h」と入力し、Tabキーを押下すると、補完されません。 もう一度Tabキーを押下すると、補完一覧が表示されます。 f:id:shizuuuka0202:20191224212044j:plain また、コマンドだけでなく、ファイル名の補完を行うことも可能です。

管理者権限でのコマンド実行

Raspberryのデフォルトユーザpiは一般ユーザで、システムのセキュリティ保護のため実行できる権限を制限されています。
piのような一般ユーザの他に、Linuxには管理者権限を持った特別なユーザ(ルートユーザ、スーパーユーザなどともいう)があります。管理者はシステムやサーバーなどの設定を変更することができます。
例えば、システムのユーザーパスワードが保存されているファイル(etc/shadow)を、一般ユーザー権限で閲覧しようとすると「許可がありません」とエラーが表示され、ファイルの内容が表示できません。
このように権限がなくて利用できないファイルを扱うには、管理者権限への昇格が必要です。
Raspberryで一般ユーザーが管理者権限へ昇格してコマンドを実行するには、sudoコマンドを利用します。sudoの後に管理者で実行したいコマンドを指定します。 f:id:shizuuuka0202:20191224212221j:plain

慣れるまで大変かもしれませんが、CLI環境が使えるようになると様々なシーンでの利用が可能となります。是非使えるようになってください!


参考文献
「これ1冊でできる!ラズベリー・パイ超入門」(株式会社ソーテック社)



次の記事へ

前の記事へ 目次に戻る