準備1:UNIX/Linux環境のセットアップ

home , 準備 (linux | editor | X window | ROOT | login | remote ROOT | Geant4) , 課題(1 | 2 | 3 | 4 | 5 | 6)updated 2013.5.9

Unix/Linuxを走らせる

  • Windows OSのパソコンの場合: (方法1) Xmingを起動させて Puttyでssh接続をする。 (方法2)仮想マシン環境構築用のVMware Playerを 用いてゲストOSにSLC5などのLinux OSを走らせる。 (方法3)Cygwinのインストールを行う。
  • MACパソコンの場合:Unix OSなので、デフォルトのターミナルとXを使う。ただしgccやg++は入っていないのでXcodeというアプリケーションをインストールしておく。
  • 自分のPC上でUNIX/Linuxを走らせることが出来ない場合は、陣内研究室のM1 金井氏に連絡し 受講者用計算機(atl.phys.titech.ac.jp)のアカウントをもらってリモートログイン してrootを起動してください。ノートパソコン上でのX Windowの起動は先輩やエキスパートに聞いてください。

    UNIXコマンドを使ってみる

  • 基本コマンド(cd, pwd, mkdir, ls)を使ってみる:
    pwd		// 現在のディレクトリ位置を示す。
    mkdir temp	// 新しいディレクトリtempを作る。
    cd temp		// ディレクトリtempに移る。
    cd		// ホームディレクトリに戻る。
    ls		// ファイルやディレクトリの名前を表示する。
    ls -l		// ファイルやディレクトリのの詳細を表示する
    rm -r temp      // ディレクトリtempを消す(remove)。
    
  • UNIXの入門ページには UNIX一先生, とほほのUNIX入門, UNIXコマンドなどがある。

    UNIXプログラムを作ってコンパイルして実行する

  • テキストエディターで以下のプログラム test.cc をつくる:
    #include <iostream>
    int main()
    {
        int a,b,c;
        a=100;
        b=5;
        c=a+b;
        std::cout << "a,b,c=" << a <<","<< b <<","<< c << std::endl;
        return(0);
    }
    g++ test.cc     //コンパイルする。
    ls -l          // 実行ファイル a.exe ができたことを確認する。
    ./a.exe        //と実行する(計算機によっては a.out の場合がある)。
    答えが「a,b,c=100,5,15」と出てくることを確認する。

  • 長いプログラムは以下の方法でコピー&ペーストする。
    (Windows/Cygwinの場合)Cygwin画面の青色バーを右クリックし編集を選び、右図のように貼り付けでペーストできる。コピーは範囲指定を選んでから範囲をこのようにドラグして選んでからEnterキーを押す。
    (他の方法)コピーペースト可能なWindowsのメモ帳などを使って作業directoryにファイルを開いたりsaveしたりする。同じファイルをCygwin側からアクセスする。

  • 以下のサンプルプログラムをedit→コンパイル→実行してみてUNIX,C++に慣れてください。
       basic.cxx,   random.cxx,   abs.cxx,   function.cxx,   array.cxx,   Car.cxx,   Class.cxx

  • 出力をdisplay画面でなくファイル out1 に出したいときは
    ./a.exe > out1   とする。

  • モンテカルロ計算などCPU時間がかかるプログラムの実行は
    ./a.exe > out1 & とすれば、そのjobが実行中でも同じターミナル上で他の作業ができる。その際jobの現状は
    jobs  とすれば
    [1]+ Running      ./a.exe > out1 &  などの表示がでる。このjobを途中で中止したいときは
    kill %1  を行う。プログラムbasic.cxxの中のsleep(2)をsleep(100)にして実行すれば体験できる。