各種商標と著作権の取り扱いに関する注意 ·  · 2018-04-27... turbo c/c++, tasm...

40

Upload: lyminh

Post on 23-May-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

各種商標と著作権の取り扱いに関する注意

UNIXは The Open Groupの OS名です。Solarisは Sun Microsystems, Inc.の OS名です。Linuxは Linus Torvalds氏の手による OSです。BSD UNIXとはカリフォルニア大学バークレイ校 (UCB)で開発された Berkley Software Distribution版に端を発するOS群を指す表現です。Apple, Macintosh, MacOSは米国 Apple Inc.の登録商標です。MS-DOS, Windows95, Windows98, WindowsNT, WindowsMe, Windows2000, WindowsXP, Windows Vista,MASM (Microsoft Macro Assembler), MS-VB (Microsoft Visual Basic),MS-C/C++ (Microsoft C/C++), MS-VC/C++/C# (Microsoft Visual C/C++/C#)はMicrosoftの、CodeGear C++, Turbo C/C++, TASM (Turbo Assembler),Turbo Pascal, Delphi, Kylixは CodeGearの、N88-BASIC(86)は NECの、Z80はザイログの、8086, i386, i486, Pentium, Pentium Pro, Pentium II, Pentium III, Pentium 4, Pentium M, Celeron, Core Duo, Core 2 Duo,Core 2 Quadは Intelの、PowerPCは IBMの、それぞれ商標となっております。その他、プログラム名、プロセッサを始めとする各種の製品名は一般に各メーカーの登録商標です。本文中では “TM”、並びに “®”マークは明記しておりませんがその旨ご了承下さい。

本誌に掲載される各記事の著作権は、それぞれの記事の作者が保有します。各種プログラムのソースコードの著作

権はプログラムの作者が保有します。「PDS」または「パブリックドメイン」と明記されていないものについては、個

人で使用する目的以外のための無断複製は著作権法により禁止されています。

i

*巻頭言 *

新入生の皆さん、ご入学おめでとうございます。

東大マイコンクラブ UTMCはゲーム制作をひとつの軸に、

コンピュータに関する様々な事柄を扱っているサークルです。

この部誌『UTMC PRESS新入生歓迎号』では、UTMCの日々の活動の一端を新入生の皆さんに役立つ情

報を交えつつ紹介しています。

どうぞご覧下さい。

この部誌やサークルオリエンテーションなどで UTMCに興味を持った方は、

今後行われる新入生説明会や新歓コンパ、また昼休み中開放している部室にぜひ来てみてください。

2012年度 UTMC代表MASA

ii

Bもくじ C

1 パソコン自作概論 — Andoh 1

1. 何故自作なのか? . . . . . . . . . . . . . . 1

2. パソコンとは何か . . . . . . . . . . . . . . 1

3. それぞれのパーツにはどんな種類があ

るの? . . . . . . . . . . . . . . . . . . . . . 3

4. 今、流行のパーツを知りたい! . . . . . 3

5. 結局どこで買えばいいの? . . . . . . . . 4

6. パーツが届いたけど、どうやって組み

立てればいいの? . . . . . . . . . . . . . . 4

7. 自作 PCの具体的な一例 . . . . . . . . . . 4

8. さいごに . . . . . . . . . . . . . . . . . . . . 5

2 UNIX入門への道 — autotaker 6

1. はじめに . . . . . . . . . . . . . . . . . . . . 6

2. まずは環境導入 . . . . . . . . . . . . . . . . 6

3. ターミナルの基本的な使い方 . . . . . . . 7

4. コマンド紹介 . . . . . . . . . . . . . . . . . 9

5. 応用 . . . . . . . . . . . . . . . . . . . . . . . 11

3 ECCS Tutorial — Shotaro Tsuji 14

1. はじめに . . . . . . . . . . . . . . . . . . . . 14

2. ECCS端末について . . . . . . . . . . . . . 14

3. どこで使えるの? . . . . . . . . . . . . . . 15

4. ECCS端末を立ち上げる . . . . . . . . . . 15

5. Mac環境を使ってみる . . . . . . . . . . . 16

6. 日本語を入力してみる . . . . . . . . . . . 16

7. 端末を使った後は . . . . . . . . . . . . . . 17

8. プリンタで印刷 . . . . . . . . . . . . . . . . 17

9. WebDAVで学外からアクセス . . . . . . . 18

10. VNCで学外からアクセス . . . . . . . . . 19

11. 無線 LANを使ってみる . . . . . . . . . . . 20

12. 困ったときは . . . . . . . . . . . . . . . . . 21

4 About UTMC — HRHT 22

1. UTMCについて . . . . . . . . . . . . . . . 22

2. 活動内容 . . . . . . . . . . . . . . . . . . . . 22

3. 2011年度の活動内容 . . . . . . . . . . . . 22

4. 連絡方法 . . . . . . . . . . . . . . . . . . . . 24

5 開発環境について — MASA 25

1. 対象 . . . . . . . . . . . . . . . . . . . . . . . 25

2. 開発環境とは . . . . . . . . . . . . . . . . . 25

3. VisualStudioとは . . . . . . . . . . . . . . . 25

4. DreamSparkへの登録方法 . . . . . . . . . 26

5. その後 . . . . . . . . . . . . . . . . . . . . . . 26

6. おまけ . . . . . . . . . . . . . . . . . . . . . . 26

6 Debianのすすめ — me 28

1. Debianとは . . . . . . . . . . . . . . . . . . 28

2. インストール . . . . . . . . . . . . . . . . . 28

3. なぜ Debian? . . . . . . . . . . . . . . . . . . 29

4. Debian に関連したディストリビュー

ション . . . . . . . . . . . . . . . . . . . . . . 32

5. 最後に . . . . . . . . . . . . . . . . . . . . . . 32

1

1 パソコン自作概論$こいつを読めば君も自作 erだ!

Andoh

1. 何故自作なのか?こんにちは!

東大マイコンクラブ元代表の Andohです。

「UTMCPress新入生歓迎号」を手にとって頂きありがとうございます。

この冊子がみなさんのコンピューターリテラシーの向上の一助となれば幸いです。

さて、今回のテーマは自作 PCです。

皆さんの中に最近自分のパソコンが遅いとか、良くフリーズするとか思っている方はいらっしゃるで

しょうか。

中には新しく自分用のパソコンに DELLや HPなどのオーソドックスなメーカー製パソコンを買おうと

考えている方もいるかもしれません。

確かに世の中には既製品は溢れています。出来合いの物を買って済ませるのは金と時間の無い人々には

悪い選択ではないでしょう。

だがちょっと待ってください。

そんな既製品のメーカー製 PCを使い、安穏としていていいのでしょうか。

中には CPUに高性能な i7搭載とうたいながら、高度なグラフィックを司る GPUはオンボードに過ぎ

ないという詐欺のようなメーカー製 PCも存在します。

新しいパソコンを買って、いざ最新の 3Dゲームをしようと考えても、画面がかくかくでは話になりま

せん。

そこで自作 PCという新たな選択肢が浮上します。

自らパーツを選別し、目的に合った構成を考えるならば、最新のグラフィック性能を備えた超高性能

PCも、最低限の性能な激安 PCも思うがままです。

さあ貴方も「自作」の世界に足を踏み入れてみませんか?

2. パソコンとは何かパソコンを構成する要素はそれほど多くありません。

それは大体以下のようなパーツから成り立っています。

• PCケース

パソコンの見た目を決定します。これが無くては始まりません。

    本体外側に USBの端子やオーディオの端子が付属している物もあります。

    大口径のファンを装備し、静音性と冷却性能を両立させた物も存在します。

    また、ケースの大きさによって将来の拡張性も決まってきます。

2 UTMC Press 2012-4

    慎重に選択していきましょう。

   

• マザーボード

パソコンを構成するそれぞれのパーツをつなぎ合わせる「母なる板」です。

    全てのパーツはここに装着します。

    サウンド機能、ネットワーク機能、グラフィック機能などを統合して搭載しているマザー

ボードもあります。

• CPU

中央演算処理装置。基本的な演算を管轄します。

    パソコンの処理速度の速さに直結します。

    現状 intelと AMDの二社の CPUが互いのシェアを食い合うような関係になっています。

    安さとそこそこの性能を求めるならば AMD、高くても高性能なものを求めるならば intel

がいいでしょう。

• メモリ

データを一時的に広げる机のような物。

    大きければ大きいほど一度に大量のソフトウェアを起動することが出来ます。

    個人的な所感ですが、重い 3Dゲームを動かすならば少なくとも 4GBはあった方がいいで

しょう。

• HDD

データを格納する倉庫。この HDDの容量によってどれだけ大量のデータを持つことが出来るかが

決まります。

    動画を編集したり、画像を見たりする方はなるべく大きいものがいいでしょう。

    より高性能な SSDというものも登場しています。

• グラフィックボード

高度なグラフィックを司ります。

    最近のパソコンではグラフィック機能はマザーボードに搭載されたオンボードタイプの物

も多いです。

    しかし、やはり高度なグラフィックを表示するにはグラボは不可欠と言ってもいいで

しょう。

     3Dゲームを嗜むにはこのパーツがその快適さを決定づけます。

• 電源

地味な存在ながら、実はパソコンの安定性にはかなり重要な役割を果たします。

     CPUやグラフィックボードの消費電力を勘案し、余裕を持たせた容量の電源を買うのが

安定性を求める最良の手段です。

• モニター

パソコン自作概論 — Andoh 3

    いわゆる液晶モニターや CRTモニターなど。

    最近では韓国製の安価な物が流行っています。

    しかし、騙されてはいけません。

    彼らはこの世界に粗雑でドット欠けに溢れた製品を氾濫させ、人類の生活水準を低下させ

ながら自らは暴利を貪り高価な日本製の製品に囲まれて過ごすというとんでもない利己主義者なの

です!

    貴方が真の愛国者ならば国産の液晶を買いましょう。ジーク・イブカ!

• キーボード・マウス

人間がもっとも触れることが多いパソコンの部品がキーボードやマウスなどの入力装置です。

    これらはパソコンを使用する上での快適さを決定づける最大の要素と言っても過言ではな

いでしょう。

    その後の PC ライフに多大なる影響を与えること間違いなしなので、自分にあったキー

ボードやマウスを選びましょう。

    キーボードにも「リアルフォース」「チェリー」など、有名なブランドはたくさんあります。

    実際に秋葉原の店頭で感触を確かめた上で買うのがよいでしょう。

• OS

    Windowsや Linuxなどのいわゆる OSです。

    これが無いと話になりません。

    なるべく安く済ませたい! という方は ubuntuなどのデスクトップ用途の無料 Linuxを使

う手もあります。

最低限上記のパーツがあれば、パソコンと呼べる物が完成します。

これらのパーツを様々に組み合わせることで、高性能なパソコンも低価格なパソコンも自由に構成する

ことが出来ます。

また、自分で構成したパソコンなら後からパーツをアップグレードすることも容易です。

こういった点もメーカー製とは違う自作 PCならではの利点と言えます。

3. それぞれのパーツにはどんな種類があるの?CPU・グラフィックボード・電源といってもその種類は星の数ほどあります。

まずは現在発売されているパーツの情報を集めるのがいいでしょう。

最新の情報を知りたいならば、やはり「WinPC」などの自作 PC専門誌が最適です。

今、巷でトレンドなパーツについて一通りの解説が載っているだけでなく、最新の価格情報を載せてい

る事もあります。

4. 今、流行のパーツを知りたい!ベタですがネットの情報がもっとも速報性が高いです。「価格.com」に行きましょう。

最新の価格情報とともに、最安値店舗情報など有力な情報がたくさん載っています。

4 UTMC Press 2012-4

売れ筋ランキングや口コミ情報など、インターネットならではの有用な情報も満載です。

5. 結局どこで買えばいいの?現状で考えるならば、通販一択です。

秋葉原に出向いていって買うというのも、ありと言えばありですが、実際の店舗よりもネット通販の方

が安いというのが昨今の自作市場の現状です。

最安値店舗を探してポチりましょう。

6. パーツが届いたけど、どうやって組み立てればいいの?PC 自作というと、何か半田ごてを持って配線するみたいな事を想像する人もいますが、それは違い

ます。

必要なのはドライバーだけです。

ケースに付属してくる大量のネジを使って、マザーボードをケースに取り付けます。

後は手順に沿ってそれぞれのパーツを心の赴くままにマザーボードにはめ込んでいくだけです。

プラモデルよりも簡単な作業です。

1. マザーボードにパーツを取り付ける

2. マザーボードをケースに取り付ける

3. 電源、HDDその他をケースに取り付ける

4. 配線

5. 起動確認

6. OSをインストール

7. ドライバをインストール

大体こんな手順です。

詳しくはネット上にたくさんの情報が上がっているのでここでは差し控えます。

7. 自作 PCの具体的な一例以下に出てくるパーツの価格は 2011年 5月 25日現在のものです。

今回は 3Dゲーム、3Dレンダリング、ネットサーフィン、プログラム開発、ブルーレイ視聴や動画編集

などあらゆるニーズに幅広く対応できるオールマイティなパソコンをテーマにパーツ構成を考えました。

まず 3Dゲームや 3Dレンダリングを快適に行うためには強力なグラフィックボードを積んでいる必要

があります。

そこで今回はサファイア社から発売されている Radeon HD6850 を搭載した「Sapphire ATLANTIS

RADEON HD 6850  1GB PCI-E」を GPUに選びました。

Y15,450 と多少値は張りますが、これだけの GPU を積んでいれば現在発売されているほとんどの 3D

ゲームはもちろん 3Dレンダリングですらさくさく動くことは間違いないです。

次に忘れてはならないのは CPUです。どんな性能のいい GPUを積んでいても cpuの性能が悪ければそ

の性能の悪さに引っ張られてせっかくの GPUの性能を活かすことができなくなります。

パソコン自作概論 — Andoh 5

そこで価格もこなれていて性能もそれなりによいインテルの「Core i7」を選択しました。値段は 25,000

です。

忘れがちなのがキーボードやマウスです。

プログラム開発や 3Dゲーム、ネットサーフィンなどパソコンを用いたあらゆる操作を行うときに人間

が最初に触れるものがキーボードやマウスなどの入力装置です。

これらの装置の快適さがパソコンの使用の快適さに直結するといっても過言ではありません。

今回はキータッチに定評のある「チェリーの青軸」をキーボードに、ゲームプレイの快適さに定評のあ

るロジクール製のゲーミングマウス「MX518」をマウスに選択しました。

二つあわせて Y10,000ほどです。

BDドライブ、マザーボード、電源、PCケース、メモリー、液晶ディスプレイなどは上記のパーツに合

わせて選択していきました。

CPU がインテルの Core i7 なので、マザーボードにはソケットの形状が LGA1155 のものを選び、3D

ゲームをやることを考慮して電源も 500Wの大容量のものを選択しました。

以上のことを熟慮した結果、下のような構成が浮かび上がりました。

• CPUインテル Core i7-2600K  BOX Y25,200

• メモリ CFD W3U1333Q-4G 4GB Y6436

• マザーボード ASUStek P8Z68-V PRO Y24,458

• GPUSapphire ATLANTIS RADEON HD 6850  1GB PCI-E Y15,450

• HDD Western Digital WD20EARS 2TB Y5,980

• ケース ZALMAN  Z9 Plus Y5,290

• 電源 Gigabyte GE-N500A-C2 500W Y3,878

• 液晶 BenQ GL2430HM 24インチ Y19,950

• BDドライブパイオニア BDR-206DBK/WS Y10,980

• マウスロジクール Trackball M570 Y3,880

• キーボードチェリーの青軸  Y5,000

• OS Windows7 home premium Y1,1837

ディスプレイには BenQの 24インチ、HDDに大容量 2テラバイトのWestern Digital製、BDドライブ

にはパイオニアを選択しました。

これくらいの構成で組めば 14万円前後で超高性能なパソコンを組むことが出来ます。

お買い得だと思いませんか?

8. さいごに一通り自作 PCの概観について語ったのですが、いかがでしたでしょうか。

自作 PCに興味が持てた方は是非 UTMCへ入部しましょう。

UTMCは部員同士が互いに刺激し合い、コンピューターリテラシーを高める活動を行っています。

きっと有益な発見があることでしょう。

6

2 UNIX入門への道CUIを覚えよう

autotaker (自称アップル信者)

1. はじめに新入生の皆さん入学おめでとうございます。2010入学の autotakerと申します。さて、皆さんもすでに

ご存じかとは思いますが、東京大学の情報基盤センター(ECCS)にて利用出来る端末は iMac *1となって

おります。皆さんがいままで慣れ親しんできたであろうWindowsは情報系の講義ではほとんど使われま

せん。*2*3

さらに 1学期の必修科目である情報や2学期の理系準必修科目である情報科学などの講義ではターミナ

ルというアプリケーションプログラムを使い CUIでプログラムを実行したりすることもあります。CUI

をそこそこ使えるようになっておくといろいろと便利なのは間違いありません。そこで本記事では初心者

を対象とした CUIの使い方の説明を行います。また、今後使用するシェルは bashを基準に説明します。

2. まずは環境導入まず、CUIを使うために必要な環境を準備しましょう。Macを持っている方および JK棟*4から利用す

る時は、Finder からアプリケーション>ユーティリティ>ターミナル.app を起動します。簡単ですね!

Windows PCを持っている方、生協の口車に乗せられて推奨 PCを購入してしまった哀れな方は PuTTYを

利用して ECCSに ssh接続・・・といいたいところですが、システムが変わって UNIXサーバがなくなっ

てしまったので*5cygwin*6をインストールしてください。これはWindows上で UNIXライクな環境を動か

すプログラムです。インストール時にインストールするパッケージの選択を求められますが、今回の範囲

内ではデフォルトで大丈夫なはずです。インストールが終わったら起動して文字エンコーディングの設

定を UTF-8にしておくと良いでしょう。それ以外の OSを使っている人はおそらく Linuxか FreeBSDを

使っている人でこの記事を読む必要性はあまりないかと思いますが、おそらく"端末"あるいは"ターミナ

ル"というプログラムがあるはずなのでそれを起動しましょう。

ウィンドウが開いたら calを入力してエンターキー*7を押してみましょう。今月のカレンダーが表示さ

れれば正常に動いています。文字化けしている場合は文字エンコーディングの設定を確認しましょう。ど

うしても直らなければ export LANG=Cと入力すると英語モードで使えるようになります。*8

*1 今年度からシステムが新しくなっており(ECCS2012)、最新の iMacを利用出来るようになっています。*2 たしか ECCSを使う主要講義の内Windowsを使うのは図形科学 IIのみのはずです。*3 今年から BootCampでWindowsが使えるようになったので変わる可能性はあります。*4 情報教育棟のこと*5 リモートアクセスは VNCサーバになりました。GUIが使える代わりに同時接続30人(大学全体で)という謎仕様です。*6 www.cygwin.com*7 余談ですがWindows PCではこのキーを Enterといいますが、Macでは Returnと呼びます。*8 ちなみに Cのところを ja_JP.UTF-8などとするとほかの文字エンコーディングも使えるようになります。詳細は後述

UNIX入門への道 — autotaker 7

3. ターミナルの基本的な使い方3.1 コマンドと引数

さて、ターミナルのウィンドウ内で起動しているプログラムはシェルプログラムといって、ユーザから

のコマンドを受け取って対応するプログラムを実行するプログラムです。先ほどの calや exportもコマ

ンド名となります。コマンド名の後にはプログラムに渡す引数*9をスペースで区切って入力します。

3.2 パスとカレントディレクトリ

UNIXではコンピュータをディレクトリ構造で仮想化しています。Windowsは物理ディスク基準のディ

レクトリ構造ですが、UNIXは/で表されるルートディレクトリを基準とする木構造です。コンピュータ

に接続されているデバイスについても特殊ファイルという扱いになります。ディレクトリの区切りは/で

表します。

あるファイル・ディレクトリ等がファイルシステム上のどこにあるかを表した物をパスといいます。

ファイルの位置をルートディレクトリからの位置で表したものをフルパス、あるいは絶対パスといい、/

から始まります。シェルにはカレントディレクトリという概念があり、そのディレクトリからの相対位置

でファイルの位置を表したものを相対パスといいます。カレントディレクトリは pwdというコマンドで調

べることが出来ます。カレントディレクトリの移動、内容の表示はそれぞれ cdコマンド、lsコマンドで

行います。また、書くユーザにはホームディレクトリという自分が自由に使って良いディレクトリが指定

されています。大抵は/home/ユーザ名です。ホームディレクトリを表す特殊な記号として~があります。

pwdコマンド

カレントディレクトリを表示する

pwd カレントディレクトリを表示。

cdコマンド

カレントディレクトリを移動するcd ホームディレクトリに移動。

cd ディレクトリへのパス ディレクトリへ移動。

lsコマンド

ディレクトリの中身を表示するls カレントディレクトリに含まれるファイルを表示。

ls パス ディレクトリに含まれるファイルを表示。主なオプション

-l ファイルの詳細を表示。

-a .で始まるファイルも表示。

*9 コマンドライン引数、特にハイフンで始まる物をコマンドラインオプションといいます。

8 UTMC Press 2012-4

3.3 ユーザとグループ

UNIXのファイルシステム上のファイル、ディレクトリには ownerと groupが定められており、owner

と groupごとにアクセス権の指定を行うことが出来ます。自分が所属している groupは idコマンドで調べ

ることが出来ます。ownerとはファイルの所有者であり、そのファイルのアクセス権を変更することが出

来ます。アクセス権は主に読み出し (r)書き込み (w)実行 (x)の三種類からなり、それぞれを owner, group,

other(その他のユーザ)に対して独立に設定することが出来ます。ディレクトリに対する書き込み権限

というのはディレクトリに含まれるファイルを削除したり、新たにファイルを作ったりする権限のことで

す。*10またこの書き込み権限はそのディレクトリの直下のファイルにのみ適応されます。

通常はホームディレクトリ以下に作られたファイルであっても otherに rの権限が認められているので、

他のユーザは自由にのぞき見ることが出来るようになっています。他の人に見られて困る物はアクセス権

を適切に設定しておきましょう。

3.4 rootユーザ

コンピュータ上の全権限をもつ特殊なユーザを rootユーザといいます。この権限が必要になるのはシス

テム全体の設定ファイルを書き換えるときや、ファイルの ownerを変更するとき、ユーザやグループの追

加、あとはシステムの終了と再起動等です。この権限は非常に強力でシステムに不可欠なファイルでも削

除することが出来ます。*11

したがって、普段このユーザでログインすることはありません。ECCSなどではもちろんこのユーザで

ログインすることは出来ません。

わざわざ rootでログインしなくてもあるコマンドだけを root権限で実行したいということがあります。

そのときは sudoコマンドというものを使うのですが、もちろんこのコマンドもすべての人が使えるわけ

ではありません。sudo コマンドを使えるユーザを sudoer といいます。大抵 admin グループが sudoer に

なっていることが多いです。

3.5 アクセス権関連コマンド

chown, chgrpコマンド

ファイル、ディレクトリの owner, groupを変更する。※ root権限が必要chown ユーザ名 ファイルパス 指定したファイルの ownerを変更する。

chgrp グループ名 ファイルパス 指定したファイルの groupを変更する。

*10 すなわち、自分が ownerであるファイルであってもそのファイルが所属するディレクトリに対して書き込み権限を持っていなければ、そのファイルを削除することは出来ません。

*11 削除に必要なファイルやシェルに必要なファイルを削除してしまって実行が止まることはあります。

UNIX入門への道 — autotaker 9

chmodコマンド

アクセス権を変更する

chmod パラメータ ファイルパス パラメータに従い指定したファイルのアクセス権を設定する。

アクセス権パラメータは数値で指定するものと文字列で指定するものの二種類があります。

数値で指定する場合は 3桁の8進数で指定します。1桁目が owner、2桁目が group、3桁目が other

のアクセス権を指定しています。また各桁はそれを 3桁の2進数として見たときに最上位ビットから

r, w, xの設定に対応します。

たとえば 644というパラメータは ownerに 6=4+2すなわち rと wの権限が、groupと otherには 4、す

なわち rの権限のみが与えられることを示します。755であれば ownerにすべての権限が与えられ、

groupと otherには rと xの権限が与えられることを示します。

数値で指定する場合が絶対指定なら文字列で指定する場合は相対指定です。書式は a+wや g-xなど

のように行います。

• 一つ目の文字はアクセス権を変更する対象を指定します、u,g,o,aの一つ以上を指定します。u

は owner、gは group、oは other、aは allを表します。

• 二つ目の文字はアクセス権を付与するのか剥奪するのかを +,-のいずれかで指定します。a

• 三つ目の文字は変更するアクセス権の種類を指定します。r,w,xの一つ以上を指定します。b

a =というのも使えますがあまり使いません。b s,tというのも存在しますが今回は説明しません。

3.6 知っておくべきショートカットキー

コマンドラインでプログラムを動かす上でかならず知っておかなければならないキーボードショート

カットが2つあります。まずは"Control+C"です。これは異常動作をしたプログラムを強制終了するとき

に使います。8割くらいのプログラムはこれを使えば死にます。これで終了しないプログラムの終了キー

は qキーや quit, exitなどを入力させる物が多いです。つぎに"Control+D"です。これはプログラムの標準

入力に EOF(入力の終わり)を出力するショートカットキーです。このほかにもいくつかありますが、今

回説明する範囲ではそれほど重要ではないので省略します。

4. コマンド紹介4.1 テキスト関連コマンド

まず、ファイルの中身を見るコマンドとして一番単純なコマンドである catコマンドと一見謎な echo

コマンドです。catコマンドはファイルの中身を表示し、echoコマンドはコマンドの後に与えられた文字

列をそのまま出力します。echoコマンドは使い道がないように見えますが、後述するリダイレクト機能を

使うとファイルに書き込むことが出来ます。また、シェル変数の値を調べるとき等も使います。

10 UTMC Press 2012-4

cat,echoコマンド

echo引数として与えられた文字列を標準出力に出力する。

catファイルの中身を標準出力に出力する。cat ファイルパス 指定したファイルの中身を表示する。二つ以上指定すると連結して表示する。

echo 文字列 引数の文字列を出力する。スペースを含む場合は""で囲む。

echo $シェル変数 シェル変数の値を表示する。

高度なテキスト編集はエディタを使いましょう。有名なのは vimと emacsです。どちらを使っても自由

ですが、*12どちらも終了の仕方くらいは覚えておかないといろいろと困ることになります。他の記事で使

い方の紹介があると思うので、この記事では説明しません。

4.2 ファイル関連コマンド

ファイルの削除は rmコマンドで行います。前述したように削除できるファイルは自分が書き込み権限

を持つディレクトリに含まれるファイルになります。-rオプションを指定した場合はディレクトリを再帰

的に削除できますが、その中で自分の権限で削除できないファイルが存在した場合はそのファイルは削除

できません。また、削除できるファイルでも、自分が書き込み権限を持たないファイルを削除する場合に

は警告が発せられます。その警告を発しないようにするには-fオプションを指定しましょう。

rmコマンド

ファイルを削除するrm ファイルパス 指定したファイルを削除する。

rm -r ディレクトリのパス 再帰的にディレクトリを削除する。

rm -f ファイルパス 警告を発しない。

次はディレクトリの作成です。mkdir コマンドを使います。通常は存在するディレクトリの下にのみ

ディレクトリを作成することが出来ます。まだ存在していないディレクトリの下にディレクトリを作成す

る場合は-pオプションを使用します。

mkdirコマンド

ディレクトリを作成するmkdir ディレクトリのパス 指定したファイルを作成する。

mkdir -p ディレクトリのパス 必要なら中間のディレクトリも作成する。

あとはファイルの移動と複製です。それぞれ mvコマンドと cpコマンドを使います。ファイル、ディレ

クトリのリネームも mvコマンドで行います。ディレクトリをコピー、移動するとき、移動先ディレクト

リがすでに存在している場合の挙動はわりと分かりいにくいので自分で実験して調べてみると良いでしょ

う。*13cpコマンドの場合はディレクトリパスの最後に/をつけるか否かによって結果が変わってきます。

*12 ちなみに UTMC では vim が主流です。(要出典)大学の講義ではなぜか emacs しか説明されませんがだまされないように(何に?)

*13 ほらそこ、説明するのが面倒だからだろとか言わない!

UNIX入門への道 — autotaker 11

mv, cpコマンド

ファイルを移動、複製する。mv 移動元パス 移動先パス ファイル、ディレクトリを移動。

mv 移動元パス ディレクトリパス ファイルを指定したディレクトリに移動。

cp コピー元ファイルパス コピー先パス ファイルを複製。

cp コピー元ファイルパス ディレクトリパス ファイルを指定したディレクトリに複製。

cp -r ディレクトリパス ディレクトリパス ディレクトリを複製。

5. 応用5.1 入出力とリダイレクト、パイプ

シェルには入力が一つ、出力が2つあります。それぞれ標準入力、標準出力、標準エラー出力と呼ばれ

ています。基本的にはキーボードから打ち込んだ入力が標準入力、コンソール画面に表示されるのが標準

出力と標準エラー出力となります。標準出力と標準エラー出力は見た目には分かりませんが、今から説明

するリダイレクト、パイプという機能を使うときに違いが現れてきます。

リダイレクトとはこれらの入出力を任意のファイルに切り替える機能のことです。入力を別のファイル

に切り替えれば、そのファイルからデータを読み込んで処理することが出来ます。出力を切り替えれば結

果をファイルに保存することが出来ます。標準入力を指定するには<を、標準出力を指定するには>を、標

準出力と標準エラー出力を別々のファイルに書き出したいときは 1>と2>を使います。

また、出力ファイルを上書きするのではなく、追加書き込みしたいときは>>を使います。

リダイレクト

cal > cal.txt calコマンドの出力を cal.txtに書き込む。

cat hoge.txt fuga.txt > piyo.txthoge.txtの内容と fuga.txtの内容を連結して

piyo.txtに書き出す。

hoge 1> output.txt 2> error.log < input.txt

hoge コマンド(非実在コマンド)を入力

を input.txt 出力を output.txt エラー出力を

error.logとして実行。

hoge > output.txt 2>&1出力、エラー出力をまとめて output.txtに書

き出し

つぎにパイプ機能です。これはあるコマンドの標準出力を次のコマンドの標準入力として渡す機能のこ

とです。|を使います。この機能の便利なところはただ単に作業用ファイルが不必要であるという点だけ

でなく、二つ以上のプログラムを同時に走らせてパイプライン処理が出来ると言うことです。

たとえば、ウェブカメラからの映像をエンコードするプログラムと標準入力からのデータをストリーミ

ング配信するプログラムがあったとします。パイプ機能がなければ、この二つがあってもウェブカメラか

らの映像をライブ配信することは出来ませんが、(いったんファイルへの書き込みを終えてから読み込ま

なければならないため)パイプ機能を使うと二つのプログラムが同時に動くのでライブ配信が可能になり

ます。この仕組みのために UNIXのプログラムの開発者は簡単な機能を実装するだけでよく、利用者はプ

ログラムを組み合わせることが出来るので、出来ることの幅が格段に広がります。

12 UTMC Press 2012-4

パイプ

ps -A | grep bash 起動しているプロセスから bashコマンドの情報を表示

sort address.txt | head -n 10 address.txtの各行を辞書順でソートし、その上位 10行を表示

5.2 ワイルドカード

シェルの便利な機能の一つにワイルドカード指定という物があります。これは複数のファイルをまとめ

てコマンドライン引数に指定することが出来る機能です。*?[]{}の記号を使用します。*は任意の文字列

とマッチし、?は任意の文字とマッチします。[] は括弧の中に指定した文字のいずれか一文字とマッチ

し、{}は括弧内に文字列をカンマ区切りで書くことで指定した文字列のいずれかとマッチします。

ただし、*?は.で始まるファイルとはマッチしません。これは UNIXのファイルシステムではどのディ

レクトリにも../というペアレントディレクトリを指すものが存在し、これまでマッチさせてしまうとたい

ていの場合ろくなことにならないからです。*14*15

また、パターンマッチとその展開はシェルが行います。プログラムはシェルによって展開されたファ

イルパスを一つずつ引数として受け取ります。つまりカレントディレクトリに a,b,cの三つのファイルが

あったとすると、cat [ab]は cat a bと全く同じです。

5.3 シェル変数と環境変数

シェル変数は主にシェルスクリプトを書く場合に便利ですが、環境変数はある程度知っておかねばなり

ません。シェル変数とはシェル上での置換マクロのことです。大抵大文字で宣言します。

宣言は HOGE="ほげ"の用に書きます。=の間にスペースを入れてはいけません。

展開はシェル変数の前に$HOGEのように$記号をつけます。

この置換もシェルが行い、置換を行ったあとでそれをコマンドとして評価し、プログラムに渡します。

また、通常シェル変数が有効なのは現在実行しているシェルのみです。シェルで実行するプログラムには

シェル変数は渡りません。子プログラムにもシェル変数を有効にするためにはその変数を環境変数として

宣言しなければなりません。シェル変数を環境変数として宣言するためのコマンドは exportコマンドで

す。冒頭で出てきた LANGというやつも実は環境変数で、使用する言語環境を表しています。

そのほかに大事な環境変数が PATH です。これはコマンドの検索範囲を表しています。

これはコマンドを検索するディレクトリを:区切りで列挙した物です。たとえば PATH が

/usr/local/sbin:/usr/local/bin:/sbin:/bin であり、rm -rf ~/*というコマンドをシェルが

受け取ったとすると、シェルは PATHが指すディレクトリを左から順番に検索し rmという名前のプログ

ラムを探します。rmは/binにあるので一番最後のディレクトリまで検索し、見つけた rmプログラムに

コマンドライン引数を(ワイルドカードを展開してから)渡します。

*14 sudo rm -rf *というのはカレントディレクトリ以下のすべてのファイル、ディレクトリを削除という意味ですが、仮に.で始まるファイルも含んでしまうと、再帰的にペアレントディレクトリも削除していき最終的には HDD上のすべてのファイルを消し去るコマンドとなってしまいます。

*15 rmコマンドなど..を対象から外してくれる場合もあります。

UNIX入門への道 — autotaker 13

My-MacBook-Pro:~ autotaker$ HELLO=hello #HELLOを宣言

My-MacBook-Pro:~ autotaker$ WORLD=world #WORLDを宣言

My-MacBook-Pro:~ autotaker$ echo $HELLO #HELLOを展開

hello

My-MacBook-Pro:~ autotaker$ echo $HOGE #宣言していないシェル変数は空文字列に展開される

My-MacBook-Pro:~ autotaker$ export WORLD #シェル変数 WORLDを環境変数とする

My-MacBook-Pro:~ autotaker$ echo echo \$HELLO \$WORLD | bash

#bashを子プロセスとして起動し echo $HELLO $WORLDを実行

world #HELLOは環境変数ではないので、子プロセスでは未宣言だが、WORLDは展開される。

5.4 コマンド列挙

紙面が余ったのでよく使うコマンドを列挙して*16終わりにしようと思います。私の拙い文章と説明に最

後までつきあっていただきありがとうございました。

• apt-get Debian系パッケージ管理コマンド

• bashシェル

• bgジョブをバックグラウンド実行

• catファイルを表示

• cdカレントディレクトリを移動

• chgrpグループを変更

• chmodアクセス権を変更

• chown所有者を変更

• clear画面をクリア

• cpコピー

• dfディスクの使用率を表示

• echo引数を出力

• emacs高機能テキストエディタ

• exitシェルを終了

• export環境変数を宣言

• fileファイルの種類を判別

• groups所属しているグループを表示

• jobs現在実行しているジョブを表示

• killプロセスを終了

• logoutログアウト

• lsディレクトリを表示

• lsofシステムの入出力状態を表示

• mailメールを送る

• manコマンドのマニュアルを表示

• mkdirディレクトリを作成

• mvファイルを移動

• passwdパスワードを変更

• ps起動しているプロセスを表示

• pwdカレントディレクトリを表示

• rmファイルを削除

• sourceシェルスクリプトを現シェルで実行

• sshセキュアなリモート接続

• su別のユーザでシェルを起動

• sudo別のユーザでコマンドを実行

• tarアーカイブの展開、圧縮

• top システムの使用状況をリアルタイムに

表示

• touchファイルの新規作成、タイムスタンプ

の更新

• unzip zipの展開

• vi高機能テキストエディタ

• w3mコマンドライン上のウェブブラウザ

• wget便利なダウンロードコマンド

• whoログインしているユーザを表示

*16 ちなみに列挙には cut -d " " -f1 ~/.bash_history | sort | uniq -c | sort -rというコマンドの出力を参考にしました。この辺が CUIの凄さですね

14

3 ECCS Tutorial$ ECCS 2012 Version

Shotaro Tsuji

1. はじめに1.1 ECCSって何?

新入生の皆さん、ご入学おめでとうございます。これから皆さんが東大生として生活する上で利用し続

けるものとして教育用計算機システム(ECCS2012)があります。ECCSとは東京大学が学生・教職員を

対象に設置しているシステムです。ECCSはどこでも同じ環境が利用できるシステムで、例えば駒場キャ

ンパスで作成したファイルを本郷キャンパスで編集し、柏キャンパスに行って印刷し、家でそのファイル

を自分のパソコンにダウンロードするといったことも可能です。

この記事では、ECCSの基本的な使い方を紹介いたします。

2. ECCS端末について2.1 端末のスペック

今年度から稼働する ECCS 2012*1の端末は以下のようなスペックとなっています。

• 21.5インチ Apple iMac

• Mac OS X 10.7およびMicrosoft Windows 7

• Intel Core i5 2.5GHz QuadCore

• Memory 4GB

• HDD 500GB

• DVD± R DL, DVD± RW, CD-RW対応光学ドライブ

• 1920 x 1080ドット 21.5インチディスプレイ

• Happy Hacking Keyboard Lite2 for Mac日本語配列

• 3ボタンレーザー式マウス

特徴的なのは Mac OS X と Windows のデュアルブートが可能な点とキーボードに Happy Hacking

Keyboard(HHKB)が採用されている点です。

OS XとWindowsのデュアルブートが可能なのは、OS Xの Unix環境でのプログラミング教育(情報や

情報科学の授業で用いられる)とWindowsでの CAD教育(図形科学 IIの授業で用いられる)が必要なた

めです。

*1 ECCSは 4年ごとにシステムが更新されます。

ECCS Tutorial — Shotaro Tsuji 15

キーボードが HHKBである理由は、スペースを有効利用する上でサイズが小さいが、キーのサイズが

通常のサイズのキーボードを求めた結果だそうです。*2

3. どこで使えるの?駒場キャンパスでは情報教育棟の自習室や演習室と駒場図書館に端末が設置されています。駒場図書館

の方は混雑が激しく利用できないこともよくありますが、情報教育棟の方は駒場図書館よりは空いていま

す。図 1に情報教育棟と図書館の位置を示します。

本郷キャンパスでは総合図書館の 2階や 3階などで利用可能です。新入生のみなさんは本郷に行く機会

はあまりないでしょうが……

図 1 駒場キャンパスの地図(一部)

4. ECCS端末を立ち上げるまず、iMac端末の裏側にある電源ボタンを押して端末を立ち上げます。すでに OSの選択画面がが表示

されている場合は電源ボタンを押す必要はありません。

次に、OS選択画面が表示されたらMacとWindowsのどちらを起動するか選択します。IDとパスワー

ドを入力しエンターキーを押します。ここで必要な IDは図 2に示すように学生証の右下にある 18桁の数

字のうち下 10桁になります。パスワードは教養学部の行うガイダンスの後、配布されます。

*2 Happy Hacking Keyboard Lite2 for Macの定価は 6300円です。情報基盤センターの前身である教育用計算機センターで 1985年から 1989年にセンター長を務められていた計数工学科の和田英一名誉教授が HHKBを開発されました。

16 UTMC Press 2012-4

図 2 学生証の右下部分の番号の下 10桁が IDとなる。

5. Mac環境を使ってみるログインしたら図 4 のような画面が表示されます。Mac の画面の下部には Dock という場所がありま

す。ここにはアプリケーションのアイコンが並んでいて、それぞれのアイコンをクリックすることでアプ

リケーションを起動できます。

Dockの一番左には「Finder」のアイコンがあります。FinderはWindowでいう Explorerで、ファイルの

操作をするアプリケーションです。他にもMicrosoft Wordや Excelなどのアイコンがならんでいます。一

番右にはごみ箱のアイコンがあります。ここにファイルをドラッグすることでファイルをごみ箱に入れる

ことができます。

6. 日本語を入力してみるWindowsとMacでは日本語の入力の方法が若干異なっています。キーボード配列は一般的な QWERTY

配列なので問題ないでしょう。

日本語入力の切り替えは、Windowsではキーボード左上の「半角/全角」キーで切り替えますが、ECCS

の Macではスペースキーの右にある「Kana」キーで日本語入力に、スペースキーの左にあるキーで英数

ECCS Tutorial — Shotaro Tsuji 17

図 3 ECCS端末のMacのログイン画面。ここに IDとパスワードを入力する。

字入力に切り替わります。

ECCS 2012のキーボードは Happy Hacking Keyboard Lite2 for Macという省スペース型のキーボードな

のでファンクションキーなどの一部のキーは「Fn」キーと数字キーなどを使った同時押しで代替します。

よく使うキーボードショートカットの使い方も紹介しておきます。Macでキーボードショートカットを

使うときに必要なキーはコマンドキーです。コマンドキーとは「 」という記号が印字されたキーです。

+Cで「コピー」、 +Vで「貼付け」、 +Xで「切り取り」などのショートカットがあります。

7. 端末を使った後は端末から一時的に席を外す場合は必ずスクリーンをロックしましょう。また、端末の利用が終わったら

必ずログアウトしましょう。これを怠ると自分のアカウントで他人に端末を利用されてしまいます。な

お、端末を放置して 15分するとスクリーンがロックされ、一時間すると自動にログアウトされます。

8. プリンタで印刷ECCSでは利用者が端末からプリンタへデータ(ジョブ)を送り、その後プリンタを操作して印刷しま

す。印刷は有料です。

プリンタへデータを送るには、画面上部のメニューから「ファイル」→「プリント」を選択します。す

ると図 5のようなダイアログが表示されます。

まずはプリンタを選びます。白黒印刷の場合は「Main_Mono」、カラー印刷の場合は「Main_Color」を

選択します。次に用紙サイズを設定します。標準では A4が設定されているので、A3で印刷する場合は用

18 UTMC Press 2012-4

図 4 Mac環境でのデスクトップ画面。VNCでログインしたため Officeのアイコンが?になっている。

紙サイズを A3に設定します。

印刷の設定が終わったら、右下の「印刷」ボタンを押します。これでプリンタにデータが送信されます。

次に端末のスクリーンをロックしてプリンタの前に移動します。

プリンタの前に移動したら、プリンタの端末画面の指示に従って印刷します。料金の支払いは現金、プ

リンターカード*3、交通系電子マネー*4のいずれかで行います。利用料金は以下の通りです。白黒(A3,A4) 10円/ページ

カラー(A3,A4) 50円/ページECCS端末からプリントする以外にも、プリンタドライバをインストールすることで自宅のパソコンか

らもデータをプリントに送信できます。また、USBメモリを直接プリンタに挿して印刷することもでき

ます。

9. WebDAVで学外からアクセスWebDAV とは HTTP を拡張した、Web サーバ上のファイル操作を行うプロトコルです。ECCS では

WebDAVを利用して学外から ECCS上の自身のファイルにアクセスすることが出来ます。ここでは一番

*3 プリンタの近くに自販機があります。*4 Suicaや Pasmoなどのプリペイド方式の交通系 ICカードが使えるようです。

ECCS Tutorial — Shotaro Tsuji 19

図 5 プリントダイアログ。ここでカラーとモノクロの設定や用紙サイズの選択をする。

手軽に利用できる、ウェブブラウザからの利用方法を紹介します。

ECCSでは Mac環境と Windows環境でディレクトリが分かれているため、WebDAVでも Mac環境と

Windows環境は別々にアクセスすることになります。どちらの環境でも利用方法は同じなので、ここでは

Mac環境で話を進めていきます。

まず、ブラウザで https://davm.ecc.u-tokyo.ac.jp/を開きます。*5すると図 6のようなログイン画面が表示

されるので、ECCS端末へのログインに使う IDとパスワードを入力します。

ログインが済むと図 7のような画面が表示され、ファイル操作が可能になります。

10. VNCで学外からアクセスVNCとは Virtual Network Computingの略で、ネットワークを通してコンピュータを遠隔操作するため

のソフトウェアです。ECCS 2012ではリモートアクセス環境として VNCが導入されました。

VNC もウェブブラウザを通して利用できるので手軽に試すことができるでしょう。使い方は、

https://ras001.ecc.u-tokyo.ac.jp/guacamole にアクセスして、ID とパスワードを入力しログインするだけ

です。利用できるのはMacだけですが、ECCSの端末と同様に GUIで操作できます。*6

*5 Windows環境では https://davw.ecc.u-tokyo.ac.jp/を開きます。*6 ただし同時利用人数の上限が 30人に設定されています。

20 UTMC Press 2012-4

図 6 ECCS端末のMacのログイン画面。ここに IDとパスワードを入力する。

11. 無線 LANを使ってみる近年、モバイル機器の普及により大学当局も学内で無線 LANが使えるように整備を進めています。み

なさんもお手持ちのノートパソコンやタブレット端末を無線 LANにつないでネットを利用したいという

こともあるでしょう。

学内で無線 LAN を使う場合は、情報基盤センターの「無線 LAN 実験」と情報システム戦略会議の

「utroam」の二つのサービスを利用することになります。それぞれで無線 LANを利用できる場所が微妙に

異なっているので両方に登録しておくべきでしょう。

詳細は、https://secure.ecc.u-tokyo.ac.jp/wlan.html と http://utroam.nc.u-tokyo.ac.jp/ を参照してください。

どちらも学内からしかアクセスできませんので、ECCS端末からアクセスしてください。

ECCS Tutorial — Shotaro Tsuji 21

図 7 ブラウザからWebDAVにログインした後の画面。ここでファイル操作が出来る。

12. 困ったときはECCSでトラブルに遭遇したときは、システム相談員に助けを求めましょう。システム相談員は情報教

育棟や図書館にいるので、気軽に声をかけましょう。きっとトラブルを解決してくれるでしょう。

22

4 About UTMCUTMCとはなんぞや

HRHT (ブログの中の人)

1. UTMCについて東大マイコンクラブ、通称 UTMC*1は 1976年に設立されたコンピュータに関すること全般を扱うサー

クルです。主な活動内容はプログラミングをはじめ 2D、3DCG製作や自作 PC、DTMなど多岐に渡って

います。

2. 活動内容2.1 定期活動

UTMCの定期的な活動には基本週一回行われる部会、及び生産会があります。部会では部員が集まり、

今後の活動予定や連絡事項等を雑談を交えながら話し合います。生産会では部員それぞれがプロダクトの

製作活動をおこないます。また、部員の息抜きや交流を深めるためボードゲーム等で遊んだりもします。

2.2 随時行われる活動

部員の要望により講習会が行われます。内容は PCに関することなら何でも取り上げています。そのほ

か、夏季休暇期間には合宿がおこなわれます。OBも参加し、技術的な深い話を聞くことができます。

2.3 五月祭、駒場祭

五月祭や駒場祭ではゲームを中心とした展示、及び部誌の配布をしています。主にこれらの機会が部員

が製作したプロダクトの発表場所となります。毎年多くの方がゲーム等を楽しんで行かれます。また、プ

ロダクトを CDとして販売する場合もあります。

3. 2011年度の活動内容3.1 おこなった活動

UTMCがおこなった主な昨年度の活動は以下のとおりです。

• 講習合宿

• 五月祭ゲーム展示

• C#講習会

*1 ‘the University of Tokyo Microcomputer Club’の略称

About UTMC — HRHT 23

• TeX講習会

• レイ・トレーシング講習会

• フライトシミュレーター講習会

• 夏合宿(那須)

• 自作 PC講習会、及びその作成

• 駒場祭ゲーム展示、CD販売

• 冬コミ CD販売

• Linux講習会

• 春の生産祭り

3.2 プロダクト紹介

3.2.1 五月祭

Interceptor

上から降ってくる白いのを画面の下まで通さないように迎撃するゲーム

Color Pinch

多人数で対戦可能なオセロゲーム

3.2.2 駒場祭

Fessel Band

二人で協力し、敵の攻撃を避けきるゲーム

24 UTMC Press 2012-4

囲碁サッカーテトリス

囲碁とサッカーとテトリスを組合せた対戦型パズルゲーム

波のシミュレーション

波の動きをシミュレーション

この他にも多数のプロダクトを製作しました。

4. 連絡方法UTMCに興味がある人や詳しく知りたい人はブログ*2や Twitter*3に連絡するか、昼休みなどに部室*4ま

で来て下さい。部員一同お待ちしております。

*2 http://www.komaba.utmc.or.jp/*3 @utmc*4 学生会館 314B

25

5 開発環境についてドーモ、開発環境です

MASA (まさ)

1. 対象Windowsユーザーを対象とします。Macを使っている人は適当に Xcodeとか Eclipseとか使ってくださ

い。また、この記事はプログラミング初心者向けなので自分のこだわりを持っているような人はスルーし

ても構いません。

2. 開発環境とはそもそも開発環境とは、プログラミングを行うために使うソフトウェア群のことを大体指します。プロ

グラミングに必要なソフトウェアは、

• テキストエディタ

• コンパイラ

• デザイナ

などが挙げられます。プログラマが好んで用いるテキストエディタには vimや emacsなどがあり*1、また

コンパイラには有名なものに gcc(GNU C Compiler)などがありますが、この記事では簡単に使えて便利な

「統合開発環境 (IDE Integrated Development Environment)」ソフトウェアである VisualStudioについて紹介

します。

3. VisualStudioとはVisualStudioとは、Microsoft社が提供する統合開発環境です。統合開発環境という名が示すようにテキ

ストエディタやコンパイラなど多くの機能のソフトウェアを一つにまとめたものであり、またプログラミ

ングを楽にする様々な機能も含まれているため効率的な開発を可能にしています。VisualStudioには機能

が制限された無償版の Express Edition*2、機能が充実している Professional Edition、また企業での大規模

な開発に役立つ機能が含まれた更に上位のバージョンが存在します。ソフトウェアは高価なので学生には

無償の Express Editionしか使えない、と言いそうなところなのですが、なんと学生であれば無料で様々な

ソフトウェアが使える DreamSparkという支援プログラムをMicrosoftが行なっているため、VisualStudio

Professional Editonがタダで使えます。

*1 vimを先に挙げるのは意図的なものです*2 それでも十分便利なわけですが

26 UTMC Press 2012-4

4. DreamSparkへの登録方法http://msdn.microsoft.com/ja-jp/academic/hh779102この URLを見ておけば大体わかると思いますが、そ

れではわからない点について記述します。認証方法についてですが、普通に学校を選択してメールアド

レスを入力して認証するのはなぜかうまく行かないため*3、らくらく連絡網で認証コードを入手する方法

(http://ra9.jp/se/tie_ups/dream_spark)をとるのがよさそうです。この場合は認証コードを先に手に入れてか

ら DreamSparkへの登録を行いましょう。

5. その後DreamSpark に登録したら VisualStudio2010Professional をダウンロードしてインストールしましょう。

他にも色々と便利なソフトウェアがありますが、ここでは扱いません。VisualStudioのインストールがで

きたらプログラミングを始める用意は完了です。後は今後行われるプログラミング講習会で学ぶもよし、

自分で調べていじってみるもよし、それはあなたの自由です。

6. おまけVisualStudio Professionalで利用できるプログラミング言語*4を軽く紹介します。

6.1 C#

Microsoft謹製のプログラミング言語で、Windowsでの開発用の言語として中心的なものと位置づけら

れています。基本的には Javaのようなオブジェクト指向の言語でありながら、関数型言語の機能も融合さ

せた生産性の高さが特徴です。使いやすさなどの理由で、今年の UTMCではプログラミング初心者向け

にこの C#を教えます。

6.2 C++

非常に有名で伝統のあるプログラミング言語で、その知名度や情報の多さからこの言語を使ってプログ

ラミングを始める初心者も多くいます。ただ使いこなすためには極めて高度な知識と経験が必要とされ、

また数十年前からある言語のため現代のプログラミング言語には存在しないような制約*5も多いため、実

際には初心者におすすめできない難しいプログラミング言語です。

6.3 Visual Basic

昔からある BASIC というプログラミング言語を拡張した、Microsoft の独自言語です*6。もともとの

BASICは分かりやすさが特徴で、かつてアマチュアの間で人気が出た言語であったものの大規模なプロ

グラムを組むには機能不足なものでした。その BASICに様々な機能を追加して業務用プログラムの開発

*3 多分。*4 プログラムを記述するための言語*5 まともに使うにはヘッダを書く必要があったり、文法が不条理だったり*6 実際そう言っていいよね?

開発環境について — MASA 27

にも耐えるようにしたのが VisualBasicです。Windows開発用の言語として C#に並ぶ扱いを (Microsoftか

ら)受けているものの、使っている人は見たことがありません。

6.4 F#

Microsoftの独自言語の関数型言語です。使ったことが無いのでよくわかりません。

28

6 Debianのすすめme (みー)

1. Debianとは皆さんは,主にMicrosoft Windowsや OS X (MacOS)を使っていることが多いかと思いますが,フリー

の OSに触れてみませんか?

この記事では,フリーの OSとして有名な “Debian”を紹介します.Debianは,Linux(Linus Torvaldsと

いう人が開発を始めた,UNIXに似たフリーな OSカーネル)などの「ディストリビューション」と呼ば

れるものの一つです.Debianのほかの GNU/Linuxディストリビューションには,現在よく知られている

Ubuntuや,Fedora (Red Hat Enterprise Linux),openSUSE,Arch Linux,Vine Linuxなどがあります(なお,

Ubuntuは Debianをベースに作られているので,基本的な部分は Debianです).MS Windowsや OS Xと

は異なり,Linuxや FreeBSDなどでは,OSの中核(カーネル kernel)だけではインストールしても何も

入っていないので使えません.そこで,さまざまなソフトウェアをまとめて配布することで,周辺ツール

もまとめてインストールできるようにし,使いやすくしています.一般には何でも「OS」と言いますし,

文脈で意味が変わりますが,「Debian」,「MS Windows」,「OS X」が同じような単位のソフトウェア集合体

です.

ここまで「フリー」と何気なく言ってきましたが,この記事では「フリー」について後ほど説明します.

2. インストールDebianのインストールの仕方は,Debian JP Project (http://www.debian.or.jp/)のサイトにある「De-

bian GNU/Linux 5.0 / 6.0クイックインストールガイド」(http://www.debian.or.jp/using/quick-etch/)

が詳しいので,そちらをご覧ください.

...

と言って次に進もうかと思いましたが,一応簡単に書いておきます.Debianについて詳しく知りたい!

というあなたは,次の章を読んでからここを見た方がいいでしょう.

まず,Debianをインストールするための CDを作ります.できれば有線接続でインターネットにつなぎ

ましょう.そして CDイメージというファイルをダウンロードしてください.http://www.debian.org/

の右上にあるリンクの「Netinstインストーラ」がおすすめです.そのファイルを CD作成ソフトで空の

CD-Rなどに書き込みます.

別の方法として,CD を作らず MS Windows 上からインストーラを準備することもできます.

http://goodbye-microsoft.com/からインストールできます.

CDを作ったら,それを入れてコンピュータを再起動すると,インストールが始まります.Debianの画

像が画面に出てきたら,“Graphical install”を選択して Enterを押すのがおすすめです.グラフィカルにイ

ンストールができます.あとは画面の指示にしたがってください.

インストール中,インストールする場所を指定する必要があります.今MS Windowsなどが使っている

位置にそのままインストールしようとするとすべてのデータが消えてしまうので,そのパーティションを

Debianのすすめ — me 29

縮小して,空いた領域に新しいパーティションを作り,そこにインストールするのがよいでしょう.

3. なぜ Debian?いきなりインストールの話をしてしまいましたが,これから Debianとはどんな OSかを説明していき

ます.

3.1 ユニバーサルオペレーティングシステム

Debianは,さまざまな言語をサポートしています.英語,日本語を始め,様々な言語を使うことができ

ます.インストーラは現在 70言語をサポートしています.

また,多くのコンピュータ,ハードウェア(アーキテクチャ)上で動かすことができます.メモリが

4GiB以上ある最近のマシン向けの amd64,以前の Intel/AMDプロセッサ向けの i386や,powerpc,sparc

など 9種類(のプロセッサ)をサポートしています.

また,最新のバージョンでは,OSのカーネル(中核部分)も Linuxだけでなく FreeBSDが選べるよう

になりました*1.

つまり,Debianは,言語やハードウェア,カーネルといったものに依存せず同じように動く(ように努

力している),様々な意味で universalなオペレーティングシステムなのです.

3.2 パッケージ,パッケージシステム

たくさんのソフトウェアが,個々にパッケージという形でまとめられています.2012 年 4 月現在,

29,000以上のソフトウェアがパッケージになっています.ソフトウェアを使いたいときには,そのパッ

ケージをインストールするだけですぐ使うことができます.多くのパッケージがあり,MS Windowsなど

のように,作者のサイトからダウンロードして,といったことを(しても構いませんが)基本的にせずに

済みます.

パッケージ同士には依存関係というものが付けられています.ソフトウェアを動かすには,別のソフト

ウェアの機能が必要になることがよくあるので,パッケージが別のパッケージに依存する,という形で管

理しています.Debianは APT (Advanced Package Tool)というシステムでこの関係を一括管理しているの

で,簡単にインストールやアンインストールなどができます.

3.3 世界中のボランティアたち

Debianは,約 1,000人もの世界中のボランティアによって開発やサポートが行われています.他のディ

ストリビューション,Fedoraや Ubuntuなどは特定の企業・人により開発されていますが,Debianはボラ

ンティアなので,自由(フリー)に開発が進められています.また,使っている人もなにか問題点や要望

などがあれば,バグ報告などをすることができます.

*1 まだ一部のソフトウェアが足りませんが,大体使えます

30 UTMC Press 2012-4

3.4 フリーソフトウェア (Free software)

初めに「フリー」と言いましたが,フリーとは「自由 (freedom)」のことです.Debianの根本はここに

あります.

3.4.1 フリーソフトウェアとは

フリーソフトウェア (free software)というと,「フリーソフト」なら聞いたことがあるけれど...という方

も多いでしょう.「フリーソフト」は一般に「無料で使えるソフト」のような意味で使われることが多い

と思いますが,「フリーソフトウェア」はそれとは別のものです.

フリーソフトウェアは,様々な意味で「自由 (free)な」ソフトウェアです.

まず,使いたい人は自由に使える,ということです.どんなコンピュータでインストールして動かして

も構いません.

また,自由にコピーして配って構いません.例えば,「このソフトは 1ライセンスにつき xx台まで」,

「このソフトは非商用目的でのみ」というような制限をしません.「自由」なので,販売しても構いません

(必ず無料でなければならない,ということはありませんが,コピーは誰でもできますから,大抵は売っ

ても値段はほとんど通信代やメディア代だけになるでしょう).

さらに,ソフトウェアを改良したい人はソースコードを自由に書き換えて構いません.MS Windowsの

場合は,ソースコードを「見る」こと自体は,申請すれば条件によってはできるようですが,変更や配布

などに厳しい制限を加えています.元のコードの変更は事実上できません.不具合など問題点(バグ)が

あっても,修正や改良などはMicrosoftしかできません.

■フリーソフトウェアの成り立ち 昔は,コンピュータのプログラムはソースコードを見ることができ

て,利用することができました.しかし,主に 1980年代頃から,ソースを非公開にして改良など変更を

認めないとする,独占的 (proprietary)なプログラム(バイナリのみ)を販売する人/企業がでてきました.

そこで,Richard M. Stallmanという人が「フリーソフトウェア」という考え方を提唱しました(このとき,

GNU Project*2 というプロジェクトを始めました.その後,フリーソフトウェア運動を推進するため,Free

Software Foundationという団体を設立し,今もメインで活動されています).その後もMS Windowsなど,

独占的なソフトが席巻していますが,みんなでフリーソフトウェアを使うことで状況は変えられると思い

ます.

■フリーソフトウェアのライセンス もし誰かが「フリーソフトウェア」として自分のプログラムを公開

したとします.しかし,そのままでは,例えばそれをまるごと別の企業などがコピーして,少しプログラ

ムの機能を拡張したりして改良した後で,ソースコード非公開で変更を認めない独占的なプログラムとし

て発表する,といったこともできてしまいます.それではすぐ「フリー」ではなくなってしまい,自由な

改良もできなくなってしまいます(より良くなったソフトをみんなで使うことができません).そこで,

そのようなことのできない,かつ色々なソフトウェアで一般に使えるようなライセンスが考えられてい

て,実際に多くのフリーソフトウェアで使われています.

そのうち,有名なものの 1 つには,先ほどお話しした Stallman さんによってもともと書かれた GNU

General Public License (GPL)というものがあります.

*2 Debianは,Linuxや FreeBSDカーネルを用いていますが,カーネル以外の OSの中心的な部分には GNU Projectに由来したフリーソフトウェアが多く使われています.そのため,「Debian Linux」ではなく「Debian GNU/Linux」,FreeBSDカーネル版であれば「Debian GNU/kFreeBSD」と呼ばれています.

Debianのすすめ — me 31

3.4.2 Debianフリーソフトウェアガイドライン

Debianは,Debianフリーソフトウェアガイドライン (Debian Free Software Guidelines; DFSG)という基

準を作り(Debian社会契約 http://www.debian.org/social_contractで定めています),それに従うフ

リーソフトウェアをまとめて配布しています.

DFSGに適合するものを Debianの本体 (main)としていて,これに沿っていないものは Debianではあり

ません.ただ,どうしても使わなければならない方のために,適合はしていないけれども配布は自由にす

ることができるソフトを non-freeという領域(アーカイブ)に用意し,non-freeにあるパッケージに依存

したパッケージを contribというアーカイブに用意しています.また,デフォルトでは,普通に Debianを

インストールすると mainのソフトウェアだけがインストールされます.つまり,可能な限り自由を維持しようとしているのが Debianなのです.

■non-DFSG DFSGに従っていないソフトウェアは Debianの本体にはなりません.そのため,有名なソ

フトであっても(たとえフリーソフトウェアを推進している団体のソフトであっても) non-freeになった

りします.

Free Software Foundationの Emacsというエディタがあります.DFSGでは「ライセンスはソフトウェア

の修正を認めていなければならない」,と定められていて,一部マニュアルなどのライセンス GFDL (GNU

Free Documentation License)の Invariant Sections(不可変更部分)がこれに沿っていない,ということに

なっているため non-freeになっています.

また,Mozilla Foundation の Mozilla Firefox という Web ブラウザは,ソースコードは公開されていま

すが,ロゴなど,同じ画像を使いつづけていない限り「Firefox」と名乗ってはいけないとされていまし

た.そのため*3,Debianでは,そのままではその部分の変更ができずフリーではないため,Iceweaselと名

前を変えて画像も別のものに差し替えた上でパッケージになっています(同様に Thunderbirdが Icedove,

Seamonkeyは Iceapeになっています).なお,最近は Mozillaさんがフリーに使えるようライセンスを変

更したので,将来的には再び「Firefox」の名前に戻るかもしれません.

■欠点 (?)など Debianは,フリーを基本としているので,企業の作ったソースコードの見ることのでき

ないソフトを普通に使うことはできません.ただ,使えないもののほとんどは,同じ機能を持ち,かつ

ちゃんと使えるフリーソフトウェアがあるので問題はあまりありません.

例えば,Microsoft Officeはありません.ただその代わりに LibreOffice (OpenOffice.org)などフリーのオ

フィスソフトが使え,MS Officeのファイルも大体読み書きできます.まだ完全ではありませんが,かな

り互換性は良くなっています.

しかし,現状ではどうしても使えないものがあります.グラフィックボードを動かすソフトウェア(ド

ライバ)の一部は,企業がソースコードを公開しないためフリーなドライバを作るのがとても難しくなっ

ています.そのため,そのままでは画面にうまく表示されないというコンピュータもまだ残念ながらあり

ます.

同様に,無線 LANのソフトウェアも,一部のチップセットは使えないことがあります.

また,これは Debianに限った話ではありませんが,法的な問題がグレーであることやライセンスのた

め,DVDや一部の動画の再生はそのままではできません.配布するのも危ないので non-freeにも入って

いません(有志の方たちが,http://www.debian-multimedia.org/など外部でそのようなマルチメディ

ア関係のパッケージを提供してくれていますが,そのソフトウェア自体がフリーソフトウェアであっても

*3 また,この件ではMozillaさんがクレームを言ってきたので

32 UTMC Press 2012-4

各国の法律を守れるとも限りません).

4. Debianに関連したディストリビューションDebianはほかのディストリビューションの基礎にもなっていて,派生してでてきたものがいくつかあり

ます.

Ubuntuという,巷では人気がある(UTMCでは Debianの方が人気ですが(ぉ))ディストリビューショ

ンが一例です.Ubuntu は,Canonical という会社が運営しているディストリビューションです.だいた

い定期的に最新版が公開され,ユーザーを重視し(ているという名の下に),一般に Debian よりも「フ

リー」という考え方を緩く捉えていて,Debianでは non-freeになるようなものも mainに含めたりしてい

ます.そのため,残念ながらフリーソフトウェアとしてはあまりおすすめできるものではありません.ま

た,Ubuntuはある特定の時期の Debian不安定版(後述)をコピーして利用しており,かつ一部の配布パッ

ケージしかサポートしていません.Debian系システムのお試しとしてはいいかもしれませんが,これを使

うくらいなら本家 Debianのテスト版を使えばいいのではないかと思います.

また,KNOPPIX という,インストールの必要のない CD/DVD を入れるだけで使えるものがありま

す(なお,産業技術総合研究所が日本語版としてカスタマイズした CD/DVD のイメージを公開して

います: http://www.rcis.aist.go.jp/project/knoppix/).non-free のパッケージは含まれますが,

GNU/Linuxシステムのお試しにはいいですね.

■Debianのリリース Debianには,「安定版 (stable)」,「テスト版 (testing)」,「不安定版 (unstable)」という

3つのリリースがあります.Debianはプログラムの安定性を重視しています.新しい「安定版」は,「テ

スト版」(次に安定版としてリリースされる予定のもの)の中で十分にテストをして,全体的に問題点(バ

グ)がかなり少なくなった時点でようやくリリースされます(現在の最新版は 6.0.4,2012年 1月 28日リ

リース).そして,stableのパッケージは,基本的には新機能のある新しいバージョンになることはありま

せん.ただし,リリースされた後にセキュリティ問題が発見されればすぐ修正が行われます.そのため,

安定性が求められるサーバなどの用途に主に使用されています.

Debianでは,新しいバージョンのソフトのパッケージはまず不安定版(開発者向けの最新版)に入り,

バグがある程度なくなって 2週間程度すると,そのパッケージはテスト版に入ります.

これから使い始める方には,安定版か,もっと新しいものを使いたい人にはテスト版をおすすめします.

最近は Linux用などのソフトウェア全体の品質がだいぶ良くなっているので,新しいバージョンのソフト

ウェアもあまり問題なく使えるようになっています.新機能も少し待てば入ってくることが多いので,テ

スト版は個人で使うには良いと思います.また「不安定版」は,多少バグがあってもすぐに新しいものを

使いたい人にはいいかもしれません.私はこれを使っていますが,何か問題があったら自分で直す必要が

あります.

5. 最後にまずはみなさんもご紹介したフリーな OS,Debian を使ってみませんか? 私は,大学入学以前は MS

Windowsを主に使っていました.1年生の夏頃から Debianを使い始めましたが,Windowsはほとんどた

まにMicrosoft Updateを実行するためにしか使わなくなり,そしてまったく使わなくなりました.

33

*あとがき *

もう明日がサークルオリエンテーションです。

34

Memo:

35

Memo:

9784201204016

1929404000005

UTMCBN978-4-2012-0401-6 C9404 ¥0E定価(本体オープン価格 +税)

UTMC Press 2012年 4月号(新歓部誌)

2012年 4月 4日 初版印刷2012年 4月 4日 初版発行

編 集 ikeyan表 紙 az_nyan印 刷 UTMC印刷局発行所 東大マイコンクラブ (UTMC)

〒153-0041 東京都目黒区駒場 3丁目 8番 1号東京大学教養学部学生会館 314B号

電 話 03 (5454) 4343(呼)e-mail [email protected]

URL http://www.komaba.utmc.or.jp/

©2012 UTMC Printed in Japan

落丁・乱丁は残部のある限りお取り替え致します。