情報処理基礎演習Ⅱ
地球環境学科 伊藤,小黒
TA 川野,馬場
講義の内容
 UNIX系のOSの使い方(Linuxの使い方)
(始めのうちは慣れないため扱いづらいかも・・・)






起動・終了
ディレクトリ(フォルダ)の構造
基本的なコマンドの使い方
エディタ(vi)
ファイルの操作,管理
リモートアクセス
 教科書
 三上 「SunユーザのためのやさしいUNIXのはじめ
かた」 オーム社
本講義の評価方法
 中間試験,期末試験
 出席・授業態度
 (レポート)
Unixとは
 Windowsとは異なるOS
 Windowsと比べると・・・




無料・安価
軽い(パソコンが軽快に動く)
安全
高度な命令が可能
サーバや学術的な計算機としての
コンピュータにはUnix(もしくはLinux)搭載されている
Unix系OSの種類
 Unix

Solaris
 Linux



Red Hat Linux
Fedora
Ubuntu ・・・ PC教室搭載
 BSD

Free BSD
他多数
PC教室のLinux起動・終了
<起動>
 パソコンを起動し,黒い画面で選択欄をUbuntu
に指定
 ユーザ名・パスワードを記入
<終了>
 アイコンを押して終了
 (コマンドでも終了可能)
GUIとCUI(復習)
 GUI

アイコンをクリックすることでコンピュータを操作す
る
 CUI

コマンドを打ってコンピュータを操作する
 LinuxはGUIも充実しているが,基本的にCUI
ディレクトリ(教科書P.30)
 Windows系OSでいう「フォルダ」と同じ
 フォルダ: folder, 紙(書類)ばさみ
 ディレクトリ: ツリー構造
/
bin export
local
usr
share
home
・・・
ルートディレクトリ
すべてのファイルや
ディレクトリは
ここから枝分かれ
・・・
ディレクトリの一例
 あるUnix系のコンピュータにmikamiがログイン
/
bin
export
nakano
usr
mikami
home
・・・
tsuji
・・・
ホームディレクトリ カレントディレクトリ
親ディレクトリ
基本コマンド
 ls カレントディレクトリの内容を表示する(P.34)
(Windowsでフォルダの中身を見る行為と同じ)

ls -l
詳細表示
練習
 ターミナルを立ち上げて,現在のディレクトリの中
身を表示してみよう。


どんなファイル(もしくはディレクトリ)があるか確
認し,それをノートに書いてみよう。
35ページ一番下の説明を見ながら,一つずつ理
解しよう。
→WindowsのKドライブの内容と同じであればO.K.
 31ページの図において,「design」ディレクトリの
親ディレクトリは?「home」ディレクトリの親ディレ
クトリは?
基本コマンド
 pwd 現在いる場所を表示する(P.33)
 cd
他のディレクトリに移動する(P.33)

使い方
cd (移動先のディレクトリ名)

親ディレクトリに移動する場合: cd ..
ホームディレクトリに移動する場合: cd

練習
 ホームディレクトリから親ディレクトリに移動し,そ
のディレクトリをls -lコマンドでディレクトリの中身
を見てみよう。
 ルートディレクトリまで行ってみよう。

pwd コマンドで「/」だけ表示されればO.K.
 ルートディレクトリから自分のホームディレクトリ
まで移動してみよう。

pwdとls –lで確認してみよう。
パス
 ファイルやディレクトリ(フォルダ)がどこにあるか
を示す文字列
 Windows系でのパスの例
D:\mydata\HIT\lecture\test.txt
 Unix系でのパスの例
/home/seiji/test
-
スラッシュ
ろ を押す
\→
(本当はバックスラッシュ)
パス
 絶対パス


パス名がスラッシュで始まるパス
ルートディレクトリからみたときの位置(絶対位置)
 相対パス


パス名がスラッシュで始まらないパス
カレントディレクトリから見たときの位置(相対位
置)
相対パス
 カレントディレクトリがbinのときtestの相対パス
../home/mikami/test
/
bin
export
nakano
usr
mikami
test
home
tsuji
・・・
・・・
練習
 ディレクトリの図を見て答えてみよう


ホームディレクトリの絶対パスを書いてみよう。
ホームディレクトリから見て,binディレクトリの相
対パスを書いてみよう。
 cdの正式な使い方は,
cd (パス名)
であることから,上で書いた相対パスでbinに直
接移動するかどうか確認してみよう。
ディレクトリの操作コマンド
 mkdir

mkdir test
 rmdir


ディレクトリの生成 (P.36)
testというディレクトリを生成
ディレクトリの削除(P.36)
rmdir test
testというディレクトリを削除
注意点
1. 削除したいディレクトリに1つでもファイルが
あると,削除できない。
2. 削除したいディレクトリに現在いると,
削除できない。
練習
 ホームディレクトリでjouhou2のディレクトリを作
成してみよう。
(以後、本講義ではjouhou2ディレクトリ内で作業
します。)
ホームディレクトリ
 右の図のようにディレクトリ
jouhou2
を作成してみよう。
test1
 作成後,test1,2を消してみよう。
test2
ファイルの操作コマンド(1)
 cat

 cp

ファイルの内容を表示する(P.37)
cat (表示したいファイル名)
ファイルをコピーする(P.39)
cp (コピー元のファイル名) (コピー先のファイル名)
適当なファイルを作成する下準備として・・・
 コマンドの実行結果をファイル出力(P.44 or 89)

例: ls –l > test_ls.txt
(ls –lの結果を,test_ls.txtに保存する)
練習
 jouhou2ディレクトリで
ls –l > test_ls.txt
を実行してみよう。
 test_ls.txtが作成されたか確認してみよう。
 test_ls.txtの内容を表示してみよう。
 test_ls.txtをls.txtの名前でコピーしよう。
練習(少し難しいです)
 もう一度右図のディレクトリを
作成し,test1にls.txtをコピー
してみよう。
ホームディレクトリ
jouhou2
test1
test2
ヒント: 現在jouhou2ディレクトリにいる場合
cp (コピー元のファイル名) (コピー先のパス名)
絶対パス,相対パスどちらでも良い
練習(少し難しいです)
 test1ディレクトリで下記コマンドを実行しよう。
date > date.txt
(dateコマンドの内容をdate.txtに格納する)
 上で作成したdate.txtをtest2ディレクトリにコピー
しよう。
練習
 rmdir の「注意」ができないことを試そう


前の練習が完了している状態で,rmdirを試して
みよう。
test2まで移動して,test2ディレクトリを消すコマン
ドを試してみよう。
(参考)カレントディレクトリを消したい、というコマンド
rmdir .
ファイルの操作コマンド(2)
 mv (P.40)
ファイル名を変更する
2. ファイルを別のディレクトリに移動する
使い方
1. mv (変更したいファイル名) (変更後のファイル名)
2. mv (移動したいファイル名) (移動先のファイル名)
1.
cpと同じ使い方
 rm ファイルを削除する (P.41)

rm (削除したいファイル名)
練習
 jouhou2ディレクトリの
ホームディレクトリ
test_ls.txtをnew_ls.txt
に名前を変更してみよう
test_ls.txt
jouhou2
ls.txt
 test1,test2の中のls.txtを削除し,
test1
test2
ls.txt
ls.txt
test1,test2ディレクトリを削除してみよう
ファイルの作成・保存(第4章)
 Linuxにも様々なエディタがある。

vi, emacs, mule など
どのLinuxにも標準にインストールされている

Windows の場合
メモ帳,ワードパッド,その他多数
どのWindowsにも標準にインストールされている
viエディタ
下記2種類のモードを使い分けて,ファイルを作成していく
コマンドモード
A
・カーソルの移動
・文字の削除
・ファイルの保存
など
文字入力モード
・文字の入力
Esc
viを触ってみよう(1)
1. viを起動
起動直後はコマンドモード
2. 文字入力モードに切り替えて,
「Hirhoshima Institute of Technology
2-1-1 Miyake Saeki-ku Hiroshima, Japan」
と打ってみよう。
間違った場合はそのままにしておく。
viを触ってみよう(2)
 カーソルの移動
 コマンドモードに直して
K
H
←
↑
↓
J
 文字の削除
 コマンドモードで
X
→
L
viを触ってみよう(3)
 ファイルを保存



コマンドモードで
: を打ち,(カーソルが下に移
動)
「w」と入力
保存先のファイル名を聞かれるので,記入して保存
 viの終了




コマンドモードで
「q」と入力
:
を打ち,
保存して終了の場合は,「wq」と打っても良い
保存しないで終了の場合は,「q!」
練習
 viエディタで
Grobal Environmental Studies
Faculty of Environmental Studies
Hirhoshima Institute of Technology
2-1-1 Miyake Saeki-ku Hiroshima, Japan
CB○○○○ 名前(ローマ字)
E-mail: (自分のメールアドレス)
を打ち,ファイル名を「signature.txt」として
保存してみよう
便利な記号 (P.42)
 メタキャラクター







;
*
?
>
>>
|
&
1文字以上の文字列
ワイルドカード(*)について
例
 *
1文字以上の文字列
 a*
「a」ではじまる文字列
 x*y
「x」ではじまり「y」で終わる文字列
 *b
「b」で終わる文字列
コマンドでの使い方
 rm *
すべてのファイルを削除する
 rm a*
ファイル名がaから始まるファイルをすべて
削除する
 rm *.doc 拡張子がdocのファイルをすべて削除する
→ワードファイルをすべて削除する
練習
 図のようにtest1とtest2を作成してみよう。
 jouhou2ディレクトリ内にある
ファイルをメタキャラクタを用いて
すべてtest1ディレクトリにコピーしてみよう。
 コピーしたファイルをメタキャラクタを
用いてすべて削除してみよう。
ホームディレクトリ
 メタキャラクターを用いてtest1,test2
ディレクトリを2つ同時に削除してみよう。
jouhou2
tempディレクトリは削除しないように!
temp
test1
test2
プログラム
情報処理概論の復習
 レポート,書類を作りたい・・・Word
 表計算で名簿管理したい・・・Exel
 発表用スライド作りたい・・・Power Point
既存のアプリケーションがある
 特殊な処理または計算をしたい・・・??
自らコンピュータに命令させなければならない
プログラム
 命令・・・言葉で伝える
日本人同士:日本語
アメリカ人同士:英語
日本人とイタリア人:
世界共通語(英語)
人間とコンピュータ:
プログラミング言語
プログラムにおける処理の流れ
 C言語の場合(P.75)
ソースファイル
拡張子は.c
コンパイル
(翻訳)
実行形式ファイル
(デフォルト: a.out)
C言語という言葉を用いて
自分で書いたファイル
コンピュータが直接理解し,
実行することができるファイル
・コンピュータはこの内容を
直接は解釈できない
・人間はこの内容を見て
解釈するのは難しい
具体的な手順
ソースファイル(.c)を作成する。
viエディタで作成
コンパイルをして実行ファイルを作成する。
コマンド: gcc (ソースファイル名)
エラーがあったか?
ファイルを修正
あった
なかった
実行ファイルを起動する。
コマンド: ./a.out
実行結果がおかしい場合もファイルを修正して再度コンパイル
練習
 下記プログラムをviで打ちこみ,実行してみよう。
ただしjouhou2ディレクトリ上で行うこと。
#include<stdio.h>
int main(void)
{
printf(“Hello!!\n”);
return 0;
}
hello.cの内容
注意事項
・ すべて半角文字で
・ 空白も左と同じように記入する
練習
 下記プログラムをそれぞれ打ちこみ,実行してみ
よう。ただしjouhou2ディレクトリ上で行うこと。
#include<stdio.h>
int main(void)
{
int a=0, i;
#include<stdio.h>
int main(void)
{
int i;
printf(“KISUU: ”);
for(i=1;i<=20;i++){
if(i%2==1) printf(“%d, ”, i);
}
printf(“\n”);
return 0;
for(i=1;i<=10;i++){
a += i;
}
printf(“%d\n”, a);
return 0;
}
}
wa.c
(1から10までの和を表示する)
kisuu.c (1から20までの奇数を表示する)
リモート接続
 他のコンピュータ(サーバ)を動かす方法
 HITNETでは数値計算のためのサーバが設置



「rhl1」~「rhl8」
の8台
「sun1」~「sun8」 の8台
正式名称は「rhl1.cc.it-hiroshima.ac.jp」など
学内からだと、どこからでも接続可能!
実際に接続してみよう
 telnet (サーバ名)
 ログイン名とパスワードを入力
何も文字は出ないが、そのまま打っていく
 カーソルの前の文字列に注目!
 今までと変わっているはず
別のコンピュータを動かしている証拠
 w もしくは who もしくは finger コマンド
 現在そのコンピュータに誰がアクセスしているか
がわかる
ファイル・フォルダの権限(第8章P109)
ファイル権限とは・・・
他人などからそのファイルもしくはディレクトリへのアクセス権限を制御する
勝手に閲覧
自分で作成した
ファイル
勝手に編集
ファイル・フォルダの権限
 使用許可権(種類)



読み出し権(read)
書き込み権(write)
実行権(execute)
 ユーザの組



所有者
グループ
その他
・・・ そのファイル・ディレクトリの作成者
・・・ 所有者と同じグループ
・・・ それ以外
ファイルの権限を確認しよう
 コマンド
ls -l
-rwxr-xr-x 1 cb08000 18nature 4620 12月 2 12:00 a.out
ここの部分がa.outの権限を表している!
所有者
グループ
その他
- rwx r-x r-x
ディレクトリかファイルかを表す
読み出し権
書き込み権
実行権
テキスト P111
あり
r
w
x
なし
-
練習
 hello.cファイルの権限をノートに書き、どういう意
味か理解してみよう。
 jouhou2ディレクトリの権限も同様にノートに書き、
どういう意味か理解してみよう。
オクタルモード(P111)
 権限の表現方法

後に解説する権限の変更に使う。
読み出し権
書き込み権
実行権
あり
r
w
x
なし
-
各権限で、「あり」を「1」,「なし」を「0」とすると・・・
rwx r-x r-x
111 101 101
2進数表記になる!
7 5 5
オクタルモード
練習
 hello.cファイルの権限をオクタルモードで書いて
みよう。
 jouhou2ディレクトリの権限をオクタルモードで書
いてみよう。
権限を変更する(P113)
 chmod
(オクタルモード) (変更したいファイル名)
例
chmod 644 test.txt
test.txtが
644 → 110 100 100
→ rw- r-- r-に変更される
練習
 hello.cファイルで、現在の権限からすべての人が
閲覧できないように変更してみよう。

実際に閲覧できないことを確認しよう。
 hello.cファイルを元の権限に戻してみよう。
 hello.cを書き込みできないように変更しよう。


実際に書き込めないことを確認しよう。
以上ができたら、元の権限に戻しておこう。
 a.outを実行できなくさせてみよう。

実行できないことを確認し,元の権限に戻しておく。
プロセス管理(P.83)
 現在動かしているコンピュータがどのような仕事
をしているのか管理する必要がある。
 Windowsの場合
「タスクマネージャー」→「プロセス」で閲覧可能
 UNIX/Linuxの場合
ps -aux
のコマンドで閲覧可能(表示の詳細はP.134)
プロセスの終了
 kill (プロセスID)
ps -aux で削除したいプロセスIDを調べる
練習
 下のプログラムは終了しないプログラムであるが、
これを打ち込み、コンパイルして実行してみよう。
 新しい端末を起動し、プロセス状況を確認しよう。
 a.outを終了させてみよう。
#include<stdio.h>
int main(void)
{
printf(“a.out is running…\n”);
while(1);
return 0;
}
loop.c
ダウンロード

絶対パス