今までずっとWindowsを使ってきたのですが最近MACを買って、今はMACのことを勉強中です。OSはTigerです。
そこで質問なのですが、MACはOSXになってDarwinというUNIXベースのOSになったというのを知りました。
ですが僕がUNIX関連の本を読んだときに、UNIXにはWIndowsのような拡張子は存在しないみたいなことが書いてありました。
.txtみたいなファイル名はつけられるけど、それはあくまでただのファイル名の一部として認識されるだけだと書いてあったような気がします。
でもMACをつかっていると.dmgのような拡張子がついていますし、以前のMACは拡張子がいらなかったけれど、今のOSXでは拡張子が必要みたいなことが書かれていました。
なぜUNIXベースなのに拡張子で関連付けをしてるのでしょうか??
またUNIXの場合、本来拡張子を付けずにどうやってファイルとアプリの関連付けを行っているのでしょうか?
ファイルにそれを開くアプリケーションの情報を目に見えない形で書き込んであるのでしょうか?
以上の2点です。
お願いします。
No.1ベストアンサー
- 回答日時:
UNIX に拡張子がないというのは正しい理解ではなく、拡張子とシステムが密接に結びついていないという方が正しいかと思います。
Windows では拡張子に対してアプリケーションが対応付けられているため、特定の拡張子のファイルを「開く」と、そのアプリが起動していなくても、Windows システムがアプリを起動してくれます。そして、アプリにそのファイルを渡してくれます(ファイル→アプリの順)。
UNIX の場合(コマンドライン)では、利用者が明示的にアプリケーションを指定して、その引数としてファイルを渡します(アプリ→ファイルの順)。この場合、システムではなく利用者がアプリもファイルもどちらも指定するので、システム自体が拡張子を意識する必要はありません。しかし、利用者としては意識する必要があるために、慣習的に拡張子をつけています。例えば、tar コマンドで扱うアーカイブファイルは .tar 、gzip コマンドで圧縮したファイルは .gz という感じです。
Mac OS X はベースとしては UNIX ですので、code2501 さんが書いてらっしゃる通り、本来であれば明示的な拡張子の概念は不要です。しかし、Windows や Mac のようなグラフィカルなユーザインタフェースを用いる OS の場合、一般的にファイルを取り扱うには、アプリ→ファイルの順だけでなく、ファイル→アプリの順で使えることが必要になります。その為に、Windows 同様に拡張子によってファイル→アプリの順で取り扱える必要がでてくるのですね。
以前の Mac では、拡張子とは異なる「ファイル→アプリ」を導き出す方法として、リソースフォークと呼ばれるデータをファイルに含ませることで、結果として同じ効果を得ていたそうです(当時の Mac については詳しくないので、間違いがあったらどなたかご指摘ください)。
なお、UNIX の場合、利用者の便のために拡張子をつけるということで、あるファイルに拡張子を付け忘れたりした場合に、そのファイルがどのアプリ用なのかが判らなくなることがあります。そういう場合でも、ファイルの特徴(ファイルの先頭にどのようなデータが含まれているか等)を /etc/magic というデータベースに記録することで、当該ファイルがどのアプリ用のものなのかを調べることができます。"file" というコマンドですので、もし Linux 等の UNIX 系 OS をお使いになれるのでしたら、実際に試してみてください。Mac OS X でも Terminal から file コマンドが使えるかもしれません(自分は試したことがないので、なかったらスミマセン)。
さっそくの回答ありがとうございます。
たいへんわかりやすい説明でした。
たしかにunixの場合は vi file1.txt のようにアプリ→ファイルの順でどちらも利用者が指定する形になっていますね。
それと同時にcatコマンドで中身を見ることはできても file1 開く のようなやり方は確かにCUI環境ではやらないですよね。
言われてみればなるほどそうか!という感じです。
一方GUIの環境ではわざわざwordを開いてからファイルを開くということをしなくてもwordファイルをダブルクリックすればwordも文章も開けますものね。だからunixベースのMacもそういうことができるように手を加えてあるのですね。
あとファイルの拡張子を消してもfileコマンドでMacのターミナルからファイルの種類がわかりました。
またひとつ知識が深くなったような気がします。
ありがとうございます。
ただunixの場合でも file1 開くのような動作は行えないものなんでしょうか?
あとよろしければターミナルのコマンドからiTunesの曲を聞くやり方なども教えていただけないでしょうか?
そんなのGUIでやったほうが早いだろと言われればその通りなのですがunixのことも勉強したいのでお願いします。
No.2
- 回答日時:
> ただunixの場合でも file1 開くのような動作は行えないものなんでしょうか?
> あとよろしければターミナルのコマンドからiTunesの曲を聞くやり方なども教えていただけないでしょうか?
「open (ファイルパス)」で開けますが?
ありがとうございます。
unixについて基本的なコマンドのことがまだわかってなかったみたいで。お恥ずかしい。。
ただまた疑問がでてきちゃいました。
harawoさんのおっしゃるようにopenでiTunesのm4pファイルを開けましたが、そのときopen ファイル名.m4p でiTunesが勝手に立ち上がり、曲が再生されました。
前の回答でunixの拡張子は利用者がどのファイルかわからなくならないようにメモしておくくらいの感じのものだと理解したのですが、open ファイル名 ではどのアプリで開くか指定していないのにiTunesで普通に開けるのはやっぱり拡張子がどのアプリで開くかを指定しているのでしょうか?
それともこれはGUI環境で使うのを前提にしているMac独自の機能なのでしょか?
No.3
- 回答日時:
Macは『リソースフォーク』と『データフォーク』をデータが持っています。
このデータベースはOS9では『ディスクトップファイル』に記録されています。
OSXでは不可視のファイルに記録されています。
ですからWindowsのファイル管理の様に『拡張子』の概念は有りません。
開く時にMacは『書類のリソースフォーク』を見てアプリを選択します。
Windowsはアプリから開かないと、同じ拡張子の違う書類を開く
可能性が有りますね。
*次期のWindowsではMacの様にデータベースを作る様です。
ありがとうございます。
そのへんはunixとはちがうやり方でファイルと関連づけをしてるんですね。
ただ.jpgのファイルの拡張子を.mpgに変えたら、プレビューで開いたファイルがQuickTimeで開くようになりました。
これは拡張子の概念が関係しているのではないのでしょうか?
それとも拡張子を変更するとリソースフォークとデータフォークが書き換えられるということなのでしょうか?
No.4
- 回答日時:
> 前の回答でunixの拡張子は利用者がどのファイルかわからなくならないようにメモしておくくらいの感じのものだと理解したのですが、open ファイル名 ではどのアプリで開くか指定していないのにiTunesで普通に開けるのはやっぱり拡張子がどのアプリで開くかを指定しているのでしょうか?
> それともこれはGUI環境で使うのを前提にしているMac独自の機能なのでしょか?
私もUNIXのコマンドに詳しいわけでないないと最初に断っておきますが……
jPEG画像をひとつ用意してください。自分で作ってもいいし、Safari(ウェブブラウザ)のウィンドウから画像をデスクトップにドラッグするだけでも作ることができます。
それをコピーしてください。Optionキーを押しながらドラッグすると、コピーが作成されます。
JPEG画像のアイコンを、Controlキーを押しながらクリックすると、プルダウンメニューが出ます。Windowsの右クリックにあたります。
プルダウンメニューの「情報を見る」を選ぶと、Windowsの「プロパティ」にあたる、情報ウィンドウが開きます。
「このアプリケーションで開く:」で、「Safari」に切り替えます。
コピーしたJPEG画像ファイルの情報も開き、こちらは、「Quicktime Player」に切り替えます。
アイコンが変化したことで、もうおわかりだと思いますが、それぞれダブルクリックすると、異なるアプリケーションで開きます。べつに拡張子は書き換えられていません。
これでWindowsのように「拡張子とアプリケーションを関連づけている」のでないことがわかります。そうではなく、ファイルひとつひとつに対し、個別にOSが管理を行っているということがわかると思います。
個別にアプリケーションの関連付けが(まだ)行われていないファイルについては、拡張子を見て、起動するアプリケーションを決めます。
ありがとうございます。
おっしゃった通りにやってみました結果、なるほど、そういうことだったのか!と理解できるようになりました。
要するにMacでは関連づけのあるファイルは拡張子に関係なく関連づけをしたアプリで開かれ、そうでない場合だけ拡張子で判断するのですね。
拡張子はあくまで補足的なものなんですね。
両方が混在しているのでこんがらがってわけがわからなくなってました。
これでスッキリしました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ドキュメントに保存していたエクセルのファイルが開きません。 2 2022/12/02 09:38
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(ソフトウェア) コマンドプロンプトについて教えてください。 状況: 画像編集ソフト上でネットから保存した画像を使うの 3 2022/05/26 11:14
- その他(セキュリティ) 添付されたファイルの*.pdf等の拡張子 2 2023/01/30 21:49
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- その他(IT・Webサービス) ●動画編集ソフトについて教えてください Adobe Premiereにお詳しい方、ご教示くださいまし 1 2023/04/06 10:07
- その他(Microsoft Office) Wordの拡張子について Wordの拡張子、docとdocxについて写真のように書かれていた場合、d 1 2023/07/22 10:44
- Mac OS 何故エンジニアさんはMacを使うのか。 7 2022/08/21 12:55
- 防犯カメラ・監視カメラ・小型カメラ MP4の再生 3 2022/05/03 18:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedriveの中身を削除したらパ...
-
mrl→midファイルへ
-
macのdmgファイル(動画)をMP4...
-
Winmerge ファイルの中身は同じ...
-
MGRファイルは消して良いのか
-
office365 ファイルを削除したい
-
クラリスワークスのファイルを...
-
コマンドプロンプトによるフォ...
-
Excellにて→ファイルエラー:デ...
-
ファイルの単位
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
Windows10 フォルダ内の自動並...
-
outlookuの添付ファイルが開け...
-
BAKファイルを非表示にする方法
-
Windows11 でのファイル削除
-
ファイル操作(削除など…)の履...
-
フォルダ内の一覧を印刷するには?
-
ファイルソートができるMac用フ...
-
WMP12のトラック番号編集...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
コマンドプロンプトによるフォ...
-
Windows10 フォルダ内の自動並...
-
教えてください!困ってます。
-
ファイルの先頭行を全て削除したい
-
emlをtxtに変換するには?
-
ファイルの単位
-
Windows11 でのファイル削除
-
クラリスワークスのファイルを...
-
Excellにて→ファイルエラー:デ...
-
office365 ファイルを削除したい
-
macのdmgファイル(動画)をMP4...
-
mac ファイルの詳細情報を編集...
-
ファイル操作(削除など…)の履...
-
linuxのエディタgeditは複数フ...
-
BAKファイルを非表示にする方法
-
mac 表示できなくなりました。
おすすめ情報