はじめてのUNIXコマンド②

こんにちは。データ分析部の GO です。
前回から間が空いてしまいましたが、『はじめての UNIX コマンド』シリーズの第2回目です。今回は具体的なコマンドの前に基礎の基礎についてふれておきたいと思います。


unix02_title01.png

まず、Windows 環境で UNIX コマンドを使うには Cygwin を起動します。起動すると以下のようなウィンドウが開きます。



前回お話ししたように UNIX では基本的にすべての操作をコマンド入力で行います。 Cygwin を起動した状態では、インストール時に設定したホームディレクトリが現在位置(カレントディレクトリ)になりますが、ウィンドウには何も表示されていないので普段 Windows に慣れている方はちょっと理解に苦しむかもしれません 。

上図のなかで



と言う表示がありますが、これは次のような意味があります。



ディレクトリを移動した場合、黄色の文字の部分が変化します。


unix02_title02.png

では、まずディレクトリを移動してみましょう。くどいようですが、ディレクトリの移動ひとつとってもコマンド入力で行います。ディレクトリの移動には cd コマンドを用います。cd は「Change Directory」に由来します。

たとえば、D ドライブ直下の sample フォルダに移動する場合は次のようなコマンドになります。



上記のようにドライブから指定して移動する際には「/cygdrive/」から始めますが、カレントディレクトリより下の階層に移動する場合には省略可能です。たとえば、sample ディレクトリの直下の test ディレクトリが存在する場合の移動コマンドは



となります。

また、移動先のディレクトリ名はすべてタイプする必要はありません。先ほどの test ディレクトリに移動するケースを例にしてみると、「t」のみ入力して Tab キーを押すと、移動先ディレクトリ名称が自動で表示されます。




以下のように小文字「t」から始まるディレクトリが複数ある場合には、



Tab キーを使うと以下のように移動先ディレクトリの候補が表示されます。



さらに、コマンド入力しなくても移動先を入力することが出来ます。
「cd 」まで入力し、その後は移動したいディレクトリをドラッグして Cygwin ウィンドウにドロップすることで対応が可能です。



この方法は長いディレクトリパスを打つ必要がなくなるのでオススメです。基本である移動コマンドを覚えたので、次はディレクトリの内容を確認するコマンドを習得しましょう。


unix02_title03.png

ディレクトリ内のディレクトリ・ファイルを表示するには ls コマンドを用います。ls は「list」に由来しています。

先ほど作成した test ディレクトリに適当なテキストファイルを格納して、Cygwin のウィンドウに ls を入力して Enter キーを押してみましょう。



test ディレクトリの中には data.txt ファイルがあるということを返してくれます。このように ls コマンドでディレクトリ内の様子をうかがうことが出来ます。

ls の後ろに引数としてディレクトリパスを付加すると、関連とディレクトリでなくても特定のディレクトリの内容を一覧することが出来ます。



上記はカレントディレクトリが【D:¥sample¥test】の状態で一階層上の【D:¥sample】内の内容を表示しています。

さらに、コマンドの多くにはオプションが存在しており、ケースバイケースでこれらを使いこなせると非常に便利です。

たとえば、-l オプションを用いると、



このようにディレクトリやファイルのサイズや所有者、アクセス権限などの詳細情報の確認が出来ます。



そのほかにも ls コマンドのオプションで比較的よく使うものには以下のようなものがあります。



cd コマンドと並んで ls コマンドも UNIX における最も基本的なコマンドのひとつだと言えます。上表のようにオプションがたくさん存在するので、初めての方は敷居が高いと感じるかもしれません。初めから全部を覚えようとすると難しく感じますが、まずは UNIX コマンドを使う上で必要最低限の内容だけ使って覚えるようにしていくと、習得しやすいと思います。



unix02_title04.png

基本コマンドの cd と ls コマンドについて書きましたが、基本操作には影響しないけれど知っておくと結構便利な cal コマンドをおまけ的にご紹介します。

cal コマンドはカレンダーを表示するコマンドです(コマンドの由来は多分 Calendar かと思われます)。集計業務を過去さかのぼって行うことがあるのですが、その際にある日が何曜日だったか、何週目だったかなどを調べなければならないことがあります。そんな時、Windows ユーザーならば画面右下の時間表示部分をクリックして調べたり、Web上で調べたりすることが多いと思いますが、UNIX コマンドが使えれば一発で調べられるのです。

(※ cal コマンドを利用するには Cygwin インストール時に util-linux パッケージをあわせてインストールしておく必要があります)

cal コマンドを実行すると



このように、現在月のカレンダーを表示してくれます。

引数は「月」「年」の順に指定することが出来、例えば2014年1月を調べたい際には



とすると、希望の月のカレンダーが表示されます。

-y オプションを付加すると、その年のカレンダーをすべて表示することが出来ます。



分析のためのデータ加工・集計には直接役立つものではないですが、このようなちょっとした便利コマンドを覚えて使えるだけでも、UNIX コマンドに慣れ親しむきっかけになるのではないかと思います。

次回は、もう少しデータ加工・集計に直接的に使えるコマンドを紹介したいと思います。

カテゴリー: データ加工 パーマリンク