補完機能、ヒストリ、エイリアスでコマンドラインの入力を“楽”にしよう:“応用力”をつけるためのLinux再入門(5)(2/2 ページ)
今回は、コマンドラインの入力を楽にするためのテクニックを紹介します。まず、コマンド名やファイル名の入力を省く補完機能、そしてコマンドラインの編集とヒストリ機能です。特に補完機能は重要なのでぜひマスターしてください。
ヒストリ機能でコマンドの履歴を活用しよう
以前入力したコマンドは、上下の矢印キー([↑][↓])または[Ctrl]+[P](Previous)キーと[Ctrl]+[N](Next)キーで呼び出すことができます(画面7)。これが「ヒストリ」と呼ばれる機能です。もちろん、呼び出したコマンドを編集して実行することも可能です。
ヒストリ番号
「history」コマンドでは、過去の入力したコマンドのリストを番号付きで表示することができます(画面8)。表示が多過ぎて流れていってしまう場合は、「more」コマンドを使って「history | more」と実行し、1画面ずつ停止しながら表示するとよいでしょう。
例えば、画面8の7番目のコマンド(ip addr show)をもう1度実行したい場合は、「!7」と入力します。また、「!!」で直前のコマンドを呼び出すことができます。
ヒストリ番号とコマンドを組み合わせることも可能です。例えば、画面8の4番目のコマンドが「chsh」の場合は、「!4 -l」で「chsh -l」コマンドが実行されます。
エイリアスで長いコマンドに別名を付けよう
コマンドには「エイリアス」と呼ばれる“別名”を付けることができます。よく使うオプションの組み合わせや、すぐ忘れてしまうコマンドには、自分が分かりやすい名前を付けておくと便利です。
例えば、ディスクの使用量を調べる場合は「df」コマンドを使いますが、読みやすい単位で表示したいので「-h」オプションを付ける、さらに一時ファイルは除外したいので「-x tmpfs」オプション、ローカルのファイルのみを対象にしたいので「-l」オプション……といった指定を毎回するのが面倒ならば、「df -h -x tmpfs -l」に「diskspace」という別名を付けておきます。
具体的には、「alias diskspace="df -h -x tmpfs -l"」のように、「alias」コマンドで「diskspace+オプション」のエイリアスを設定します(画面9)。
エイリアスを設定する
alias 別名="コマンド オプション オプション……"
別名に長い名前を付けることに違和感があるかもしれませんが、実際はコマンド名を補完できるので、「disk」+[Tab]キーで実行できます。従って、別名は、“分かりやすく”かつ“補完しやすい名前”で付けることがポイントになります。
エイリアスを試してみる際は、まずはコマンドラインでいろいろなオプションを付けてみて、気に入った組み合わせができたらヒストリ機能で呼び出し、「alias="」と「"」を入力する、という手順で操作するとミスタイプを減らすことができます。
エイリアスを確認するには
設定済みのエイリアスは「alias」コマンドで確認できます(画面10)。
定義したエイリアスを削除したい場合は、「unalias」コマンドで「unalias 別名」と指定して実行します。例えば、先ほどの「diskspace」のエイリアスを削除するには、「unalias diskspace」と実行します。
エイリアスを削除する
unalias 別名
エイリアスを保存するには
いつも使いたいエイリアスは、bashの設定ファイルで定義しておきましょう。具体的には、ホームディレクトリにある「.bashrc」というファイルに、コマンドラインで入力した通りの内容を記述しておきます(画面11)。
設定ファイルはテキストエディタで編集できますが、名前が「.」から始まるファイルは標準の状態では表示されないため、デスクトップの「ファイル」から開くことができません。そこで今回は、コマンドラインでファイル名を指定して開く方法を紹介します。
例えば、CentOS 7(GNOME Desktop)には、「gedit」というテキストエディタが搭載されています。そこで、コマンドラインで「gedit ~/.bashrc」のようにファイル名を指定しながら起動します。「geditというコマンドで、ホームディレクトリにある.bashrcというファイルを開く」という意味になります。これで、「.bashrc」ファイルを編集することができます。
bashの設定ファイルやGUIツールを使わずにテキストファイルを編集する方法については、今後取り上げていきます。
- シェルスクリプトに挑戦しよう(20)オプションの処理[その2]――長いオプション
- シェルスクリプトに挑戦しよう(19)オプションの処理[その1]
- シェルスクリプトに挑戦しよう(18)連想配列
- シェルスクリプトに挑戦しよう(17)配列[応用編]
- シェルスクリプトに挑戦しよう(16)配列[基本編]
- シェルスクリプトに挑戦しよう(15)繰り返し処理の中断
- シェルスクリプトに挑戦しよう(14)制御構文[その6]――while/untilによる繰り返し処理
- シェルスクリプトに挑戦しよう(13)制御構文[その5]――forによる繰り返し処理(3)
- シェルスクリプトに挑戦しよう(12)制御構文[その4]――forによる繰り返し処理(2)
- シェルスクリプトに挑戦しよう(11)制御構文[その3]――forによる繰り返し処理(1)
- シェルスクリプトに挑戦しよう(10)「read」コマンドでキーボードからの入力を受け取る
- シェルスクリプトに挑戦しよう(9)制御構文[その2]――caseによる条件分岐
- シェルスクリプトに挑戦しよう(8)条件の書き方
- シェルスクリプトに挑戦しよう(7)制御構文[その1]――ifによる条件分岐
- シェルスクリプトに挑戦しよう(6)スクリプトで引数を使用する[その2]
- シェルスクリプトに挑戦しよう(5)スクリプトで引数を使用する[その1]
- シェルスクリプトに挑戦しよう(4)変数の定義と参照
- シェルスクリプトに挑戦しよう(3)改行/空白/引用符のルール
- シェルスクリプトに挑戦しよう(2)Windows 10のbashを試す!
- シェルスクリプトに挑戦しよう(1)準備編
- Linuxの定番テキストエディタ「vi」をマスターしよう(3)編集と置き換え/チュートリアル編
- Linuxの定番テキストエディタ「vi」をマスターしよう(2)検索/オプション活用編
- Linuxの定番テキストエディタ「vi」をマスターしよう(1)基本操作編
- 「シグナル」を送ってみよう
- Linuxの「シグナル」って何だろう?
- Linuxの「ジョブコントロール」をマスターしよう
- Linuxの「ジョブ」って何だろう?
- Linuxの「プロセス」って何だろう?
- 「SUID(セットユーザーID)」属性の効果を試してみよう
- 「共有ディレクトリ」を作成してパーミッション(許可属性)への理解を深めよう
- Linuxのユーザーとグループって何だろう?
- 「ls -l」コマンドの表示からファイルの属性を理解しよう
- PATHを理解して、コマンドの在りかを探してみよう
- Linuxのディレクトリに親しもう
- パイプとリダイレクトでコマンドを組み合わせて実行しよう
- 補完機能、ヒストリ、エイリアスでコマンドラインの入力を“楽”にしよう
- Linuxのシェルとコマンドプロンプトを理解しよう
- LinuxのCUIとGUI、デスクトップ環境を理解しよう
- VirtualBoxでLinuxのテスト環境を作ってみよう
- いまさら聞けないLinuxの基礎知識
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N・PC-486DXからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.