e0601taro/program/sample.c

平成24年度
情報リテラシー
担当:一色 正晴(4号館405)
isshiki@cs.ehime-u.ac.jp
http://ipr20.cs.ehime-u.ac.jp/~isshiki/literacy/
スケジュール
第 8回:ディレクトリ・ファイルの基本操作(復習)
第 9回:シェル
第10回:シェルスクリプト
第11回:コンパイラ
第12回:TeX入門 その1
第13回:TeX入門 その2
第14回:TeXの演習
第15回:コンピュータウィルス(講義室かメディアセンター)
2
受講に際する注意事項

演習が中心の科目なので,無断欠席・遅刻は厳禁





やむを得ず欠席をしたときは,次週までに欠席届を提出
遅刻3回で追加のレポート課題
追加のレポート課題を未提出の場合,届けなしの欠席1回に相当
私語,携帯電話の使用,講義に関係ないHPの閲覧は禁止
資料を事前に印刷
分からないときは



教科書を調査
スライドや資料(過去の分も含めて)を調査
それでも分からない,もしくは,見たことない現象の場合
 私やTAに質問
※ 同じことでつまずかないように,メモを取ること
3
レポート提出に関する注意事項

提出期限を守る
 やむを得ず遅れる場合は,直ちに連絡すること



提出先のディレクトリ,ファイル名が間違っていな
いかよく確認する
同じ人のレポートが複数あるときは,最終更新時
刻が最も遅いレポートを評価対象とする
原則,全てのレポートを提出したひとのみ,評価
の対象とする
4
レポート提出に関する注意事項

文字コード・改行コード,パーミッションを必ず
チェックする
 文字コードは
EUC で提出
 改行コードは NL で提出
 少なくとも,私が内容を確認できるパーミッションで提出
グループ名
皆さん student
教職員 staffs
% ls -l report.txt
- rw- --- --- 3 e0301taro student …
% chmod 604 report.txt
%ls -l report.txt
- rw- --- r-- 3 e0301taro student …
5
今日の内容





用語の復習と注意事項
ディレクトリ構造
絶対パスと相対パス
ディレクトリ・ファイル操作の復習
ディレクトリ・ファイル操作の演習
7
CUIとGUI

CUI(Character-based User Interface )とは
 キーボード(文字)による計算機の操作
 UNIX系OSの基礎
 とっつき難いが,慣れると簡単

GUI(Graphical User Interface)とは
 アイコン(絵)を多用し,マウスでの操作が可能
 Windows,
Mac OSはGUIが主流
 直感的に分かり易いが,一部システムでは使用不可
8
ファイルとは

データやプログラムなどはファイルに格納
 テキストファイル
• 閲覧コマンドで表示可
• エディタで編集可
文字データのみで構成
(プログラムのソースファイル,各種設定ファイル)
• 閲覧コマンドで表示不可
 バイナリファイル
• エディタで編集不可
文字データ以外(ビット列)のデータで構成
(プログラムの実行可能ファイル,画像データ)
9
ディレクトリとは

複数のファイルを格納する入れ物
 Windowsにおけるフォルダに該当する
 ディレクトリの中に別のディレクトリを格納できる

ファイルを用途や役割ごとに管理
 バックアップを作成するなどの管理が簡単になる
 どこに,どのファイルがあるのか,すぐ分かる
適宜ディレクトリを作成し,
ファイルを整理することが重要!
10
ファイル名・ディレクトリ名

ファイルに名前を付けて区別
 長さ1以上の文字列
 使える文字は,英数字,アンダースコア,ピリオド
 大文字と小文字は区別
 日本語,特殊記号(“#”や“%”など)は避ける

特別なファイルは名前の付け方が既定
 ドットファイル(設定用ファイル)


ピリオドで始まるファイル;“.bashrc”や“.emacs.el”
“ls”コマンドで表示するには,オプションが必要
ディレクトリ名もファイル名と同じルールが適用
11
ファイル名

ファイル名の付け方
 (意味のある名前).(拡張子)
実行可能ファイルには,
拡張子を付けない場合もある
 ファイルの内容が類推できるように付ける
 拡張子が既定の場合のある
ファイルの種類
拡張子
ファイルの種類
拡張子
Cプログラム
c
テキストファイル
txt
TeXファイル
tex
シェルスクリプト
sh
HTMLファイル
html
12
今日の内容





用語の復習と注意事項
ディレクトリ構造
絶対パスと相対パス
ディレクトリ・ファイル操作の復習
ディレクトリ・ファイル操作の演習
13
UNIX系OSのディレクトリ構造
【図形の意味】
ルートディレクトリ
ディレクトリ
ファイル
/
etc
hosts
program
sample.c
ホームディレクトリ
• ユーザに割り当てら
bin
home1
home2
れた作業用ディレク
トリ
u-graduates
• “~”(チルダ)で
表現することが多い
e0601taro
e0602jiro
• 適宜ディレクトリを
作成して,ファイル
の整理をすること!
tex
jikken1.tex
jikken2.tex
14
UNIX系OSのディレクトリ構造
親ディレクトリ
カレントディレクトリ
• カレントディレクトリを
直接含むディレクトリ
• “..”(ピリオド2つ)
で表現
etc
hosts
/
bin
home1
u-graduates
e0601taro
program
sample.c
• 現在いるディレクトリ
• cd コマンドで変更可
• ログイン直後は,
ホームディレクトリが
home2 カレントディレクトリ
• “.”(ピリオド)で表現
e0602jiro
tex
jikken1.tex
※ 現在,ディレクトリ
「tex」で作業中と仮定
jikken2.tex
15
今日の内容





用語の復習と注意事項
ディレクトリ構造
絶対パスと相対パス
ディレクトリ・ファイル操作の復習
ディレクトリ・ファイル操作の演習
16
絶対パス名
• ルートディレクトリから,目的のファイルやディレクトリ
までの経路で名前付け
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
17
絶対パス名
• ルートディレクトリから,目的のファイルやディレクトリ
までの経路で名前付け
/
sample.cの絶対パス名
etc
bin
home1
home2
/home1/u-graduates/e0601taro/program/sample.c
u-graduates
hosts
e0601taro
program
sample.c
e0602jiro
tex
jikken1.tex
jikken2.tex
18
相対パス名
• カレントディレクトリから,目的のファイルやディレクトリ
までの経路で名前付け
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
カレントディレクトリ
jikken2.tex
19
相対パス名
• カレントディレクトリから,目的のファイルやディレクトリ
までの経路で名前付け
/
ディレクトリ“tex”から見た sample.c の相対パス名
etc
hosts
bin
home1
../program/sample.c
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
カレントディレクトリ
jikken2.tex
20
相対パス名
• カレントディレクトリから,目的のファイルやディレクトリ
までの経路で名前付け
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
カレントディレクトリ
e0602jiro
tex
jikken1.tex
jikken2.tex
21
相対パス名
• カレントディレクトリから,目的のファイルやディレクトリ
までの経路で名前付け
ディレクトリ“u-graduates”から見た sample.c の相対パス名
/
./e0601taro/program/sample.c
bin
home1
home2
etc
hosts
u-graduates
e0601taro
program
sample.c
カレントディレクトリ
e0602jiro
※ “./”は省略できて
tex
e0601taro/program/sample.c
でも良い
jikken1.tex jikken2.tex
22
ディレクトリ・ファイルの指定

【相対パスでの指定例 1】
% mv ./program/sample.c ./tex
移動コマンドの例
【相対パスでの指定例 2】
% mv program/sample.c tex
/
etc
hosts
bin
home1
u-graduates
カレントディレクトリ e0601taro
program
移動対象
sample.c
home2
e0602jiro
tex
jikken1.tex
移動先
jikken2.tex
23
ディレクトリ・ファイルの指定

【相対パスでの指定例】
% mv ../program/sample.c .
移動コマンドの例
ピリオド
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
移動対象
sample.c
home2
e0602jiro
tex
jikken1.tex
カレントディレクトリかつ
移動先
jikken2.tex
24
ファイルやディレクトリを扱うときの注意
• ディレクトリやファイルを指定するときは,
絶対パス名か相対パス名で指定する!
• ディレクトリやファイルの位置関係を,
常に頭の中に描くこと!
25
演習問題

ファイル“jikken2.tex”の絶対パス名は?
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
26
演習問題
/home1/u-graduates/e0601taro/tex/jikken2.tex

ファイル“jikken2.tex”の絶対パス名は?
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
27
演習問題

ディレクトリ“bin”の絶対パス名は?
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
28
演習問題

/bin
ディレクトリ“bin”の絶対パス名は?
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
29
演習問題

ファイル“jikken1.tex”の相対パス名は?
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
30
演習問題
カレントディレクトリが不明なので,名前付けできない!

ファイル“jikken1.tex”の相対パス名は?
/
etc
hosts
bin
home1
u-graduates
e0601taro
program
sample.c
home2
e0602jiro
tex
jikken1.tex
jikken2.tex
31
演習問題

ファイル“jikken1.tex”の相対パス名は?
/
etc
hosts
bin
home1
home2
u-graduates
カレントディレクトリ
e0601taro
program
sample.c
e0602jiro
tex
jikken1.tex
jikken2.tex
32
演習問題

../e0601taro/tex/jikken1.tex
ファイル“jikken1.tex”の相対パス名は?
/
etc
hosts
bin
home1
home2
u-graduates
カレントディレクトリ
e0601taro
program
sample.c
e0602jiro
tex
jikken1.tex
jikken2.tex
33
今日の内容





用語の復習と注意事項
ディレクトリ構造
絶対パスと相対パス
ディレクトリ・ファイル操作の復習
ディレクトリ・ファイル操作の演習
34
カレントディレクトリの表示

pwd
 カレントディレクトリを“絶対パス名”で表示
/
etc
hosts
カレントディレクトリ
bin
home1
home2
u-graduates
e0601taro
e0602jiro
% pwd
/home1/u-graduates/e0601taro
 絶対パス名で表示
35
カレントディレクトリの変更

/
cd [移動先ディレクトリ]
 カレントディレクトリを変更
(他のディレクトリに移動)
 移動先のディレクトリは,
絶対もしくは相対パス名で指定
 移動先ディレクトリを省略したら,
ホームディレクトリへ移動
usr
bin
home1
u-graduates
e0601taro
e0602jiro
% pwd
 カレントディレクトリの表示
/home1/u-graduates/e0601taro
 絶対パス名で表示
% cd /usr/bin
 カレントディレクトリの変更,変更先を“絶対パス名”で指定
% pwd
 カレントディレクトリの表示
/usr/bin
 絶対パス名で表示
36
ディレクトリ・ファイル情報の閲覧

ls [オプション] [ファイルかディレクトリ]
 指定したディレクトリの内容の表示
 オプションを付けると,
ファイルの詳細情報を表示
tex
u-graduates
e0601taro
sample.txt
e0602jiro
.bashrc
report.tex
% ls
 引数が無い場合,カレントディレクトリの情報閲覧
sample.txt tex
 ディレクトリの内容が表示
% ls -a
 ドットファイルも表示するオプション
.bashrc sample.txt tex
 ドットファイルが表示される
% ls ..
 親ディレクトリ(ピリオド二つ)を指定
e0601taro e0602jiro
37
ファイル・ディレクトリのコピー

cp [オプション] コピー元 コピー先
 指定したファイルやディレクトリのコピーを作成
 コピー元およびコピー先は,絶対パス名,相対パス名
のどちらでも指定可能
 コピー先が存在するか,存在しないかで,動作が異な
るので注意
 コピー先がファイルか,ディレクトリかでも,動作が異な
るので注意
38
ファイル・ディレクトリのコピー

cp [オプション] コピー元 コピー先
 コピー先がファイルで,
かつ存在しないとき
u-graduates
カレント
ディレクトリ
e0601taro
tex
% ls
sample.txt
e0602jiro
sample.txt
 カレントディレクトリの情報閲覧
tex
 ディレクトリの内容が表示
39
ファイル・ディレクトリのコピー

cp [オプション] コピー元 コピー先
 コピー先がファイルで,
かつ存在しないとき
u-graduates
カレント
ディレクトリ
e0601taro
コピー元と同じファイルを
指定したファイル名で生成
% ls
sample.txt tex
% cp sample.txt sample1.txt
% ls
sample.txt sample1.txt tex
tex
sample.txt
e0602jiro
sample1.txt
 カレントディレクトリの情報閲覧
 ディレクトリの内容が表示
 ファイルのコピー
 カレントディレクトリの情報閲覧
 新たに同じファイルが作成
40
その他の基本コマンド






ファイル・ディレクトリの削除(rm)
ファイル・ディレクトリの移動や名前変更(mv)
ディレクトリの作成(mkdir)
ディレクトリの削除(rmdir)
テキストファイルの表示(cat, more, less)
ファイルの検索(find)
41
まとめ

基本的な用語
 CUIとGUI
 ファイルとディレクトリ

ディレクトリ構造
 ルートディレクトリ,ホームディレクトリ
 カレントディレクトリ,親ディレクトリ
 絶対パス名と相対パス名


基本的なファイル・ディレクトリ操作
ディレクトリ構造をしっかりとイメージすること
42
計算機操作の復習







各自のホームディレクトリに,リテラシ用のディレクトリ “literacy” を作成
作成したリテラシ用のディレクトリに,カレントディレクトリを移動
HPから,サンプルファイル “sample.tar.gz” をカレントディレクトリにダウンロード
ダウンロードしたファイルが存在するか確認し,解凍・展開
3つファイル “sample1.txt, sample2.txt, sample3.txt” が解凍・展開されたか確
認
ファイル “sample2.txt, sample3.txt” を削除
エディタで “sample1.txt” を開く
ファイルの先頭に入学年度,学籍番号(2桁まで),名前を記入
 課題の概要説明を記入
 端末画面に表示されている内容を,1行あけて記入
 保存してエディタを終了



ファイル “sample1.txt” の名前を “アカウント名_review.txt” に変更
例えば,“e0632taro_review.txt”
このファイルを以下のディレクトリにコピー
“/home/staffs/isshiki/class/literacy/review/”
※ 文字コードが EUC コードでなければ,変換しておくこと!
43
計算機操作の復習

解答の書き方
※ 来週以降のレポートも,特に指示がない時は,この書き方に準ずること
44
計算機操作の復習

解凍・展開の方法(どちらでもOK)
% gunzip sample.tar.gz
% tar xf sample.tar
 解凍されて“sample.tar”ができる
 アーカイブの展開(詳しくは p. 69)
% tar zxf sample.tar.gz
 “z” オプションで解凍と展開が可能

文字コードのチェック
% file e0632taro_review.txt
 このように表示されればOK
↑ISO-8859の場合もOK
e0632taro_review.txt: EUC text

コピー&ペースト
マウスの左ボタンを押したまま,コピーしたい領域をなぞる
貼り付けたい場所にカーソルを移動して,中ボタン(スクロールボタン)を押す
45
※ 文字コードの変換は,岡野先生のスライドを参照
【演習問題】
第8回:ディレクトリ・ファイルの基本操作

【必須課題】
 「計算機操作の復習」を完了

【発展課題】
 適当なファイル・ディレクトリ操作のコマンドを選び,
使い方や実行結果などについてまとめよ
 必須課題の後ろに記述
〆切は,11月28日(水)の12:50
46