シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3

Slides:



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

情報処理基礎演習Ⅱ 地球環境学科 伊藤,小黒 TA 川野,馬場. 講義の内容 UNIX 系の OS の使い方( Linux の使い方) (始めのうちは慣れないため扱いづらいか も・・・) 起動・終了 ディレクトリ(フォルダ)の構造 基本的なコマンドの使い方 エディタ( vi ) ファイルの操作,管理.
最低限 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.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
Viva !! vi 北海道大学大学院 理学院宇宙理学専攻 宇宙惑星グループ 修士 1 年 近藤 奨.
ICT Foundation 1 Copyright © 2010 、 IT Gatekeeper Project – Ohiwa Lab. All rights reserved. ファイルとディレクトリ の操作.
P HI T S スクリプト言語を用いた PHITS の連続 実行 Multi-Purpose Particle and Heavy Ion Transport code System title 年 2 月改訂.
北海道大学大学院 理学院 宇宙理学専攻 荻原 弘尭.  OS の大まかな構造  カーネル  シェル  シェルとは何か ?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か ?  vi の使い方  まとめ.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
山下 達也 (北大理・宇宙理学専攻) 2010/05/07 (金)
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
2014年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
Unix生活 Vol.1
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
オレポータビリティ 日本Rubyの会 青木 峰郎.
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
須賀 友也 神戸大学 理学研究科 地球惑星科学専攻 M1
RGWS Unix生活 テキストエディタと便利ツール
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
2013年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
Advanced Unix Commands
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
情報処理 第12回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当教員 : 塩田
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
ファイルシステムとコマンド.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第1回 イントロダクション 担当:青木義満
xxxxxx . yyy xxxxxx Linuxにおける情報管理 一般的なファイル UNIX における情報管理の単位 ファイルの種類を表す
Web App Semi 2008 #1 Web App Semi 2008 #1.
情報科学1(G1) 2016年度.
UNIXについて 松野秀平.
スクリプト言語を用いたPHITSの連続実行
データベース設計 第9回 Webインタフェースの作成(1)
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
鯖管のすヽめ.
3 Macintoshの基本操作(3) 3.1 エイリアス エイリアスを作る ファイルなどの分身となるファイル アイコンを選択
第1回プログラミング入門.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
計算物理学基礎 第1回 UNIXの基礎 C言語の基本.
学籍番号順に着席のこと 001~056までは741教室へ 057~110までは743教室へ
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
パソコンのしくみ ハードウェア OS(Operating System) アプリケーション NEC DOS
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
UNIX演習 情報ネットワーク特論.
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
B演習(言語処理系演習)第2回 田浦.
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当教員 : 塩田
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
プログラミング演習I 2003年7月2日(第11回) 木村巌.
情報処理概論Ⅰ 2007 第6回 2019/5/16 情報処理概論Ⅰ 第6回.
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
C#プログラミング実習 第1回.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
Presentation transcript:

シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3 山下 達也 (北大理・宇宙理学専攻) 2009年05月08日

目次 シェル シェルスクリプト vi (ブイアイ)

シェル

シェルとは? シェルはカーネルとユーザとの仲介役 カーネル シェルとは「殻」の意味 OS の中核となる部分 ソフト・ハードの仲介役[第3回] リクエスト 仲介 レスポンス 仲介 ユーザ

シェルの役割 ユーザインターフェイス (コマンド・インタプリタ) アプリケーションが使用する環境情報の設定 プログラミング

ユーザインターフェース ユーザとカーネルの橋渡し役 プロンプトの表示 コマンドの読み込み → 解釈 → 実行 ユーザからのコマンドを待ち受ける コマンドの読み込み → 解釈 → 実行 この機能を「コマンド・インタプリタ」と呼ぶ カーネルからの返答をユーザに返す Kterm         × hoge@joho:~$ OS ユーザ Terminal        × hoge@joho:~$ カーネル ↑ プロンプトの表示 (コマンド受け付け) ユーザ

ユーザインターフェース シェルの動作例 : date コマンドで Linux カーネルから現在の日時を取得 Kterm         × hoge@joho:~$ OS ユーザ 絵を直す 今何時? Terminal         × hoge@joho:~$ hoge@joho:~$ date カーネル ↑ コマンド入力 ユーザ

ユーザインターフェース シェルの動作例 : date コマンドで Linux カーネルから現在の日時を取得 シェルはカーネルの機械語での応答を人間語に解釈して返す 1010101 0001001 1100110 Kterm         × hoge@joho:~$ OS ユーザ Kterm         × hoge@joho:~$ hoge@joho:~$ date OS ユーザ 今何時? Terminal         × hoge@joho:~$ hoge@joho:~$ date Fri May 8 13:25:14 JST 2009 カーネル ↑日時の表示 ユーザ

環境情報の設定と参照 アプリケーションソフトウェア (ブラウザ, メーラ, エディタ, etc. ...) で使用する環境情報を設定・参照 ユーザ名, ホームディレクトリ, 言語環境, ... 「環境変数」 に文字列を代入することで設定 例: 言語環境 LANG=C ターミナル TERM=xterm 詳しくは実習編で!!

プログラミング言語としてのシェル スクリプトを解釈する論理的な制御機能を持つ 一連の手続き(コマンド)を書き込んだファイル (シェル)スクリプトファイル 実行すると一連の手続きが行われる 「シェルスクリプト」編で詳しく紹介

代表的なシェル Unix 系 OS (Linux, Mac OS, FreeBSD, Solaris...) : Windows : sh, bash, ksh, zsh, csh, tcsh, (ssh)[第10回], … ユーザはシェルを選択可能 それぞれ異なる機能を持つ Windows : Explorer, その他 (互換シェル) コマンドプロンプト (NT系), DOSプロンプト(9x) Macintosh : Finder シェルそれぞれの違いを強調 マウスで使えるシェル explorer など 互換シェルとは?

bash の特徴 bash ・・・ Bourne Again Shell Unix 系 OS のシェルの一種, Linux での標準 ユーザの操作環境を向上させる機能が豊富 リダイレクト, メタキャラクタ ジョブ管理 補完機能, ヒストリ機能 エイリアス 環境変数, シェル変数 実習で bash の機能を体験してみましょう

シェルスクリプト

シェルスクリプトの目的 単純な作業の繰り返しを自動処理させる 既存のコマンドの組み合わせで新しいコマンドを作る 自分は楽をする 例:ファイルのバックアップをとる スクリプトの意味を記述する $ date ‘+%Y-%m-%d’ 2009-05-08 $ cp file.txt file_2009-05-08.txt $ ls file.txt file_2009-05-08.txt ←現在の日付を表示 ↑ ファイルをコピー ↑ 手動で作成されたファイル

シェルスクリプトの目的 単純な作業の繰り返しを自動処理させる 既存のコマンドの組み合わせで新しいコマンドを作る 自分は楽をする 例:ファイルのバックアップをとる $ cat makebackup.sh #!/bin/sh NICHI=`date ‘+%Y-%m-%d’` cp file.txt file_${NICHI}.txt ←シェルスクリプト ファイルの中身を見る ←実行するシェルを指定 ←日付をシェル変数に代入 ↑ ファイルをコピー

シェルスクリプトの目的 単純な作業の繰り返しを自動処理させる 既存のコマンドの組み合わせで新しいコマンドを作る 自分は楽をする 例:ファイルのバックアップをとる こういうシェルスクリプトを使うと毎日バックアップを取るのに使える $ ./makebackup.sh $ ls file.txt file_2009-05-08.txt makebackup.sh ←シェルスクリプト ファイルを実行 ↑シェルスクリプトによって 自動的に作成されたファイル

シェルスクリプトの概要 複数のコマンドを順に書き記す シェル変数を利用して汎用性を持たせる 構造化プログラミング (制御構造を持たせる) 順次構造 判断構造 繰り返し構造 処理 A 具体例を経験にそくして記述 処理 B 課題として実際に 作成してもらいます 処理 C

シェルスクリプトの概要 複数のコマンドを順に書き記す シェル変数を利用して汎用性を持たせる 構造化プログラミング (制御構造を持たせる) 順次構造 判断構造 if, case 繰り返し構造 処理 A YES NO 処理 B 条件 処理 B 処理 A 処理 C 具体例を経験にそくして記述 課題として実際に 作成してもらいます

シェルスクリプトの概要 複数のコマンドを順に書き記す シェル変数を利用して汎用性を持たせる 構造化プログラミング (制御構造を持たせる) 順次構造 判断構造 繰り返し構造 for, while ループ開始 具体例を経験にそくして記述 矢印の場所を変更する 処理A 処理B 課題として実際に 作成してもらいます ループ終了

テキストエディタ テキストを作成するためのソフトウェア vi や emacs などがある テキストが書かれているファイルをテキストファイルという 通常のテキストファイルの拡張子は .txt   例) filename.txt

vi

vi (ブイアイ) とは? vi = Visual extended editor UNIX 系 OS における基本的なテキストエディタ トラブル時に利用する/できる可能性が最も高い システムへの負荷が小さく, 軽快 X Window System (第 11 回) が無くても使える 必ず使用法を身に付けるべきツール 但し操作方法が直感的でない(慣れが必要) プログラマーには人気らしい?

vi の特徴 テキスト作成の効率化の徹底的追求 vi の基本: モード vi ではキー入力が二つの意味を持つ 単純な文字入力で様々な操作が可能 UNIX のコマンドも自由に呼び出せる vi の基本: モード   vi ではキー入力が二つの意味を持つ コマンドモード キー入力 = 編集命令 (削除,改行, etc) 挿入モード キー入力 = 文字入力

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

まとめ シェル シェルスクリプト vi ユーザとカーネルの橋渡し 実習で機能を体験, 学習. 今回は bash を使用. 単純な作業の繰り返しを自動処理 課題として実際に作成 vi 必修のテキストエディタ シェルスクリプト作成に使用しつつ覚えよう!!