UNIX 演習

UNIX演習
情報ネットワーク特論資料
1
準備
九州大学キャンパスクラウドに
VMインスタンスを用意
 用意したインスタンスにログイン




講義資料 vm-2015.pptx 「九州大学キャンパスクラウ
ド利用法」を参照
Windowsの場合 puttyを使用
MacOS Xの場合 ターミナルで sshコマンドを使用
現在の状態を確認
$ export LANG=C
$ pwd
$ ls
メッセージを英語で表示するよう設定
カレントディレクトリ(現在の作業ディレクトリ)を表示
ファイルの一覧

ログイン直後は「ホームディレクトリ」から開始

最初は、ホームディレクトリには何も入っていない
ホームディレクトリ
カレントディレクトリ
3
練習用のディレクトリを作成
新規に、ディレクトリ workを作成
$ mkdir work
$ ls
work/

ファイルの一覧
カレントディレクトリに、新しく workという名前の
ディレクトリが作成される
カレントディレクトリ
ホームディレクトリ
work
4
作成したworkディレクトリに移動
workディレクトリに移動
$ cd work
$ pwd
/root/work
$ ls

カレントディレクトリが変化したことを確認
カレントディレクトリに、新しく workという名前の
ディレクトリが作成される
カレントディレクトリ
ホームディレクトリ
work
5
プログラムの入力

Emacsを起動し,下のプログラムを入力
$ emacs -nw sample.c
#include <stdio.h>
int main()
{
printf("Hello World\n");
return(0);
}
カレントディレクトリ
ホームディレクトリ
work
sample.c
Ctrlキーを押しながら x
保存コマンド: C-x C-s
終了コマンド: C-x C-c
6
コンパイルと実行(1)
sample.c をコンパイル
 C言語プログラムのコンパイル: cc コマンド

$ cc sample.c –o sample
$ ls
sample sample.c
カレントディレクトリ
ホームディレクトリ
work
sample
sample.c
7
コンパイルと実行(2)

sample の実行

./ を忘れない
$ ./sample
Welcome to the UNIX world!
8
コンパイルと実行(3)

自分で入力したプログラムのコンパイル

エラーが出たら再編集
$ cc sample.c –o sample
再編集
$ emacs –nw sample.c
エラーメッセージが表示された?
No
Yes
$ ./sample
表示が正しくない?
No
Congratulations!
Yes
9
コンパイルと実行(5)
 プログラムの再編集(表示内容の変更)
$ emacs –nw sample.c
以下のように編集し、保存後終了
#include <stdio.h>
int main(void)
Emacs の行コピー機能を利用すると便利
{
printf("Yesterday, \n");
printf("All my trouble seemed so\n");
printf("Far away.\n");
return(0);
}

カレントディレクトリ
ホームディレクトリ
work
sample
sample.c
sample.c~
sample.c の、上書き前の内容
終わったら再度コンパイル・実行
$ ls
$ cc sample.c –o sample
$ ./sample
10
ファイルのコピー
$ pwd
/root/work
$ ls
sample sample.c sample.c~
$ cp sample.c sample2.c
$ ls
sample sample.c sample.c~
sample2.c
カレントディレクトリ
ホームディレクトリ
work
sample
sample.c
sample.c~
sample2.c
11
ファイルの削除
$ ls
sample sample.c sample.c~ sample2.c
$ rm sample.c~
rm: remove regular file 'sample.c~'? y
$ ls
sample sample.c sample2.c
カレントディレクトリ
ホームディレクトリ
work
sample
sample.c
sample2.c
12
ファイルの移動と名前の変更
$ mkdir test
$ ls
sample sample.c sample2.c
$ mv sample2.c test
$ ls
sample sample.c test
$ ls test
sample2.c
ホームディレクトリ
$ mv sample.c
sample3.c
$ ls
sample sample3.c test
test
カレントディレクトリ
ホームディレクトリ
work
sample
sample3.c
work
13
sample2.c
ログアウト

毎回、作業終了後は必ず以下を実行してログアウト
する
$ exit

その後、VMインスタンスを停止
14