[Terminal | ターミナル] Terminal で Finder の最前面(現在表示中)のディレクトリを開く

2012/02/19

こんにちは。きんくまです。

今回はFinderとTerminalのやりとりです。
Finderで移動していって、そこでターミナル上で作業したいってことがあります。

例えば、Finderで開いているディレクトリ上で git init とかコマンド打ちたいってことがあります。
そんなときに、ターミナルでどうやってそこのディレクトリに移るのかということです。
もちろんcd でパスを書いていくのは基本ですが、面倒くさい。
そこで簡単に移る方法を調べてみました。

いろいろなやり方がありました。3つ紹介します。

1. cdffコマンドを作る

私的に一番おすすめなのが、~/.bash_profileに下記のスクリプトを追加する方法。
cdffとタイプするコマンドを新規作成します。
これを書いた後に、Terminalをログアウトして、もう一回開いてcdffと打ち込めば、
Finderのディレクトリに移っているという!

以下のコマンドを打てば、ログアウトしなくても設定がすぐに反映されて大丈夫です。

source ~/.bash_profile

あ、cdffじゃなくて、自分で好きなコマンド名をつけても全然大丈夫です。

function ff { osascript -e 'tell application "Finder"'\
 -e "if (${1-1} <= (count Finder windows)) then"\
 -e "get POSIX path of (target of window ${1-1} as alias)"\
 -e 'else' -e 'get POSIX path of (desktop as alias)'\
 -e 'end if' -e 'end tell'; };\

function cdff { cd "`ff $@`"; };

各行末に\「バックスラッシュ。日本語だとyenが表示されてる」が入っています。これを入れない場合は、\とそのすぐ後の改行を全て削除して長い1行にしてください。
バックスラッシュはすぐ後の改行をエスケープすることができるので、本来1行で書かなければならないものを、複数行に分けて書くことができます。

全部設定が終わったらターミナル上で cdff とコマンドをうってみます。すると、Finderのディレクトリに移動していることが確認できます!
すげえ!

2. TerminalにFinderのフォルダを直接ドラッグドロップ

この方法はお手軽です。
FinderのフォルダをTerminalに直接ドラッグドロップするとTerminalにパスが表示されます。
これにcdと組み合わせればディレクトリが変更できます。

このあいだディレクトリをFinder上でコピーしたら、ターミナル上でペーストするとパスが表示されたので、こっちの方法でもいいかもしれません。

3. サービスを利用

Lionからはサービスを利用することで、Finder上で右クリックを押すと
・New Terminal at Folder
・New Terminal Tab at Folder
が選べるようになります。

利用するためには、

System Preferences > Keyboard > Keyboard Shortcuts > Services

からそれぞれのチェックボックスにチェックをいれます。

finder_to_terminal_fig1

すると、Finderで右クリックをすると選べるようになります。
ショートカットも設定できるので、一発で開けますね。

finder_to_terminal_fig2

TerminalのカレントディレクトリをFinderで開きたい

まめ知識として、逆のパターンをご紹介。もし、TerminalのカレントディレクトリをFinderで開きたかったら下記のコマンドを入力します。

open .

行末の.「ピリオド」はカレントディレクトリを表します。

■今回の情報元です。どうもです。
osx - Open terminal here in Mac OS finder - Stack Overflow
Switch Terminal dir to frontmost window of certain apps - Mac OS X Hints

クリップボードにパスをコピーしたい

この部分は2014/04/02追記です

ターミナルとか関係なくFinder上で選択しているファイルのパスを、右クリックでクリップボードにコピーしたいとき。
AutomaterのServiceを利用します。

>> Quickly Copy a File or Folder Path to the Clipboard in Mac OS X
(オリジナルの情報もとです。Create a “Copy Path” Service for the Right-Click Menuの段落を参照のこと)

1. Automatorをたちあげて、新しいServiceを作ります
2. 左側からCopy to Clipboardを選択して右側にドラッグしてもっていきます
3. Service recieves selectedをfiles or foldersに設定して、inをFinderにします
4. ファイルを保存します。Copy Pathというような名前など 私はCopy Path to Clipboardとしておきました


自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る