Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 教育用クラウド上のサーバを用意 教育用クラウド: https://vcl.qc.kyushu-u.ac.jp/ ログイン後、「新規予約」
学生IDを使ってログイン ログイン後、「新規予約」 「継続時間」を選択して、「予約」 「接続!」が表示されるまで待って、クリック 「リモートコンピュータ」に表示されるアドレスに、 学生IDとパスワードを使ってログイン Windowsの場合、Putty等 MacOS X の場合、「ターミナル」で sshコマンド

3 実習用ファイルを取得し、 サーバにアップロード
講義ページにある unix.tar をダウンロード ファイル転送ソフト等を使って、教育用クラウド上に確保したサーバへアップロード Windowsの場合、 WinSCP MacOS Xの場合、 「ターミナル」で scpコマンド

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

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

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

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

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

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

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

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

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

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

14 ディレクトリのコピー $ cd ~/unix $ ls $ ls -R $ cp -r mm mm-copy コピー ホームディレクトリ
カレントディレクトリ カレントディレクトリ dat test lu pi-omp.c pi-omp.f90 hello.c pi.c lu-serial.f90 test.txt pi.f90 コピー lu-omp.f90 sample.c sum.f90 mm mm-copy c f c f mm.c mm.f90 mm.c mm.f90 mm-omp.c mm-omp.f90 mm-omp.c mm-omp.f90

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

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

17 コンパイルと実行(1) sample.c をコンパイル C言語プログラムのコンパイル: cc コマンド
$ cc sample.c –o sample $ ls

18 コンパイルと実行(2) sample の実行 ./ を忘れない $ ./sample Welcome to the UNIX world!

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

20 コンパイルと実行(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

21 リダイレクションの利用(1) sum.f90 のコンパイル $ gfortran sum.f90 –o sum $ ls

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

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

24 リダイレクションの利用(4) 実行: ファイルから入力し,ファイルへ出力 (リダイレクト)
実行: ファイルから入力し,ファイルへ出力      (リダイレクト) $ ./sum < data > out $ less out

25 リダイレクションとパイプラインの利用 実行: 出力を次のコマンドの入力とする (パイプライン)
実行: 出力を次のコマンドの入力とする      (パイプライン) $ ./sum < data | tail –1 $ ./sum < data | tail –1 > out $ less out

26 パイプラインの利用 1画面に表示しきれない出力をページ毎に表示 $ ls -lR | less

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


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

Similar presentations


Ads by Google