web-dev-qa-db-ja.com

MacのコマンドラインとLinuxの違いは何ですか?

私はUbuntu Linuxが大好きです-特にコマンドライン。しかし、少なくとも今のところ、Windowsの方がユーザーフレンドリーであるということを認めざるを得ません。そのためのソフトウェアが増え、ドライバーが増え、機能するものが増えました。

MacがUnix上に構築されていることを知っていると、それが両者のスイートスポットなのか疑問に思います。しかし、私は疑問に思います:MacのコマンドラインはLinuxのbashとどの程度似ていますか? vimやbashスクリプト、gitなどを使ってすぐにピックアップできますか?ディレクトリの変更などの一般的なコマンドは異なりますか?オンラインの「比較して対比する」リソースを知っている人はいますか?

30
Nathan Long

Bashはbashなので、シェルとそのビルトインは同じです。ただし、psheadなどの一部のツールの動作は詳細が異なる場合があるため、スクリプトが失敗する可能性があることに注意してください。

14
user16115

Mac OS XはUnix OSであり、そのコマンドラインは他のLinuxディストリビューションと同じ99.9%です。 bashがデフォルトのシェルであり、同じプログラムとユーティリティをすべてコンパイルできます。大きな違いはありません。 Macのパッケージ管理を提供するMacPortsなどのさまざまなプロジェクトも見つけることができます。

30
w0rm

これは非常に似ていますが、BSDとLinuxの違いを知っている場合は、MacがBSDの動作をすることを期待してください。

13
Neth

いくつかのこと-コマンドラインで何を意味するかによります。

  1. おそらくbashを実行するでしょう。これは、他のUNIXでのbashと同じです。同じバージョンであれば、bashプログラミング言語も同じです。 Bashのバージョンには言語のわずかな違いがありますが、これはMacOSXとLinux自体には関係ありません。

あなたは実際にこれにぶつかるかもしれません-Mac上の/ bin/bashはライセンス上の理由から3.xに固定されています。 4または5に慣れている場合、互換性に関する小さな問題が見つかることがあります。

  1. bash自体は「コマンドライン」の小さなサブセットです。有用であるためには、通常、awk、ls、cutなどの他の一般的なUNIXユーティリティを使用します。歴史があるため(LinuxやSystemVではなく、BSDから派生したものです)、Macのユーティリティのバージョンは、Linuxで使用されているものとは異なります(GNUバージョン)。 Linuxと少なくともいくつかのフラグの違い、およびいくつかの出力と機能の違いがあります。これらを使用するスクリプトは、補正するために変更する必要があります。BSDawk vs GNU gawkはかなり異なります。または、これらのGNU macportsまたはhome brewからバージョンを取得し、これらがデフォルトであるように(組み込みバージョンよりも)高くなるようにPATHを設定できます).

  2. MacOS Xには、いくつかの新しいクールなツールもあります。 openはいいです。ダブルクリックしたようにオブジェクトを開きます。 defaultsを使用すると、いくつかの設定を行うことができます。GUI設定パネルでさえ設定できないものもあります。 textutilは便利で、sayは楽しいかもしれません。

9
Rich Homolka

MacとLinuxのコマンドライン機能は、OS Xに表示されるGUIの下にUNIX(Darwinと呼ばれる)のフレーバーがあるため、実際に似ています。

OS Xのデフォルトのシェルはbashなので、それに慣れていればうまく調整できます。

Macでは、デフォルトのコマンドラインアプリケーションはターミナルです。他にも数多くのエミュレータがありますが、全体的なターミナルは、Linuxで慣れているシェルと非常によく似たルックアンドフィールを提供します。

ただし、違いの主な原因は次のとおりです。

  • 時々異なるコマンドライン引数(つまりduを参照)。 cdlsなどの基本的なコマンドは似ています。
  • Linuxのように手動で編集してはいけない部分がOS Xにあります。これはそれ自体のトピックですが、Macを実行することは、構成と維持管理の点でLinuxボックスを実行することとまったく同じではないことに注意してください。

そうは言っても、OS Xのコマンドラインから利用できるクールなハックもたくさんあります(例:openコマンド)。以前のスレッドやブログ投稿がたくさんあり、より多くの情報があります。

MacPorts、Fink、またはOS X用の他のいくつかのパッケージ管理システムを介して、多数のオープンソースパッケージ(つまり、githgなど)を手に入れることもできます。必要に応じて、システムのようなUNIX/Linux向けの他のソースパッケージ。

3
dtlussier

ここに1つの違いがあります。 MacとLinuxの両方のbashシェルでこのコマンドを試してください

find /etc -name "*.conf"

/ etc内に多数の.confファイルがあるにもかかわらず、Macには何も表示されません。

0
Antony Thomas