dポイントプレゼントキャンペーン実施中!

僕はプログラミングとLinuxの勉強をしたいと思っているのですが、redhat系とdebian系ではコマンドが違うという事を知りました。

今、高校生なのですが、これから勉強していくにはどちらを選ぶべきなのでしょうか?

また、おすすめのディストリビューションを理由を添えて教えていただけると幸いです。

A 回答 (3件)

歴史をたどると、1970年代にUNIXが広まり、そこから派生したUNIXが数種。


そのうち、学生が個人で使いやすかったMINIXが、学習用ゆえに機能に不満があるとして
Linuxが生まれることになりました。

ですから、Linuxのコマンドには、UNIXから引き継いだものが多々あります。
特に、GPLで有名なGNUのツールが、多くのUNIX系コマンドとして採用されています。
(同じコマンドでも、微妙に機能やオプションや挙動が違うことがあります)

Linux用としては、同じ名前のコマンドが複数存在することは普通無いので
ifconfigとかgrepなどは、Redhat系でもDebian系でも同じです。
でも、具体例が思いつきませんが、同じ機能を担うツールが
RedhatとDebianで別のコマンドとなっていることがあります。

LinuxのshutdownコマンドとWindowsのshutdownコマンドのように
同じ目的で、オプションなどがまったく違う例もめずらしいわけではありません。


大きな違いとしては、パッケージシステムがまったく違うので
Redhat系のrpmコマンドやyumなどはDebianにはありません。
Debian系ではdpkgコマンドやaptが用意されています。


また、Linuxに限らずUNIX系OSでは、GUIの構成が自由で
GNOMEやKDEのようなデスクトップ環境が現在の主流となりつつあります。

これらには、それぞれgtkやQtといったツールキットが基礎にあります。
ですから、GNOMEを採用したディストリビューションなら
ソフトがgtkを使うように組み上げられていることが多く
その逆もあります。

もちろん、gtk,qtの両方を一つのLinux環境に組み込むこともできます
でも、それだけHDDを消費し、また稼動時にはメモリー消費も大きくなります。

開発する段階でツールキットの選択は、ちょっと重要かもしれません。
たとえば、gtkならGNOMEだけでなく、軽量のLXDEも使えるので
開発したソフトを、Pentium4マシンなどでも使うことを考えたら
gtkを使って開発するほうが良いかもしれません。
もちろん、gtk,Qtどちらも使わないという選択肢もあります。

そういう部分も、オープンソースライセンスで公開すれば
第三者が、ほかの環境で動くように改修することもあるかもしれません。

Linuxではソフトウェアの組合せは柔軟で…
コマンドラインのツールと、それを利用したGUIフロントエンドが
まったく別々の組織や個人で開発されていることもあります。

Windowsユーザーには、FFMPEG Projectのffmpegが
携帯動画変換君の変換エンジンとして活用されている例がわかりやすいと思います。

ffmpegが多用されるWindowsでの動画変換は、裏を返せば
同じ事は、ほぼLinuxでもできることなのです。
ただ、手作業でオプションを指定し使いこなすのはちょっと面倒くさい。


そのほか、ディストリビューションごとの、特有のコマンドも多々あります。
Debianに無いものがUbuntuにあったり、Ubuntuに無いものが
Linux Mintにはあるといったこともあるのです。
(三者にはそれぞれ派生元と派生品としての関係があります)

このへんは、ソフトウェア開発には、直接的に関係ありませんが
既に存在するツールについては理解しておくべきだと思います。
MintはMint独自ツールもあって、高い人気を得ているのです。


ほとんどのコマンドは、--helpでヘルプが表示され
ほかの何も行わないのが普通ですから
HDDの中を見て、それぞれのコマンドの機能というか
その存在自体を把握していく必要があるかもしれません。

もちろん、標準で入っていない有用なコマンドも多々あります。
パッケージ管理ツールの中で、いろいろ検索してみるといいでしょう。

多くのコマンドを理解することで
Linuxユーザーにとって使いやすいツールのカタチが把握できるのではないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

こんなに長文で回答して頂けるなんて思ってもいませんでした!本当に嬉しいです!

Linuxはオープンソースということもあり自由度が高いので、色々なディストリビューションを使って自分に合うものを探していきたいと思います。

お礼日時:2011/12/24 00:11

RedHat系とDebian系の主な違いは、パッケージの管理方法です。


RedHat系がRPM(Red Hat Package Manager)、Debian系がDEB(DEBian
Package)を使用します。
但し、最近はDebian系でもrpmパッケージが使用できるようになって
いたり、Debian系のGUIパッケージ管理プログラムが、rpmパッケージ
を使用できる様に変更した物がRedHat系(Vine等)で使われている場合
が有ります。

プログラミングの勉強をする場合は、言語に何を選ぶかによって選択
するディストリビューション毎に(RedHat系、Debian系共)言語の対応
状況が変わってきます。

この回答への補足

使いたいプログラミング言語は、http://cruel.org/freeware/hacker.htmlのサイトで勧められているPythonと個人的に少し勉強しているCなのですが、その場合はどのディストリビューションが良いのでしょうか?

追加質問ですいません。答えてくれると嬉しいです。

補足日時:2011/12/24 00:20
    • good
    • 0
この回答へのお礼

お返事いただけませんでしたがありがとうございました。

お礼日時:2011/12/31 17:54

異なるのはシステム管理系のコマンド群くらいで、基本的なコマンドは変わらないので好きな方でOK。


両方扱えるようにしておくと潰しはききます。

今ならUbuntuが一番「お手軽」ではあるかとは思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

基本的なコマンドは同じだったんですね!勉強になりました。

お礼日時:2011/12/22 18:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!