910 likes | 1.04k Views
プログラミング演習 I. 2002年度. 目標. コンピュータに慣れる UNIX の基礎的な操作 メール、 Web C 言語によるプログラミングの基礎. 蟹は甲羅にあわせて穴をほる. 演習の流れ. ログイン・ログアウト ファイル・ディレクトリ Unix メール・ HTML C 言語入門. UNIX. 1969年 米国 AT & T ベル研 マルチタスク・マルチユーザ OS ほとんど C 言語により記述 UNIX の開発を目的として C 言語を開発. パスワード. 忘れないこと 大文字・小文字・数字を混ぜる 破られないこと
E N D
プログラミング演習I 2002年度
目標 • コンピュータに慣れる • UNIXの基礎的な操作 • メール、Web • C言語によるプログラミングの基礎 蟹は甲羅にあわせて穴をほる
演習の流れ • ログイン・ログアウト • ファイル・ディレクトリ • Unix • メール・HTML • C言語入門
UNIX • 1969年 米国AT&Tベル研 • マルチタスク・マルチユーザOS • ほとんどC言語により記述 UNIXの開発を目的としてC言語を開発
パスワード • 忘れないこと • 大文字・小文字・数字を混ぜる • 破られないこと 悪意ある者は英単語・名前などの辞書を活用する
システムのファイル 情報のまとまり プログラムファイル テキストファイル データファイル • 講義ノート • メモ • 取扱説明書 • 写真 他ユーザのファイル 自分のファイル ファイル
ROOT 文書 講義ノート 取扱 説明書 画像 電磁気 ノート 洗濯機 取説 テレビ 取説 憲法 ノート ディレクトリ • ファイルの整理整頓 (木) • ファイルは葉、ディレクトリは節
home cd .. bin cd /usr/bin ディレクトリの木構造 システム / home usr bin a00500 a00501 ホームディレクトリ
UNIXのコマンド • 英単語を省略したもの • 省略の仕方に規則なし • /bin, /usr/bin, /usr/local/bin などに保存 cd: Change Directory /Current Directory ls: LiSt pwd: Print Working Directory mkdir: MaKe DIRectory rmdir: ReMove DIRectory cp: CoPy
ファイル・ディレクトリの操作 • cd dir0 : ディレクトリdir0への移動 • cp file0 file1 : file0をfile1としてコピー • mkdir dir0 :dir0を新しく作成 • ls : ファイル・ディレクトリ一覧
特別なディレクトリ • 現在地(カレントディレクトリ): . • 親: .. • ホームディレクトリ:
オンラインマニュアル • man 各種マニュアル(MANual) • man cd コマンドcdのマニュアルの表示 • man manmanのマニュアル • SPCで次ページ、qで終了
UNIXとデバイス • デバイス:機器 • UNIXでは全ての機器の操作をファイル経由で行う • /dev/
デバイスファイル / home usr dev stdout fd0 a00500 a00501
デバイスファイル • stdin キーボードからの入力 • stdout ディスプレイへの出力 (何文字かたまってから出力) • stderr ディスプレイへのエラー出力 (一文字ずつすぐに出力)
テキストファイルの表示 • テキストファイルの内容をstdoutに書き込む • cat (conCATinate) • cat file0 :file0のstdoutへの書き込み • cat file0 file1 : file0 file1をつなげて書き込み • cat > file1 : stdinの内容をfile1に書き込み • cat file0 > file1 : file0をfile1に書き込み
テキストファイルの編集 • emacs, muleの利用 • テキストファイルの編集 • 統合環境(メール、コンパイル、シェル。。) • マウスを使わない(でも済む)
バッファ モード ミニバッファ バッファ #include main(){ } a000% cd a000% emacs
ABC メモリ ABC キーボード ABC ハードディスク
C-x C-s 保存 filename.txt ABC ABC メモリ ABC キーボード filename.txt ハードディスク
インターネット • TCP/IPを使った、唯一最大の国際的「ネットワークのネットワーク」 • 米国高等研究計画局 ARPA (Advanced Research Project Agency) (1971) • TCP/IP (Transmission Control Protocol/Internet Protocol) • OSやメディアやネットワークモデルに依存しない
WWW • World Wide Web • 欧州核物理学研究所 • ドキュメントの埋め込み
HTMLとブラウザ • Hyper Text Markup Language • タグによる修飾 • ブラウザ:HTML文書の閲覧 • mosaic 米イリノイ大学(1993) • →大学当局の有料化反対・独立 • → Netscape Communication 社 • イリノイ大でも研究継続 • →Microsoftへ→ Internet Explorer
コンピュータ名 プロトコル(ファイルへのアクセス方法) 他に ftp: https: gopher: mailto:など URL(文書の位置) • http://www.yamagata-u.ac.jp/
HTTP(WWWサービス用プロトコル) • 「ファイルの要求」と「転送」だけの単純な プロトコル
公開 • 公の場である • 公開内容に対する責任 • 閲覧内容の「管理者による管理」 • 閲覧内容の自己管理
タグ(どのように見せるか) <HTML> <HEAD> <TITLE> ページの名前など </TITLE> </HEAD> <BODY> 公表したいことをここに書く。 </BODY> </HTML>
電子メール • ネットワーク経由の郵便 • 好きな時間に読み書き • 同時に複数の相手へ • 第三者から閲覧の可能性
チェーンメール • 人からのメールを大勢に転送 • 厳禁 • 多人数への情報伝達はWWWで
ウィルス • アプリケーションを利用したシステムの破壊 • 要注意
マナー • 半角かなは使わない • 極端に長いメールは出さない • subjectに日本語は使わない • ウィンドウズアプリケーションを前提としない
メール 差出人 メールサーバ ホームディレクトリ ホームディレクトリ
ユーザID メールサーバ名 メールアドレス hontani@eie.yz.yamagata-u.ac.jp
メールアドレス hontani@eie.yz.yamagata-u.ac.jp 学科. 米沢キャンパス. 山形大学. 学術. 日本
タイトル あて先 ヘッダ 本文 メールの構造 To: Subject:my first email! Reply-to: --- こんにちは。 さようなら。 hontani@eie.yz.yamagata-u.ac.jp
emacs の利用 メールの送受信 相手 メールサーバ ホームディレクトリ ホームディレクトリ
メールの送信 受取人 メールサーバ ホームディレクトリ ホームディレクトリ
To: Subject: Reply-to: a000@eiefs.yz.yamagata-u.ac.jp ---text follows this line--- hontani@eie.yz.yamagata-u.ac.jp progI メールの本文 ---Mule: *mail* Sending … done emacs C-x m C-c C-w --- 本谷秀堅 tel. 0238-26-3332 C-c C-c
メールの受信 差出人 メールサーバ ホームディレクトリ ホームディレクトリ
Esc-x rmail Date: Thu, 10 May 2001 From: a00500 To: hontani Reply-to: a00500@eie.yz.yamagata-u.ac.jp Content-type: text Content-Length: 151 メールの本文 --- 本谷秀堅 tel. 0238-26-3332 n: 次のメール p: 前のメール SPC: スクロール h: メール一覧 r: メールに返信 f: メールの転送 q: 終了 M-x rmail
シェル • ユーザとOSとの仲介役 a00500@eiew00% ls abc abe kbe zze a00500@eiew00% ls a* abc abe a00500@eiew00% la *be abe kbe a00500@eiew00% ls *e abe kbe zze a00500@eiew00% ls abc abe kb kyz a00500@eiew00% ls k* kb kyz a00500@eiew00% la k? kb a00500@eiew00% ls k?? kyz
アクセス権モード • ファイル・ディレクトリの公開の仕方 • 読み・書き・実行 • 自分・同一グループ・他人
アクセス権モード 自分 他人 同一グループ 読み ○ ○ × ○ × × 書き 実行 × × ×
グループ staff b00 a00 a01 hiranaka tamura kohda kobayashi … b00500 b00501 b00502 … a00500 a00501 a00502 a00503 … a01500 a01501 a01502 …
アクセス権モード a00500@eie00% ls -l -rw-r----- 1 a00500 a00 316 5月10日 rwx rwx rwx r: 読み w: 書き x: 実行 自分 自グループ 他人
なにを 誰に アクセス権モードの変更 chmod o+r filename r w x u g o + -
テキストファイルに実行権 シェルが内容をOSに渡す
mkdir newdir file.txt file.txt
a00500@eiew% ls -l -rw-r--r-- file.txt file.txt 読み書きのみ可 実行は不可
実行を許可 file.txtに書かれてることを実行 (mkdir newdir) a00500@eiew% ls -l -rw-r--r-- file.txt a00500@eiew% chmod u+x file.txt -rwxr--r-- file.txt a00500@eiew% ./file.txt