Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.