最低限 UNIX (2) パーミッション・シェル・ テキストエディタ 2012 年度 INEX TA 高橋康人.

Slides:



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

最低限 UNIX (Linux) II ~ Linux 入門 ~ 情報実験 第 3 回 (2011/05/06) 北海道大学大学院 理学院 宇宙理学専攻 山下 達也.
Debian の世界へようこそ! 北大 理学院 宇宙理学専攻 惑星宇宙グループ M1 三上 峻.  Debian GNU/Linux  Debian プロジェクト  GNU プロジェクト  Debian GNU/Linux とは  Debian インストール  パッケージ  Debian.
Shell Script & gnuplot の 簡単な説明!! 日本大学文理学部情報システム解析学科 谷聖一 研究室 田中 勇歩 1.
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 年 近藤 奨.
P HI T S スクリプト言語を用いた PHITS の連続 実行 Multi-Purpose Particle and Heavy Ion Transport code System title 年 2 月改訂.
北海道大学大学院 理学院 宇宙理学専攻 荻原 弘尭.  OS の大まかな構造  カーネル  シェル  シェルとは何か ?  シェルの機能  シェルスクリプト  テキストエディタ  テキストエディタとは何か ?  vi の使い方  まとめ.
応用コース:ワープロを活用する WORD2000 1回目 基礎コースの復習(第1章と付録) 2回目 文字の入力(第2章と第4章)
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
山下 達也 (北大理・宇宙理学専攻) 2010/05/07 (金)
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
Unix生活 Vol.1
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
東京工科大学 コンピュータサイエンス学部 亀田弘之
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
UNIX Life KMSF M2 saburo.
須賀 友也 神戸大学 理学研究科 地球惑星科学専攻 M1
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
Linux リテラシ 2006 第2回 基本コマンド2.
Advanced Unix Commands
最低限 UNIX (Linux) II ~ Linux 入門 ~ 情報実験 第 3 回 (2010/04/30)
2007 Microsoft Office system クイックガイド
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
2001年度計算数学I 第1回 ガイダンス
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
ファイルシステムとコマンド.
第2章 ソフトウェアの基礎知識.
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
xxxxxx . yyy xxxxxx Linuxにおける情報管理 一般的なファイル UNIX における情報管理の単位 ファイルの種類を表す
情報コミュニケーション入門 2016年度版 情報コミュニケーション入門m 総合実習(1).
スクリプト言語を用いたPHITSの連続実行
データベース設計 第9回 Webインタフェースの作成(1)
基幹理工学研究科 情報理工学専攻 後藤研究室 修士1年 魏 元
インターネット技術特論 B:コマンドライン, shell 山口 実靖
オペレーティングシステムとは オペレーティングシステム 第3回.
鯖管のすヽめ.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
計算物理学基礎 第1回 UNIXの基礎 C言語の基本.
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
gate-toroku-system のしくみ
第4回 コンピューティングの要素と構成 平成22年5月10日(月)
PowerPoint へようこそ 簡単に操作するための 5 つのヒント.
UNIX演習 情報ネットワーク特論.
インターネット             サーバーの種類 チーム 俺 春.
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
Nanoってなんなの 北大理学院 高橋康人.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
gate登録システム: 設計ポリシーから使い方まで
システムプログラミング 第6回 システムコールのエラーメッセージ ファイルシステム 情報工学科 篠埜 功.
gate-toroku-system のしくみ
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Presentation transcript:

最低限 UNIX (2) パーミッション・シェル・ テキストエディタ 2012 年度 INEX TA 高橋康人

お品書き パーミッション – パーミッションとは何か ? – 確認・変更方法 シェル – シェルとは何か ? – シェルの機能 – シェルスクリプト テキストエディタ – テキストエディタとは何か ? – vi の使い方 まとめ

パーミッション

パーミッションとは何か ? ファイル・ディレクトリの利用権限 – ファイルやディレクトリに対して「誰が」 「何を」していいのか – 全てのファイル・ディレクトリはそれぞれ固 有のパーミッション情報を持つ

パーミッションはなぜ必要か ? プライバシーの保持 – マルチユーザシステムの課題 – 例: 他者に見られたくないファイル – メール・未発表の研究データ・昔書いた ポエム etc… 勝手に改変されると困るファイル – 公開データ・自作プログラム・自分のウェブページ etc… システム管理 – 重要ファイルの保護 /etc/shadow 等のシステムファイル 計算機を共同利用する上で、目的に応じた適切 なパーミッション設定が必要となる

確認方法 ls コマンドに –l オプションを付与 – 詳しいファイル情報をリスト表示する ファイルモード – ファイルタイプ ( 左端 1 字 ) ・パーミッション (3×3 字 ) 所有ユーザ・所有グループ ls -l 合計 28 -rw-rw-r-- 1 chappy epnetfan :46 ichigo.txt -rw-r--r-- 1 chappy chappy :40 mikan.txt drwxr-xr-x 2 chappy chappy :40 ringo

読み方と変更方法 「何を」 – 読み取り (Read) – 書き込み (Write) – 実行 (eXecute) 「誰が」 – ファイル所有ユーザ (User) – ファイル所有グループ (Group) – その他 (Others) 例外 – システム管理者 ( root ) パーミッション設定に関係 なくあらゆる権限を持つ 変更方法 – chmod (change mode) コマンド – ファイル所有者のみ可能 指定方法 – 数字で指定 R:4, W:2, X:1 の和で指定 $ chmod 740 ichigo.txt – 文字で指定 対象 +(-) 権限 $ chmod g+r ichigo.txt 詳しくは実習で! -rwx-w-r-x 1 chappy epnetfan :22 ichigo.txt

シェル

シェルとは ? 人間と計算機を仲介するソフトウェア – Windows のエクスプローラやコマンドプロンプト、 Mac のファインダー等 シェルの主な役割 – ユーザインターフェースを提供する 人間にとって使いやすいことが求められる シェル カーネル ユーザ 仲介 リクエス ト レスポン ス 仲介

CUI ( キャラクタユーザインターフェイス ) – すべての操作をコマンドを打って制御する キーボード 一つでなんでもできる – 原始的な入力様式 GUI ( グラフィカルユーザインターフェイス ) – グラフィックなどで直観的な操作を行う マウスとキーボードを用いる – Windows, Mac OS などの OS で実装 CUI と GUI

CUI と GUI (titan.tex を tex ディレクトリに格納 ) mv titan.tex tex/ CUI の場合 GUI の場合

CUI の場合 GUI の場合 CUI と GUI (titan.tex を tex ディレクトリに格納, 結 果 ) mv titan.tex tex/ cd tex/ ls titan.tex

CUI – コマンドを覚えないと何もできない 逆に覚えてしまえばこっちのもの – 負荷が小さい サーバ業務・トラブル対処に強い GUI – 直観的なので素人でも使いやすい 計算機の爆発的普及の原動力 – 負荷が大きい CUI と GUI のメリット・デメ リット

シェルの機能 コマンドインタープリタ – ユーザのコマンドを受け取る – 適切なアプリケーションに引き渡す – 結果をユーザに返す 環境設定 – アプリケーション間での共用データを保持し、 必要に応じて参照させる

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

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

Kterm × OS ユーザ Kterm × date OS ユーザ 今何時? terminal × date Fri May 7 13:25:14 JST 2010 カーネル カーネル 日時の表示 ユーザ コマンドインタープリタ アプリケーション ( カーネル ) から結果を受け取る 結果を見やすい形に変換させる – 環境変数を参照する ( 後述 ) 結果を表示する

シェルの機能 ~環境設定~ 「環境」とは ? – アプリケーション間で共用され る設定内容 – 各アプリケーションはシェルか ら与えられた環境の下で動作す る 設定方法 – 環境変数を用いて設定 $LANG $USER etc… ハードウェア ( 計算機の物理的実 体 ) 日本語しかできな い ユーザ ( 人間 ) シェル アプリケーション カーネル 日本語 日本語を 知らないので 英語 LANG=EUC_JP

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

高度なシェルの使い方 ~シェルスクリプト~ シェルスクリプトとは ? – 複数のコマンドを組み合わせた「台本」 ( ファイル ) – 「台本」を読むように順にコマンドを実行 利用する意義 – 一つずつ作業する手間を省く 同じ作業を省く – 人為ミスを防ぐ 簡易なプログラミングも可能 – 制御構造を利用可能

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

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

シェルスクリプトの具体例 (2) ちょっと複雑な作業 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… – 好みに応じて使ってよい

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

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

まとめ パーミッションの確認 – RWX, UGO のチェックを習慣づける シェルを通した操作 – シェルの機能に習熟する – 必要に応じてシェルスクリプトを利用する テキストエディタを用いたファイル作成・編集 – vi の最低限の操作を身につける これらをマスターすれば Linux を ( ほぼ ) 自由自在 に操れる!

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

参考文献 とほほの WWW 入門 - パーミッションを変 更するには – KENT WEB - パーミッションについて – TAG index - パーミッションの設定 –

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

訂正 ( テキストは修正済み ) [4] テキストエディタ – [4-1] テキストファイルを確認する /etc/grub.d/00_header