北海道大学大学院 理学院 宇宙理学専攻 荻原 弘尭.  OS の大まかな構造  カーネル  シェル  シェルとは何か ?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か ?  vi の使い方  まとめ.

Slides:



Advertisements
Similar presentations
Nano 北海道大学大学院 理学院 宇宙理学専攻 修士課程 1 年 堺 正太朗 nano. nano ?? Curses を用いたテキストエディタの一種 スクリーンエディタ CUI を用いて編集可能.
Advertisements

情報処理基礎演習Ⅱ 地球環境学科 伊藤,小黒 TA 川野,馬場. 講義の内容 UNIX 系の OS の使い方( Linux の使い方) (始めのうちは慣れないため扱いづらいか も・・・) 起動・終了 ディレクトリ(フォルダ)の構造 基本的なコマンドの使い方 エディタ( vi ) ファイルの操作,管理.
Debian の世界へようこそ! 北大 理学院 宇宙理学専攻 惑星宇宙グループ M1 三上 峻.  Debian GNU/Linux  Debian プロジェクト  GNU プロジェクト  Debian GNU/Linux とは  Debian インストール  パッケージ  Debian.
Debian の世界へようこそ! 北大 理学院 宇宙理学専攻 惑星宇宙グループ M2 三上 峻.  Debian GNU/Linux  Debian プロジェクト  GNU プロジェクト  Debian GNU/Linux とは  Debian インストール  パッケージ  Debian.
最低限 UNIX (2) パーミッション・シェル・ テキストエディタ 2012 年度 INEX TA 高橋康人.
Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル.
北海道大学大学院 理学院 宇宙理学専攻 高橋康人.  シェル  シェルとは何か?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か?  vi の使い方  まとめ.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
エンジニアから見る Mac OS X. Mac のイメージ お洒落、かっこいいマシン デザイナーさんが使うマシン DTP に強いマシン 実は、 Developer のためにある!・・・は ず.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
Viva !! vi 北海道大学大学院 理学院宇宙理学専攻 宇宙惑星グループ 修士 1 年 近藤 奨.
T2V 技術 Web 製作ラボ 3/ hayashiLabo 2. T2V 技術 PC 操作 念のため・・・
P HI T S スクリプト言語を用いた PHITS の連続 実行 Multi-Purpose Particle and Heavy Ion Transport code System title 年 2 月改訂.
サーバ・クライアントシステ ムと X Window System 荻原弘尭 情報実験 第 10 回目 2012/07/13 1.
サーバ・クライアントシス テム & X Window System 理学院 宇宙理学専攻 地球流体力学研究室 山下 達也.
第5章 JMPのインストールと基本操作 廣野元久
応用コース:ワープロを活用する WORD2000 1回目 基礎コースの復習(第1章と付録) 2回目 文字の入力(第2章と第4章)
プログラミング入門 ガイダンス.
実習1:コマンドシェルの使い方.
UNIX利用法.
安全なログオン手順 2004/08/26 Port139 伊原 秀明.
UNIX利用法 情報ネットワーク特論資料.
山下 達也 (北大理・宇宙理学専攻) 2010/05/07 (金)
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
サーバ・クライアントシステム & X Window System
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
Unix生活 Vol.1
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
東京工科大学 コンピュータサイエンス学部 亀田弘之
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
オレポータビリティ 日本Rubyの会 青木 峰郎.
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
須賀 友也 神戸大学 理学研究科 地球惑星科学専攻 M1
RGWS Unix生活 テキストエディタと便利ツール
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
Advanced Unix Commands
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
コンピュータ演習Ⅰ 8月7日(日) 1限目 ファイルの種類.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
ファイルシステムとコマンド.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第1回 イントロダクション 担当:青木義満
第2章 ソフトウェアの基礎知識.
xxxxxx . yyy xxxxxx Linuxにおける情報管理 一般的なファイル UNIX における情報管理の単位 ファイルの種類を表す
実習1:コマンドシェルの使い方.
スクリプト言語を用いたPHITSの連続実行
データベース設計 第9回 Webインタフェースの作成(1)
鯖管のすヽめ.
EGS5のWindows PC へのインストール
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
計算物理学基礎 第1回 UNIXの基礎 C言語の基本.
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
実行時情報に基づく OSカーネルのコンフィグ最小化
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
パソコンのしくみ ハードウェア OS(Operating System) アプリケーション NEC DOS
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
UNIX演習 情報ネットワーク特論.
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
Nanoってなんなの 北大理学院 高橋康人.
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
忙しい人のためのR/Bioconductorの基礎
クラウド・地域人材利用型プログラミング教育実施モデル実証事業 公益財団法人 学習ソフトウェア情報研究センター
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
Presentation transcript:

北海道大学大学院 理学院 宇宙理学専攻 荻原 弘尭

 OS の大まかな構造  カーネル  シェル  シェルとは何か ?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か ?  vi の使い方  まとめ

 カーネル  シェル  デバイスドライバ  カーネルからの命令に従ってハードウェアを動 かすソフトウェア ( 詳細は第 5 回参照 ) シェル カーネル OS デバイスドライバ

 カーネル  シェル  デバイスドライバ  カーネルからの命令に従ってハードウェアを動 かすソフトウェア ( 詳細は第 5 回参照 ) シェル カーネル OS デバイスドライバ

 OS の中核をなすソフトウェア  狭義の意味での OS を指すことも  カーネルの主な役割  ソフトウェアの要求に対して必要なハードウェ ア ( デバイスドライバ ) を制御する ▪ 表計算を実行させる ▪CD-R にデータを焼く ▪HDD にデータを保存する ▪etc

 カーネル  シェル  デバイスドライバ  カーネルからの命令に従ってハードウェアを動 かすソフトウェア ( 詳細は第 5 回参照 ) シェル カーネル OS デバイスドライバ

 人間とカーネルを仲介するソフトウェア  Windows のエクスプローラや Mac のファイン ダー等 カーネル ユーザ リクエス ト レスポン ス OSOS 仲介 インター フェース シェル

 UI ( ユーザインターフェース )= シェルの見た目  人間と最も頻繁に接触するソフトウェアなのでとても重要  GUI ( グラフィカルユーザインターフェイス )  グラフィックなどで直観的な操作を行う ▪ マウスやキーボード等を用いる  Windows, Mac OS などの OS で実装  CUI ( キャラクタユーザインターフェイス )  すべての操作をコマンドを打って制御する ▪ キーボード 一つでなんでもできる  原始的な入力様式

GUI の例

CUI の例

 GUI の場合  CUI の場合 mv titan.tex tex/ GUI と CUI を用いた作業の実例 (titan.tex をディレクトリに格納)

 GUI の場合  CUI の場合 mv titan.tex tex/ cd tex/ ls titan.tex GUI と CUI を用いた作業の実例 (titan.tex をディレクトリに格納)

 CUI  コマンドさえ覚えればキーボードだけで何でもで きる ▪ 単純な繰り返し作業に向いている  計算機への負荷が小さい ▪ サーバ業務・トラブル対処に強い  GUI  マウスなどを使って直観的に作業ができる ▪ 大量の単純な繰り返しには向かない  計算機への負荷が大きい ▪ CUI よりも動作が複雑

 コマンドインタープリタ (command interpreter)  UI を通じてユーザのコマンドを受け取る  適切なアプリケーションソフトウェアに引き渡す  アプリケーションソフトウェアから実行結果を受け取る  実行結果を UI を通じてユーザに返す  環境設定  アプリケーションソフトウェア間での共用データを保持し、 必要に応じて参照させる

Kterm × OS ユーザ terminal × カーネル カーネル ユーザ プロンプト(コマンド受け付け) コマンドインタープリタ  コマンドを待ちうける  これ自体もひとつのお仕事

Kterm × OS ユーザ Terminal × date 今何時? カーネル カーネル コマンド入力 ユーザ  文字列 ( date ) を受け取る  文字列をコマンドとして解釈する  適切なアプリケーションソフトウェアに引き継ぐ

Kterm × OS ユーザ Kterm × date OS ユーザ 今何時? terminal × date Fri May 7 13:25:14 JST 2010 カーネル カーネル 日時の表示 ユーザ コマンドインタープリタ  アプリケーションソフトウェアから結果を受け取る  結果を表示する  必要に応じて環境変数を参照させる ( 後述 )

日本語希望! シェル $LANG=JP ユーザ  「環境」とは ?  アプリケーションソフトウェア間で 共用される設定情報 ▪ 各アプリケーションソフトウェアはシェ ルから与えられた環境の下で動作する  環境変数  設定内容に応じた値が格納される ▪ 例) $LANG = ja_JP.UTF-8  起動時に自動設定される  手動で設定するときは環境変数を書 き換える ▪ 例) export LANG=C アプリケーション ソフトウェア

 「環境」とは ?  アプリケーションソフトウェア間で 共用される設定情報 ▪ 各アプリケーションソフトウェアはシェ ルから与えられた環境の下で動作する  環境変数  設定内容に応じた値が格納される ▪ 例) $LANG = ja_JP.UTF-8  起動時に自動設定される  手動で設定するときは環境変数を書 き換える ▪ 例) export LANG=C 日本語希望! シェル ユーザ アプリケーション ソフトウェア 作業結果を作成 日付教えて! 結果を日本語で表示 date コマンドを解釈

シェルの種類  多様なシェルが存在する  sh, bash, csh, dash, tcsh, zsh など  個人の好みに応じて選択可能  シェルの相違点  補完機能  シェル変数  リダイレクト機能 etc…  実習では基本的に bash を使用  いろいろと便利な機能を持った標準的なシェル

 シェルスクリプトとは ?  複数のコマンドを組み合わせた「台本」 ( ファイル )  台本を読むようにコマンドを連続して実行できる  利用する意義  繰り返し作業の手間を省く ▪ 制御構造を利用したプログラミングが可能  人為ミスを防ぐ

 順次構造  上から下へ進む構造  選択構造  条件に応じて処理を分岐する構造  if, case  反復構造  同じ処理を反復する構造  for, while, until  これらの組み合わせで ( ほぼ ) あらゆ る作業が可能  どのプログラミングでもベースとなる仕 組み 処理 B 処理 A 処理 C 処理 A NO 処理 B 処理 A YES 条件 反復開始 処理 B 反復終了

 やりたいこと  大切なファイルの編集  念のために元のファイルは 残す  やること  日付をシェル変数に格納  ファイル名を backup_ 日付.txt としてコピー  実際にバックアップを行 う  $./backup.sh #!/bin/bash NICHI=`date ‘+%Y-%m-%d’` cp source.txt backup_${NICHI}.txt

 やりたいこと  通し番号がつくファイル の作成  51 から先は名前を変更  右のスクリプトで可能  シェル変数・制御構造等 を利用  詳しくは調べてみよう!  同じ目的でも方法はい ろいろ  うまく活用して「楽をす る」ことを考える #!/bin/bash num=1 while [ $num –le 100 ] do if [ $num –le 50 ] ; then echo "${num}!!!" > small_${num}.txt elif [ $num –ge 51 ] ; then echo "${num}!!!" > large_${num}.txt fi num=`expr $num + 1` done シェルスクリプトの具体例(2) 通し番号のファイルを作る

 アプリケーションソフトウェアの一つ  テキストファイルの編集を目的とする ▪ 人間が「読める」ファイル ▪ 反対に人間が「読めない」ファイルをバイナリファイルという ▪ 拡張子はあてにならないことに注意!  元はプログラム作成ソフトウェア ▪ 通常の文書からプログラム, 各種設定ファイルの作成・編集まで幅 広く使える ▪ 文書作成ソフトウェア(MS Word 等 ) とは異なる  種類は豊富  vi, emacs, nano, mousepad etc…  好みに応じて使ってよい  実習では vi を使用する

 テキストエディタの一つ  Unix 黎明期から使われている由緒正しいエディタ  特徴  動作が軽快  どの Linux でもほぼ確実にインストールされている ▪ トラブル時に役立つ = root にとっては必修のエディタ  操作方法  かなり独特なため慣れが必要 ▪ 「基本的」ではあるが「初心者向け」ではない

シェル vi ( コマンドモード ) vi ( 挿入モード ) a, A, i, I, o, O キー $ vi [filename] ESC キー :wq, :q! 困った時は Esc キーで コマンドモードへ !!!

 カーネル  OS の中核のソフトウェア  ソフトウェアが要求するハードウェアを制御

 シェル  人間とカーネルを仲介するのソフトウェア ▪ 人間と接する ( ユーザインターフェース ) ▪ 人間とカーネルのやり取りを仲介する ( コマンドインタープリタ ) ▪ アプリケーションの動作を設定する ( 環境設定 )  様々な種類を選択可能 ▪ 本講義では bash を使う  必要に応じてシェルスクリプトを利用する ▪ 後で楽をするためにあらかじめ作られた台本 ▪ プログラミングの基礎である制御構造を用いる

 テキストエディタ  テキストファイルを編集するためのソフトウェア ▪ 単に「文章を書く」以外にもいろいろな場面で活躍する  vi の最低限の操作を身につける ▪ いざというときの必須ツール  これらをマスターすれば Linux を ( ほぼ ) 自由自在に 操れる!

 シェルに慣れる  シェルの各種機能を試してみる  vi を使えるようになる  最低限のテキスト編集技術を身につける  シェルスクリプトを作ってみる  スクリプトを使って作業を簡略化してみる  課題  見てのお楽しみ ♪

 INEX 最低限 UNIX / Linux [II]   INEX 最低限 UNIX / Linux [III]   INEX 最低限 UNIX / Linux [II]   INEX 最低限 UNIX / Linux [II]   INEX 最低限 UNIX / Linux [I]   IT 用語辞典 e-Words  –第 8 回 bash で始めるシェルスクリプト基礎の基礎   IT media エンタープライズ – 現在使用されているシェルが知りたい 

 カーネル (Wikipedia)  BC%E3%83%8D%E3%83%AB BC%E3%83%8D%E3%83%AB  パーソナルコンピュータ用オペレーティングシ ステムの現状と問題点  2/index.html 2/index.html  日本 OSS 推進フォーラム 

 C. Newbam, B. Rosenblatt 著, 遠藤美代子 訳., オラ イリー・ジャパン, 入門 bash 第2版, 1998  L. Lamb 著, 福崎俊博 訳., アスキー出版局, Learning the vi Editor, 1998 参考文献3