<エイリアス操作>
最初は「エイリアスってなに?FF7のヒロイン?w」とか思っていましたけど、内容をよく見てみると、案外あっさりした感じの内容でした。
「エイリアスとは既存のコマンドに別の名前を与えること」……以上!
つまりはそういうことですよね。よく使うコマンドで、かなり長いコマンドだと打つのがだるくなってきますよね。そんなときにこのエイリアス操作というものを行って、長いコマンドに対して短くてそのコマンドの意味がすぐわかるような名前を付けることで作業を効率よくおこなうことができる、といったところでしょうね。
このエイリアス操作のコマンドは「alias 新しいコマンド名=長くてめんどいコマンド」で、これによって次回からは新しい名前によってコマンドを実行することができます。イコールの右辺のコマンドが複数の語によって構成されている場合にはシングルクォーテーションでくくる必要があります。このように「エイリアス操作によってどのようなコマンドにたいして、どのような別名が付いているか」をエイリアス定義といい、それは「alias エイリアス名」で確認することができます。エイリアス名はエイリアス操作によってつけられた別名のことです。また、エイリアス定義をすべて見る場合には「alias」を実行することで確認することができます。
エイリアス定義を削除する際にはunaliasというコマンドを使いますが、そのあとに続ける語によって削除するものが変わってきます。まず「指定のエイリアス定義」を記述した場合には、そのエイリアス定義のみが削除されます。また、「-a」というオプションを入れた場合にはすべてのエイリアス定義が削除されてしまいます。
また、エイリアス定義は削除したくはないけど一時的にその定義を無効化させたいときには、そのコマンドの前にバックスラッシュを置くことで、もとの意味でのコマンドとして使うことができます。
既存のエイリアス定義にかぶせるようにして同じ名前を定義することもできますが、……まぁややこしくなるのでやんないほうがいいのではないでしょうかね。
そして、aliasコマンドを使ったエイリアス定義というのはログアウトのたびに定義が自動的に削除され、次にログインした際にはログアウト前に登録したエイリアス定義はなくなっています。「このエイリアス定義は未来永劫残しておきたい!」と思う場合にはエディタ等を使って「.bashrc」というファイルを書き換える必要があります。
<リダイレクト機能>
そもそもリダイレクトとはなんでしょう。
Linuxにおいて「リダイレクトする」とはリダイレクションを行うことを意味し、リダイレクションとは「入出力先を標準のものから自分の意図する先へと変更すること」です。Linuxにおける標準出力はディスプレイ、標準入力はキーボードです。X端末上ではキーボードから入力した文字がちゃんと表示(出力)されます。リダイレクションによりキーボード以外の入力先、そしてディスプレイ以外の出力先を指定し、それに従って入力または出力がなされます。
基本的には「<(入力先の変更)」「>(出力先の変更)」を使います。最初はファイルに対しておこなってみるのが一番かもしれないです。というわけで、出入力の相手はファイルという前提で話を進めていきたいと思います。
リダイレクトは主にechoコマンドとcatコマンドと組み合わせて使われることが多いように感じます。この参考書でもリダイレクトを使う際にはこの2つのコマンドが多く出てきているので。なのでこのコマンドを組み合わせた例として以下に紹介します。
<標準出力のリダイレクト>
1.echo 文字列 > ファイル名
2.echo 文字列 >> ファイル名
3.cat ファイル1 ファイル2 > ファイル名
4.cat ファイル1 ファイル2 1> ファイル名
5.cat ファイル1 ファイル2 2> ファイル名
6.cat ファイル1 ファイル2 &> ファイル名
<標準入力のリダイレクト>
7.cat < ファイル名
8.cat < ファイル名 > ファイル名
1では文字列を指定したファイルに格納し保存するという処理を行います。既存のファイルが指定された場合には内容がすべて新しいものに書き換えられます。なので、文字列を次の行に追加する際には2を使います。
3ではファイル1とファイル2の内容を指定したファイルに格納します。その際に、ファイル1の内容を格納し、その次の行にファイル2の内容が格納されます。4は5と同じ処理を行います。5ではいずれかのファイルのうちエラー出力を出したものは指定したファイルにその内容を格納し、それ以外は標準出力されます。6はエラー出力とそれ以外の出力についても指定のファイルに保存します。
7は指定したファイルの内容を画面出力します。8は指定したファイルの内容を入力とし、もう一方の指定したファイルにその入力を格納します。
3~6については、「>」を「>>」の形にすることで、2のように既存のファイルに文字列の追加をすることができます。
このほかに、あるファイルに格納されている内容と標準入力から受け取った内容を結合させたいときには「cat f – g > ファイル名」というようにします。最初にfという内容がファイル名に格納され、次に標準入力で受け取った文字列を格納し、そのあとにgの内容が追加で格納されます。fまたはgの片方がなくても問題はありません。fとgが両方ないときは標準出力のみがファイルに格納されることになります。
そして、きわめつけの「画面出力されているコマンドライン文字列をすべて、表示されているままファイルに保存する」というのがscriptコマンドによって可能です。
まず「script ファイル名」で「これ以降のコマンドライン文字列をファイルに保存する」処理が開始されます。既存のファイルに追加したい場合にはオプションとして-aを入れます。そして、コマンドライン文字列の保存を終了したい地点に来たときにexitコマンドかCtrl+Dで保存を終了します。
今回もまとめるのに時間がかかりました。
頑張ってまとめる時間を減らしていかないと。
参考及び引用「新Linux/UNIX入門 林晴比古著」