Presentation is loading. Please wait.

Presentation is loading. Please wait.

UNIX演習 情報ネットワーク特論.

Similar presentations


Presentation on theme: "UNIX演習 情報ネットワーク特論."— Presentation transcript:

1 UNIX演習 情報ネットワーク特論

2 準備(Windowsのみ): TeraTermProのインストール
以下からファイルをダウンロード ダウンロードしたファイルを実行 言語の選択以外は、 基本的に「OK」か「next」をクリック

3 サーバへのログイン ホスト名: psihexa.cc.kyushu-u.ac.jp TeraTermの場合:
ホスト名を入力し OK をクリック User name に、講義で渡した ID Passphrase に、講義で伝えたパスワード を入力して OK MacOS X, Linux の場合: ターミナルで以下のコマンドを実行 講義で伝えたパスワードを入力 (入力中は何も表示されないので注意) ssh

4 初期パスワードの変更 必ず最初にパスワードを変更する
a0029]$ yppasswd Changing NIS account information for a0029 on pcc001. Please enter old password: 初期パスワードを入力 Changing NIS password for a0029 on pcc001. Please enter new password: 新しいパスワード Please retype new password: 新しいパスワード(確認) The NIS password has been changed on pcc001. a0029]$

5 ファイル操作の準備 実習用のファイルを展開. 展開後は以下のようになる. $ ls $ tar xvf /tmp/unix1.tar
ファイルの一覧 実習用のファイルを展開. 展開後は以下のようになる. ホームディレクトリ カレントディレクトリ unix1 hello.c pi.f90 pi.c pi-omp.f90 pi-omp.c mm.f90 mm.c mm-omp.f90 mm-omp.c mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-essl.f90 test.txt

6 作業ディレクトリの変更 カレントディレクトリを unix1に変更. $ pwd $ cd unix1 $ ls 現在のディレクトリを確認
ホームディレクトリ カレントディレクトリ unix1 hello.c pi.f90 pi.c pi-omp.f90 pi-omp.c mm.f90 mm.c mm-omp.f90 mm-omp.c mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-essl.f90 test.txt

7 ファイルの内容閲覧 $ less lu.f90 次のページへ: SPACE もしくは f 前のページへ: b
1行下へ:    Enter もしくは j 1行上へ:    k 閲覧終了: q ホームディレクトリ unix1 カレントディレクトリ hello.c pi.f90 pi.c pi-omp.f90 pi-omp.c mm.f90 mm.c mm-omp.f90 mm-omp.c mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-essl.f90 test.txt

8 ディレクトリの作成とファイルのコピー $ ls $ mkdir test $ cp hello.c test
$ cp test.txt test $ ls test testディレクトリ作成 ファイルのコピー testディレクトリの下のファイル一覧 ホームディレクトリ unix1 カレントディレクトリ test hello.c pi.f90 pi.c pi-omp.f90 hello.c test.txt pi-omp.c mm.f90 mm.c mm-omp.f90 mm-omp.c mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-essl.f90 test.txt

9 ファイルの削除 $ cd test $ pwd $ ls $ rm hello.c $ rm test.txt 削除 削除 ファイルの削除
ホームディレクトリ unix1 カレントディレクトリ test hello.c pi.f90 pi.c pi-omp.f90 hello.c test.txt pi-omp.c mm.f90 削除 削除 mm.c mm-omp.f90 mm-omp.c mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-essl.f90 test.txt

10 複数のファイルの操作 $ cd .. $ pwd $ cp hello.c test.txt test $ ls test
$ rm -ri test     全て y と答える $ ls ホームディレクトリ unix1 カレントディレクトリ test hello.c pi.f90 pi.c pi-omp.f90 hello.c test.txt pi-omp.c mm.f90 削除 mm.c mm-omp.f90 mm-omp.c mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-essl.f90 test.txt

11 ファイルの移動と名前の変更 $ mkdir test $ ls $ mv hello.c test.txt test $ ls test
$ mv lu.f90 lu-serial.f90 ファイルの移動 ファイル名の変更 ホームディレクトリ 移動 unix1 カレントディレクトリ test hello.c pi.f90 pi.c pi-omp.f90 hello.c test.txt pi-omp.c mm.f90 mm.c mm-omp.f90 mm-omp.c 移動 mm-essl.f90 mm-essl.c lu.f90 lu-omp.f90 lu-serial.f90 ファイル名変更 lu-essl.f90 test.txt

12 *の利用(1) $ mkdir lu $ ls $ mv lu-* lu $ ls lu 移動 名前の先頭が lu- であるファイルを移動
ホームディレクトリ unix1 カレントディレクトリ test lu pi.f90 pi.c pi-omp.f90 hello.c lu-serial.f90 pi-omp.c test.txt mm.f90 lu-omp.f90 mm.c lu-essl.f90 mm-omp.f90 mm-omp.c mm-essl.f90 移動 mm-essl.c lu-serial.f90 lu-omp.f90 lu-essl.f90

13 *の利用(2) $ ls $ mkdir mm $ mv mm.* mm-* mm $ ls mm 移動
名前の先頭が mm. であるファイルと mm- であるファイルを移動  (mm* とすると mmディレクトリまで   含まれてしまう) ホームディレクトリ unix1 カレントディレクトリ test lu mm hello.c lu-serial.f90 test.txt lu-omp.f90 pi.f90 lu-essl.f90 pi.c mm.f90 pi-omp.f90 mm.c pi-omp.c mm-omp.f90 mm.f90 mm-omp.c mm.c mm-essl.f90 mm-omp.f90 mm-essl.c mm-omp.c 移動 mm-essl.f90 mm-essl.c

14 *の利用(3) $ cd mm $ ls $ mkdir f c $ mv *.f90 f $ mv *.c c $ ls * 移動
ホームディレクトリ unix1 カレントディレクトリ test mm lu hello.c lu-serial.f90 test.txt c f lu-omp.f90 pi.f90 mm.f90 lu-essl.f90 pi.c mm.c pi-omp.f90 mm.c mm.f90 pi-omp.c mm-omp.f90 mm-omp.c mm-omp.f90 mm-omp.c mm-essl.c mm-essl.f90 mm-essl.f90 mm-essl.c 移動

15 ディレクトリのコピー $ cd ~/unix1 $ ls $ ls -R $ cp -r mm mm-copy 移動 ホームディレクトリ
カレントディレクトリ test mm mm-copy lu hello.c lu-serial.f90 test.txt c f lu-omp.f90 c f pi.f90 lu-essl.f90 pi.c mm.c mm.f90 pi-omp.f90 mm.c mm.f90 mm-omp.c mm-omp.f90 pi-omp.c mm-omp.c mm-omp.f90 mm-essl.c mm-essl.f90 mm-essl.c mm-essl.f90 移動

16 ディレクトリの移動 $ mkdir programs $ mv mm lu programs $ ls $ ls -R ホームディレクトリ
unix1 カレントディレクトリ programs mm-copy test hello.c lu c f test.txt mm mm.f90 mm.c mm-omp.f90 c f mm-omp.c pi.f90 lu-serial.f90 mm-essl.f90 mm-essl.c pi.c lu-omp.f90 pi-omp.f90 mm.c mm.f90 lu-essl.f90 pi-omp.c mm-omp.c mm-omp.f90 mm-essl.c mm-essl.f90

17 プログラムの入力(1) 作業ディレクトリに移動 $ cd ~/unix1/test ホームディレクトリ unix1 カレントディレクトリ
programs test pi mm lu c f c f hello.c lu-serial.f90 test.txt lu-omp.f90 pi.f90 mm.c mm.f90 lu-essl.f90 pi.c pi-omp.f90 mm-omp.c mm-omp.f90 pi-omp.c mm-essl.c mm-essl.f90

18 プログラムの入力(2) Emacsを起動し,次ページのプログラムを入力 #include <stdio.h>
$ emacs -nw test.c 以下のプログラムを入力し,保存後終了.       保存コマンド: C-x C-s 終了コマンド: C-x C-c #include <stdio.h> int main() { printf("Hello World\n"); return(0); }

19 コンパイルと実行(1) /tmp/sample.c をコピー (まず予め入力してあったものを試す) $ cp /tmp/sample.c .
$ ls ホームディレクトリ unix1 カレントディレクトリ programs test pi mm lu c f c f hello.c lu-serial.f90 test.txt lu-omp.f90 pi.f90 mm.f90 test.c mm.c lu-essl.f90 pi.c pi-omp.f90 mm-omp.f90 sample.c mm-omp.c pi-omp.c mm-essl.c mm-essl.f90

20 コンパイルと実行(2) sample.c をコンパイル C言語プログラムのコンパイル: cc コマンド
$ cc sample.c –o sample $ ls ホームディレクトリ unix1 カレントディレクトリ programs test pi mm lu c f c f hello.c lu-serial.f90 test.txt lu-omp.f90 pi.f90 test.c mm.c mm.f90 lu-essl.f90 pi.c pi-omp.f90 sample.c mm-omp.c mm-omp.f90 pi-omp.c mm-essl.c mm-essl.f90 sample

21 コンパイルと実行(3) sample の実行 ./ を忘れない $ ./sample Welcome to the UNIX world!
./ を忘れない $ ./sample Welcome to the UNIX world! ホームディレクトリ unix1 カレントディレクトリ programs test pi mm lu c f c f hello.c lu-serial.f90 test.txt lu-omp.f90 pi.f90 mm.c mm.f90 test.c lu-essl.f90 pi.c pi-omp.f90 sample.c mm-omp.c mm-omp.f90 pi-omp.c sample mm-essl.c mm-essl.f90

22 コンパイルと実行(4) 自分で入力したプログラムのコンパイル エラーが出たら再編集 再編集 エラーメッセージが表示された?
$ cc test.c –o test 再編集 $ emacs –nw test.c エラーメッセージが表示された? No Yes $ ./test 表示が正しくない? Yes No Congratulations!

23 コンパイルと実行(5) プログラムの再編集(表示内容の変更) 終わったら再度コンパイル・実行 $ emacs –nw test.c
以下のように編集し、保存後終了 #include <stdio.h> int main(void) { printf("Yesterday, \n"); printf("All my trouble seemed so\n"); printf("Far away.\n"); return(0); } Emacs の行コピー機能を利用すると便利 $ ls $ cc test.c –o test $ ./test

24 リダイレクションの利用(1) 準備: /tmp/sum.c のコピー $ cp /tmp/sum.c . $ ls ホームディレクトリ
unix1 カレントディレクトリ programs test pi mm lu c f c f hello.c test.txt lu-serial.f90 lu-omp.f90 test.c pi.f90 mm.c mm.f90 pi.c lu-essl.f90 test pi-omp.f90 mm-omp.c mm-omp.f90 sample.c pi-omp.c mm-essl.c mm-essl.f90 sample sum.c

25 リダイレクションの利用(2) sum.cのコンパイル $ cc sum.c –o sum $ ls ホームディレクトリ unix1
カレントディレクトリ programs test pi mm lu c f c f hello.c test.txt lu-serial.f90 lu-omp.f90 test.c pi.f90 mm.c mm.f90 test pi.c lu-essl.f90 pi-omp.f90 mm-omp.c mm-omp.f90 sample.c pi-omp.c mm-essl.c mm-essl.f90 sample sum.c sum

26 リダイレクションの利用(3) 実行: まずキーボードから入力 $ ./sum A = ? 10 B = ? 20
実行: まずキーボードから入力 $ ./sum A = ? 10 B = ? 20 A = 10, B = 20, A + B = 30 キーボードから入力 キーボードから入力

27 リダイレクションの利用(4) 実行: ファイルから入力 (リダイレクト) $ less /tmp/data 中身を確認したら q で終了
実行: ファイルから入力 (リダイレクト) $ less /tmp/data 中身を確認したら q で終了 $ ./sum < /tmp/data A = ? B = ? A = 100, B = 200, A + B = 300

28 リダイレクションの利用(5) 実行: ファイルから入力し,ファイルへ出力 (リダイレクト)
実行: ファイルから入力し,ファイルへ出力      (リダイレクト) $ ./sum < /tmp/data > out $ less out ホームディレクトリ unix1 カレントディレクトリ programs test pi mm lu c f c f hello.c test.txt lu-serial.f90 lu-omp.f90 test.c pi.f90 mm.c mm.f90 test pi.c lu-essl.f90 pi-omp.f90 mm-omp.c mm-omp.f90 out sample.c pi-omp.c mm-essl.c mm-essl.f90 sample sum.c sum

29 リダイレクションとパイプラインの利用 実行: 出力を次のコマンドの入力とする (パイプライン)
実行: 出力を次のコマンドの入力とする      (パイプライン) $ ./sum < /tmp/data | tail –1 $ ./sum < /tmp/data | tail –1 > out $ less out tail コマンド: ファイルの末尾から指定した行数分を表示する.            tail –行数 ファイル名 ホームディレクトリ unix1 カレントディレクトリ programs test pi mm lu c f c f hello.c test.txt lu-serial.f90 lu-omp.f90 test.c pi.f90 mm.c mm.f90 test pi.c lu-essl.f90 pi-omp.f90 mm-omp.c mm-omp.f90 out sample.c pi-omp.c mm-essl.c mm-essl.f90 sample sum.c sum

30 パイプラインの利用 1画面に表示しきれない出力をページ毎に表示 $ ls -lR | less カレントディレクトリ ホームディレクトリ
unix1 programs test pi mm lu c f c f hello.c test.txt lu-serial.f90 lu-omp.f90 test.c pi.f90 mm.c mm.f90 test pi.c lu-essl.f90 pi-omp.f90 mm-omp.c mm-omp.f90 out sample.c pi-omp.c mm-essl.c mm-essl.f90 sample sum.c sum

31 ログアウト 必ず以下を実行してログアウトする $ exit


Download ppt "UNIX演習 情報ネットワーク特論."

Similar presentations


Ads by Google