- ベストアンサー
Macについて詳しい方へ|コマンドプロンフト…
現在Win7を使っています。初心者でコマントプロンプトの使い方を勉強しようと思ってるんですけど、 近々Macに変える予定です。そこで質問なのですが、Winで勉強したコマンドプロンプトの使い方はMacに変えても変わりませんか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
概念的には似たようなものですが、基本的なOSの仕組みが違うので その間には、大きな隔たりがあります。 まず、第一に重大な、致命的な違いがあります。 つまりWindowsでいうコマンドプロンプトとは 本来は、コマンドの入力を促す(事前のコマンドが終了したことを通知する)ために コマンドラインインターフェイスの行頭に表示される文字列のことを指しています。 C:\> と表示されたこれが本来のコマンドプロンプトです。 実際Windowsで言うコマンドプロンプトの本体はCMD.EXEなのですが CMD.EXEのようなユーザーインターフェイスを、コマンドラインインターフェイスと呼びます。 GUIに対比してCUIという言葉がありますが、CUIはキャラクターユーザーインターフェイスで 文字だけによるUIを意味します。 ですから文字だけで作られたメニューはCUIでありCLIではありません。 Windows3.0への移行時の大きな障害は、そういったCUIメニューを提供する様々なソフトで GUIの有用性を理解してもらうまでには、かなりの期間がかかりました。何しろ重すぎて。 こういったCLIを提供するソフトには、CMD.EXEのほかWindows PowerShellなどがありますし UNIX系OSにおいては、何種類ものソフトが存在します。 MacOSXでは、標準ではTerminal.appですが、ターミナルは一般名詞で UNIX系OSでは、ターミナルとコンソールという同じものを指す言葉が一般的です。 そして、その種類としてはgnome-terminal,konsole,xfce4-terminalなどなど何種類もあります。 ですが、その基本的なコマンドインタープリターとしての中身は ほとんどの場合、shから進化しつづけて安定した位置にあるbashだったりします。 shやbashはコマンドシェルと呼ばれるもので GUI時代のターミナルはコマンドシェルと、それを飾り、ウィンドウとして表示するターミナルソフトの 二重構造で実現されています。 そして、同じシェルで、同じコマンドを実行するのであれば LinuxでもFreeBSDでもMacOSXでも基本同じように動作します。 そういう意味では、Windowsだけが違うということにもなります。 もともとMicrosoft社の最初のOSだったMS-DOSは 同社が無かった時代からあるUNIXを参考にした部分がありました。 ですから、MS-DOSからPC-UNIXへと移行した人にとって UNIXのコマンドラインでの操作は、高度で強力でありつつ、すこし難しいものでした。 基本的には、COPYコマンドはcpコマンドを参考にしていますし コピー先を指定する一つ上のディレクトリーを指定する../や相対指定の概念も UNIXを参考としたものです。 ですが、mvコマンドに相当するRENコマンドはmvとは機能の違いが大きく ifconfigとIPCONFIGはよく似た名前ですが、役割の違いも大きなものです。 実行パスとしてカレントディレクトリーを設定していることはMS-DOS系の大きな特徴で UNIX系OSでは、カレントディレクトリーの実行ファイルでも 明示的に./を付けなければ実行できません。 UNIXでは早い段階で標準機能となったTABキーによるファイル名補完機能でも 実行ファイルを入力する過程では、カレントディレクトリーにあっても 明示的に./を付けていなければ、補完の対象として出ません。 大文字と小文字を、あたりまえに区別することもUNIX系OSの特徴と言えますが 正確には、大文字と小文字を同一視することが基本のWindowsのほうが特殊です。 たとえば、foo.txtとFOO.txtが同じディレクトリーに存在できないのがWindowsで UNIX系OSでは、区別され、同じディレクトリーに存在できるのが当たり前です。 MacOSXの場合はUNIXとしては区別していますが MacOSXとしてのGUIからは、同一視するようになっているようです。 コマンドによる処理を前提にすれば、区別して使う習慣をつけるほうがいいでしょう。 インターネットの記事を見ていれば、MacOSXやLinuxなどのUNIX系OSでは MacPorts関連のコマンドや、YUM関連コマンド、APT関連コマンドのようなものがあります。 これらは、オープンソースソフトウェアを簡便に導入し管理するためのコマンド群ですが Windows Storeを利用するためのコマンドが設けられたという話は聞いたことがありません。 FirefoxやGIMPやLibreOfficeのようなオープンソースソフトウェアを活用するようになると UNIX系OSでは、コマンドでの管理が充実していることを、より強く感じるかもしれません。 もちろん、Windows Serverでもコマンドで管理が可能と言われるくらい Windowsでもコマンドは拡充されています。 COMMAND.COMやCMD.EXEよりも大幅に強化された Windows PowerShellもあります。 ですが、それは充分には認知されておらず 活用方法についての情報も、インターネット上に思ったほど無いように感じます。 概念自体を理解するという点においては、Windowsで勉強をはじめてもいいでしょう。 あるいは、余っているWindows搭載PCがあれば それにFreeBSDを入れて使ってみてもいいでしょう。 これはWindows上の仮想マシンでやってもいいでしょう。 FreeBSDは由緒正しいBSDの系譜に連なるオープンソースソフトウェアのUNIXです。 MacOSXもUNIXであり、またUNIX系OSでもあります。 ですが、LinuxはUNIX系OSとは言えても、まったくUNIXではありません。 WindowsにもUNIX互換機能はありますが、それもUNIXではありません。 MacOSXのコマンドラインインターフェイスは、実質的にUNIXのそれですから UNIXの勉強をするという意味では、LinuxよりFreeBSDのほうが混乱は少ないでしょう。
その他の回答 (5)
- spacious2
- ベストアンサー率33% (1/3)
Macについて詳しいとはいえませんが、複数のOSをそれなりに経験しています。 本件で本質的なことは「コマンドラインでなにかやる」のと「Windows的なマウス操作でなにかやる」のがどう違うかということを学ぶことだと思います。 その意味では、Windowsで先に勉強することは無駄になりませんし、コマンドラインに馴染めば必ずどのOSでもそれを使いたくなります。 それぞれの環境でコマンドも違うし、逆に同じコマンドの挙動が違ったりと戸惑うことが多いですが、コマンドラインでやるべきことはやはりコマンドラインでやるべきです。 バッチファイル、シェルスクリプトを使うようになれば複数ファイルへの一括処理などの圧倒的な処理効率はマウスでの手作業とは次元が違います。 どういうことをマウスでやってどういうことをコマンドラインでやるかを学ぶことから始めればいいと思います。 Macを使うようになってもどうせWindowsを使わなければならない場面は多いと思いますので、その意味でも無駄ではないと思います。 それに、複数を学ぶほうがよく分かることもあります。是非ともすぐにでも学習を開始されることをおすすめします。
お礼
ありがとうございます^^
- ahoo_ok
- ベストアンサー率31% (30/95)
>こういったCLIを提供するソフトには、CMD.EXEのほかWindows PowerShellなどがありますし >UNIX系OSにおいては、何種類ものソフトが存在します。 >MacOSXでは、標準ではTerminal.appですが、ターミナルは一般名詞で >UNIX系OSでは、ターミナルとコンソールという同じものを指す言葉が一般的です。 コマンドプロンプトやWindows PowerShellは、シェル本体とコンソールが一体化していてわかりにくいが コマンドプロンプトやWindows PowerShellに該当するのはターミナルではなくてシェル本体。 >ほとんどの場合、shから進化しつづけて安定した位置にあるbashだったりします。 MacOSXやベースになったBSD系UNIXの標準シェルはcsh(tcsh)系。 >明示的に./を付けなければ実行できません。 セキュリティー上問題もあるがパスを通せば必要なくなる。 >ですが、mvコマンドに相当するRENコマンドはmvとは機能の違いが大きく mvコマンドに該当するのはmoveコマンド RENコマンドはファイル名変更用のコマンド。 mvやmoveのファイル移動コマンドとは別物。
- Kaneyan-R
- ベストアンサー率42% (1340/3127)
WindowsとMacでは全く異なります。 Windowsのコマンドは「MS-DOS」で、Mac OS Xのコマンドは「UNIXコマンド」です。 で、コマンドをテキストで書いたものをWindowsでは「バッチファイル(BAT file)」、MacやLinux系では「シェルスクリプト(Shell Script)」と言います。 とは言っても共通していたり、似ていたりと言ったところもありますし、プログラム全般の考え方(「どうしたい」から「どうする」)はほぼ同じ(もちろん構文は違います)なので、どれか一つの構文を理解していれば、だいぶ楽に覚えられます。
お礼
そうですか、頑張って勉強してみます。
OSに互換性がないため別物です WinはOSがWinです(当たり前か…) MacはUNIX系です 余談ですが… Macでコマンド打ち込んだ方が楽しい気分です
お礼
そうですか。回答ありがとうございました。
- drum_KT
- ベストアンサー率43% (1108/2554)
コマンド体系が全く違うので、コマンドそのものの書式などは全て勉強し直しです。 但し、コマンドを使ってできることについての考え方には近い部分もあるので、そういう意味では、どちらかを知っていればもう一方を勉強する時に前提知識という面で多少は参考にはなると思います。
お礼
そうなんですかwやっぱり相互性が違うとめんどいんですねw
お礼
難しいですね^^; 頑張って勉強します。ありがとうございました。