Terminal使いへの道(2) - Finderの様にファイルを開く

前回はとにかくコマンドランチャでコマンドを入力してみる事だけをやりました。

“Terminal使いへの道”と言いつつ、Terminal.appは一切使わずに(^_^;)

 

ということで、今回はちょっとだけTerminal.appを使います。

Terminal.appを使う場合、避けられないのはコマンドを憶えること。
基本的には憶えやすい短いコマンド名になっているのですが、正直逆にわかりづらい事も多々あったり…

その辺りは、ケースバイケースにこの場合はこのコマンド!と身体で覚えるしかないので覚悟を決めてください( ´ ▽ ` )ノ

 

今回はFinderでファイルを探して開く、という動作と同様の事をTerminal.appで実現しましょう。
その為には4つのコマンドを使います。

# ところで、現在のOS-Xだとデフォルトのシェルはbashになっていると思うので、bashであることを前提にしています。zshがいい!とか、tcshじゃないと!という方は多分入門済んでる人だと思うので苦情は受け付けません。

こんな感じでデスクトップに画像ファイル(DSC_0019.jpg)があります。

これをダブルクリックするとPreview.appで画像ファイルが開くわけですが、それと同じ動作をTerminal.appでやってみます。

 

全体像としてはこんな感じなのですが、少しずつ説明してきます。

 

ディレクトリを移動し、現在地を確認する

$ cd ~/Desktop/
$ pwd
/Users/****/Desktop

Finderでは、デスクトップを選択してその内容を表示しています。

選択するだけで内容を表示出来るのは、MacのFinderやWindowsのExplorerなど、ファイルマネージャという種類のアプリケーションが非常に便利なポイントです。

Terminal.appでは、今、何処のディレクトリに居るのか現在地を把握していて、さらに変更したい場合、ディレクトリを移動する必要があります

 

これは便利だから良い or 不便だから駄目、という事ではありません。
ケースバイケースで逆にTerminal.appの方が便利だと思う場合もあります。

これは単にそれぞれのアプリケーションの特性です(´・ω・`)

 

ついでに言うと、Finderでは “デスクトップ” と表示されていて読みやすいのですが、Terminal.appでは “Desktop” となっていて読みづらいという場合があります。

Finder(というかOSだけど)では、システム環境の言語とテキスト設定に従って、適時必要なディレクトリの名前などをローカライズして表示してくれる機能があります。
逆にTerminal.appでは、HDD上の名前をそのまま表示するので、そのまま Desktop という名前になっています。

 

見て直ぐわかりやすいという点では日本語表示の方がいいのですが、実際の名前ではないという点(Finderが変換して表示してくれている)と、Terminal.app上で入力する分には日本語変換などが不要で英語の方がタイピングしやすいので、これもまたそれぞれの特性だと思ってください。

 

pwd - Print Working Directory

順番を変えて先にこちらを紹介しますが、現在地(current working directory)を確認するコマンドです。 見ての通り、Terminal.app上に現在地のディレクトリパス /home/****/Desktop と表示してくれます。

 

先ほど説明した様にTerminal.appではWorking Directoryを意識する必要があるので、それを表示(Print)するのでPrint Working Directoryでpwdです。
CLIのコマンドは結構こんな感じで頭文字などの省略形を使っていることが多いので、そういう物だと思って憶えましょう( ´ ▽ ` )ノ

 

ところで、Terminal.appのタイトルにも同じように現在地が表示されていたりするので、実はわざわざ表示するまでも無かったりw

ただし、先ほど書いた様に、タイトル側では日本語で表示されているので、偶に不便な時があるので要注意です。

 

cd - Change Directory

ということで、最初に出たディレクトリを変更するコマンドになります。

$ cd ~/Des

ココまで打ったところで、Tabキーを押してみてください。

$ cd ~/Desktop/

こんな感じでディレクトリ名を補完してくれる機能があります。

これを活用して行くと、結構深いディレクトリでも、余り手間を掛けずに移動することも可能になります( ´ ▽ ` )ノ

 

ところで、ココでいきなり不思議な ~ という記号が出てきていますが、こいつは…

$ cd ~
$ pwd
/Users/****

デスクトップの一つ上、ホームディレクトリという物に移動する事が出来ます。

 

因みに説明するまでも無いかなと思っていましたが、スクリーンショットで出てきている ks というのは僕のPCでのユーザ名です。他の方は当然別の名前が表示されるので、そこは気にしないでください(^_^;)
これが、各自の環境では皆さんのユーザ名になっているので、説明するときに色々と面倒なのですが…

/home/ks/Desktop/で〜」と説明する代わりに「~/Desktop/で〜」と置き換えて説明&そのままTerminal.appでも入力することが出来る、という非常に便利な記号ですw

 

これをFinderでも確認できて…
「移動」メニューから「ホーム」を選択することで移動するディレクトリがホームディレクトリです。

 

閑話休題。

$ cd ~
$ pwd
/Users/****
$ cd Desktop/
$ pwd
/Users/****/Desktop

最初に紹介した所では ~/Desktop/ と個別に入力していたものを分割して入力してみました。

 

$ cd .
$ pwd
/Users/****/Desktop
$ cd ..
$ pwd
/Users/****
$ cd Desktop/
$ pwd
/Users/****/Desktop

更に特殊記号(?)シリーズで...を。

一つ点の.は現在のディレクトリそのものを、
二つ点の..は一つ上のディレクトリ(Desktopから見てHome)を示します。

これを繰り返す&組み合わせるとDesktop以外のDocumentなどのディレクトリへも自由自在に動ける様になります( ´ ▽ ` )ノ

 

ファイル一覧を確認し、ファイルを開く

ディレクトリの移動と表示が出来る様になったところで、ファイルの操作をしてみましょう。

上ではデスクトップに移動したまでで、ファイルの一覧はわかりませんでした。
そこで、このようにしてファイルの一覧を表示します。

$ ls -1
DSC_0019.jpg
hoge.txt
名称未設定フォルダ/
$ open DSC_0019.jpg

最初に出したFinderの表示例で表示されている内容と、ほとんど同じ内容が表示出来ています( ´ ▽ ` )ノ

 

ls - LiSt directory contents

lsは非常に使用頻度が高いコマンドで、色々とパラメータのオプションも多いので…

今回紹介しきれる量では無いので、次回に回します(^_^;)

 

open - OPEN files and directories

これ、たぶん知らない人多いので知ってるとドヤ顔できますよw

Terminal.appからファイルを「開く」コマンドです。

 

イメージとしては、Finderで選択したファイルをダブルクリックするような物です( ´ ▽ ` )ノ

jpgファイルをダブルクリックするとデフォルトではPreview.appで表示されると思いますが、openコマンドを使っても同様にPreview.appで表示することが出来ます。

 

では「このアプリケーションで開く」の様に出来ないか?

$ open -a Skitch DSC_0019.jpg 

パラメータで開くアプリケーションを指定することが出来ます( ´ ▽ ` )ノ
# ここではSkitchで開く指定をしてみました

 

その他にも、こんな使い方もあります。

$ open ~/Desktop/

ディレクトリ名を指定すると、指定したディレクトリをFinderで開いてくれます。

$ open -R DSC_0019.jpg

ファイルを指定していますが、Rオプションを使うと、その項目を選択した状態のFinderを開いてくれます。

 

逆にFinderからTerminal.appへの連携も出来たりします( ´ ▽ ` )ノ

こんな感じで、Terminal.appにファイルやフォルダをD&Dすると、ファイルパスがTerminal.appに表示されます。

今回の内容だけでは余り意味は無いかもですが、いちいちタイピングしなくても良いという点で結構便利に使えます。

 

ということで、今回はFinderと同じようにファイルを探して開く動作をTerminal.appでやるやり方を紹介しました( ´ ▽ ` )ノ

# ちょっと今回は内容多すぎたorz 次回はファイルをコピーしたり移動したりする方法を紹介します( ´ ▽ ` )

# ちなみに、コレ教えてくれ、というようなお題も同時に募集中ですw