北海道大学大学院 理学院 宇宙理学専攻 高橋康人.  シェル  シェルとは何か?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か?  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.
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
最低限 UNIX (2) パーミッション・シェル・ テキストエディタ 2012 年度 INEX TA 高橋康人.
Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル.
情報処理基礎 A ・ B 第 5 回 プログラミング入門 操作の自動化を実現する仕組み. 2004/11/16 ・ 17 情報処理基礎 A ・ B 2 本日の内容 処理の自動化~プログラムの概念 ハードウェアとソフトウェア プログラミング言語 Excel における処理の自動化 入力支援の機能 分析ツール.
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
Viva !! vi 北海道大学大学院 理学院宇宙理学専攻 宇宙惑星グループ 修士 1 年 近藤 奨.
P HI T S スクリプト言語を用いた PHITS の連続 実行 Multi-Purpose Particle and Heavy Ion Transport code System title 年 2 月改訂.
北海道大学大学院 理学院 宇宙理学専攻 荻原 弘尭.  OS の大まかな構造  カーネル  シェル  シェルとは何か ?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か ?  vi の使い方  まとめ.
第5章 JMPのインストールと基本操作 廣野元久
応用コース:ワープロを活用する WORD2000 1回目 基礎コースの復習(第1章と付録) 2回目 文字の入力(第2章と第4章)
プログラミング入門 ガイダンス.
UNIX利用法.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
UNIX利用法 情報ネットワーク特論資料.
北海道大学大学院 理学院宇宙理学専攻 EPNetFaN Mail サーバ管理課 徳永 義哉
山下 達也 (北大理・宇宙理学専攻) 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)
計算機リテラシーM 第2回 メール 伊藤 高廣.
須賀 友也 神戸大学 理学研究科 地球惑星科学専攻 M1
RGWS Unix生活 テキストエディタと便利ツール
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
Advanced Unix Commands
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
Microsoft PowerPointを使ってみよう
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
ファイルシステムとコマンド.
(original Takagi & Saito, 2007)
xxxxxx . yyy xxxxxx Linuxにおける情報管理 一般的なファイル UNIX における情報管理の単位 ファイルの種類を表す
情報科学1(G1) 2016年度.
PowerPoint初級編 院内研究発表入門.
スクリプト言語を用いたPHITSの連続実行
データベース設計 第9回 Webインタフェースの作成(1)
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
鯖管のすヽめ.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
計算物理学基礎 第1回 UNIXの基礎 C言語の基本.
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
Nanoってなんなの 北大理学院 高橋康人.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
UNIX演習 情報ネットワーク特論資料.
高度プログラミング演習 (01).
UNIX演習 情報ネットワーク特論資料.
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Presentation transcript:

北海道大学大学院 理学院 宇宙理学専攻 高橋康人

 シェル  シェルとは何か?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か?  vi の使い方  まとめ

 人間と計算機を仲介するソフトウェア  OS を構成する主なソフトウェアのひとつ ▪ Windows のエクスプローラや Mac のファインダー等  シェルの主な役割  人間と計算機の仲介を行う シェル カーネル ユーザ 仲介 リクエス ト レスポン ス 仲介 OSOS

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

 CUI の場合  GUI の場合 mv titan.tex tex/

 CUI の場合  GUI の場合 mv titan.tex tex/ cd tex/ ls titan.tex

 CUI  コマンドを覚えないと何もできない ▪ 覚えてしまえばマウスいらず  計算機への負荷が小さい ▪ サーバ業務・トラブル対処に強い  GUI  直観的なので素人でも使いやすい ▪ 計算機の爆発的普及の原動力  計算機への負荷が大きい ▪ CUI よりも動作が複雑

 コマンドインタープリタ  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 = ja_JP.UTF-8 ▪ 通常は起動時に自動設定される  手動での設定方法  環境変数を書き換える ▪ 例) export LANG=C 日本語希望! シェル $LANG=JP ユーザ アプリケーション ソフトウェア カーネル 日付教えて!

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

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

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

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

 バックアップに必要な手順  ファイルをコピー  日付を取得しシェル変数に格納  ファイルの名前を書き換え  シェルスクリプトだと右の 通り  順次構造のみで十分  ファイルを実行するだけで バックアップが完了!  $./backup.sh #!/bin/bash cp source.txt backup.txt NICHI=`date ‘+%Y-%m-%d’` mv backup.txt bk_${NICHI}.txt

 small_1-50.txt, large_ txt を作るスクリプト  シェル変数・制御構造等を 利用  詳しくは調べてみよう!  同じ目的でも方法はいろ いろ  うまく活用して「楽をす る」ことを考える #!/bin/bash number=1 while [ $number –le 100 ] do echo $number!!! > small_$number.txt if [ $number –ge 51 ] ; then mv small_$number.txt large_$number.txt fi number=`expr $number + 1` done

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

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

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

 シェル  人間が計算機を使うためのソフトウェア ▪ 人間と接する(ユーザインターフェース) ▪ 人間と計算機のやり取りを仲介する(コマンドインタープリタ) ▪ アプリケーションの動作を設定する(環境設定) ▪ 本講義では bash を使う  必要に応じてシェルスクリプトを利用する ▪ 後で楽をするためにあらかじめ台本を作っておく ▪ プログラミングの基礎である制御構造を学ぶ

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

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

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

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

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