ターミナルでファイル、フォルダを閉じるコマンドは?

タイトルの通りです。
具体的には下記例により開かれたファイル、フォルダを閉じたいのです。
EXAMPLES
"open '/Volumes/Macintosh HD/foo.txt'" opens the document in the default
application for its type (as determined by LaunchServices).
"open '/Volumes/Macintosh HD/Applications/'" opens that directory in the
Finder.
初歩的な質問で恐縮ですが、いざ利用しようとしても探し出せませんでした。
ご教授頂けないでしょうか。

投稿日 2005/10/04 02:07

返信: 15

2005/10/04 04:07 Community User への返信

> 具体的には下記例により開かれたファイル、フォルダを閉じたいのです。
EXAMPLES
"open '/Volumes/Macintosh HD/foo.txt'" opens the document in the default
application for its type (as determined by LaunchServices).

"open '/Volumes/Macintosh HD/Applications/'" opens that directory in the
Finder.
Applicationに作業が移るのでApplicationのclose (quit)を使って下さい。
余談...
man openからExamplesを引用していると思いますがMachtosh\ HDのようにbackslashを入れないと動きません。
open /Applications/TextEdit.app/ 〜/Desktop/hoge.rtf
Appsを指定してdocumentsを開くことが出来ますが指定しないとdefaultsのAppsで開きます。LanuchServicesが壊れていなければ...

2005/10/04 04:22 Community User への返信

ご回答頂き、ありがとうございます。
状況説明が不十分でした。
>Applicationに作業が移るのでApplicationのclose (quit)を使って下さい。
動作中のプロセスは終了させたくないのです。
開いたファイル、フォルダを閉じたいだけなのです。
(別のファイルが共有されている状態なので)
別のコンピュータへログインしてこれらの処理を行いたく、質問させて頂きました。
今までは、VNCを利用していたので、ターミナルでファイル、フォルダを閉じる操作が分からないのです。
openコマンドについては理解しているつもりです。

2005/10/04 04:47 Community User への返信

>man openからExamplesを引用していると思いますが
>Machtosh\ HDのようにbackslashを入れないと動き
>ません。
例示されている path は single quote で囲まれているので
back slash でエスケープする必要はないです。single quote
なり double quote なりで囲まない場合には back slash で
エスケープします。
>open /Applications/TextEdit.app/ 〜/Desktop/hoge.rtf
TextEdit.app で開くのなら -e オプションを付けて
$ open -e 〜/Desktop/hoge.rtf

としてやるだけでいいです。

2005/10/04 04:51 Community User への返信

>今までは、VNCを利用していたので、ターミナルでファイル、フォ
>ルダを閉じる操作が分からないのです。
試したことはないので上手くいくかどうか分かりませんが、osascript
command で AppleScript を呼び出して remote のアプリに閉じさせる
(フォルダは Finder、書類は開いて編集したアプリ)のはどうでしょう?

2005/10/04 05:03 Community User への返信

Xanaduさん
replyありがとうございます。
ご案内頂いた対処法は機会があれば、試させて頂きます。
私はターミナル操作には疎いのですが、単純にファイル、フォルダを閉じる処理ができるものと思い込んでいました。
ターミナル操作のみでは私の求めている処理は無理なのでしょうか?

2005/10/04 05:19 Community User への返信

>単純にファイル、フォルダを閉じる処理ができる
shell 上で vi や emacs 等で開いたファイルなら閉じられますが、
open で Finder や TextEdit などの GUI アプリを呼び出して開か
れたファイルやフォルダは AQUA 環境に移動して開く操作の代用
に過ぎないので、そこから先は shell では関知できないです。や
れるとすれば、osascript で GUI 環境の操作を shell からすること
くらいでしょう。

2005/10/04 06:54 Community User への返信

ターミナルで出来るのは、シェルとの対話だけで、各アプリケーションと対話するには、AppleScriptが必要です。open自体がアプリケーションをスタートできるOSX専用の特殊なターミナルコマンドだと思ってください。
Xanaduさんのコメントにあるosascriptコマンドが同じくOSX専用に用意されてますから、これを使えばターミナルからApplescriptを走らせる事が出来ますので、ターミナル操作のみでも可能といえば可能です。

2005/10/04 10:12 Community User への返信

> 単純にファイル、フォルダを閉じる処理ができるものと思い込んでいました
おやりになりたいことは、ターミナルを使うより、ARA や VNC でやるのが適切なのではないかと思います。
GUI 無しで、ターミナルだけでリモートから出来ることなら、screen という大変便利なコマンドがあります。例えば、リモートから非常に時間のかかる処理をさせたい(大きなファイルのダウンロードとか)ときなど便利です。通常は、ssh でリモートに接続していても、接続を切ってしまえば、そのセッションで立ち上げたプロセスは(親プロセスがなくなるので)終了してしまいます。このため、長時間かかる処理などをさせるときだと、その処理が完了するまで接続しっぱなしにしておく必要があります(基本的には)。でも、screen を使えば、デタッチしてやれば、接続そのものを切断しても、スタートしたプロセスはそのまま実行してくれます。また、リモート端末を変更しても、同じ screen に再接続も出来ますので、別の端末から再接続して、また別の続きの仕事をスタートさせることも出来ます。これを利用すると、例えば、夜中に自宅から職場に接続して、screen でダウンロードを開始させ、デタッチさせて、自宅からの接続は終了する。朝職場に来たときには、ダウンロード完了している、という使い方が出来、大変能率がいいです。
GUI のときには、これほど融通のきく使い方は知らないです。

2005/10/04 21:08 Community User への返信

はにさん
ご回答頂き、ありがとうございます。
man screen を見てもチンプンカンプンでしたので、Google 検索してみたところ便利なコマンドである事が理解できました。
機会があれば、利用させて頂きます。
私が行いたい処理をもう少し具体的に申しますと、現在は ARA や VNCの環境が整っていない状況なので、代わりにターミナル操作で別コンピュータにログインし、共有された特定のファイルのみを閉じて、ファイルの更新ができないかと考えておりました。

2005/10/04 21:57 Community User への返信

Xanaduさんのコメント通り、osacscirptを使えば可能です。
$ osascript -e 'tell app "TextEdit"' -e 'close document "foo.txt"' -e 'end tell'
$ osascript -e 'tell app "Finder"' -e 'close window "Applications"' -e 'end tell'

2005/10/04 22:43 Community User への返信

Y. Kawabeさん
具体的なご指導頂き、ありがとうございます。
動作確認できました、素敵です!
Xanaduさんのコメントをよく理解できていませんでした。
(別のツールが必要かと思っていました、Developer Tools があれば良いのですね!)
重ねて、御礼申し上げます。
ご回答頂いた皆様、ありがとうございました。

2005/10/05 02:50 Community User への返信

日本語のファイル名だとエラーが出ましたが、
ターミナルのウインドウ設定より、ディスプレイを選択し、
文字セットエンコーディングを日本語(Shift JIS)にするとうまく行きました。
> Developer Tools があれば良い
曖昧な情報です。
標準で利用できるのかもしれません。
私の環境ではDeveloperフォルダ配下にヘッダソースファイルが格納されていました。

2005/10/05 08:18 Community User への返信

>日本語のファイル名だとエラーが出ました
もし、開いているウィンドウの順番等がわかっているなら、「docment "xxxx"」のかわりに「window 1」のようにもできます。これなら、ファイル名は関係なくなります。
> Developer Tools があれば良い
osascriptコマンドは標準で入っています(/usr/bin/osascript)ので、Developer Toolは不要です。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ターミナルでファイル、フォルダを閉じるコマンドは?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。