ファイルシステム と テキストエディタ入門

1
ICT Foundation
ファイルとディレクトリ
Copyright © 2010、 IT Gatekeeper Project – Ohiwa Lab. All rights reserved.
2
ファイル
• 様々なソフトウェアと、それらを使って作成・編集した
データを扱う単位
▪ ソフトウェア(プログラム)の本体もファイルとして扱われる
Microsoft Wordのプログラムファイル
Mac版
Windows版
▪ ソフトウェアを使って作成・編集したデータもファイルとして
扱われる
Microsoft Word形式のデータファイル
Mac版
Windows版
3
ディレクトリ(フォルダ)
• ファイルをグループ化して管理するための入れ
物のこと
• 授業では、ディレクトリという名称を使う
▪ WindowsやMacではフォルダという名称が使われ
ている
▪ Unixではディレクトリと呼ぶのが一般的
Windowsのフォルダ
Macのフォルダ
4
ファイルとディレクトリのツリー構造
• ディレクトリの中にディレクトリを入れることができる
• 図に描くと、枝分かれした(逆さまの)木のような構造
ディレクトリAをディレクトリB
(ツリー構造)になる
の親ディレクトリ
ディレクトリBをディレクトリA
の子ディレクトリ、サブディレ
クトリと呼ぶ
ディレクトリA
ディレクトリB
ファイルA
ファイルB
ファイルC
5
ディレクトリによるファイル管理
• ファイル数が増えても、ファイルをグループ化し
て整理すれば、ファイルの管理(検索・コピー・
移動等)が楽になる
整理前
整理後
6
CNSのファイルサーバ
• CNSでは、各ユーザにログイン名と同じ名前のディレクトリが
割り当てられており、これをホームディレクトリと呼ぶ
• 個人で使うデータ(例:レポートのファイル、メールのデータ)は
ホームディレクトリとそのサブディレクトリに保存する
• ホームディレクトリの中は自分で整理・管理していく必要がある
home
t13472msのホームディレクトリ
t13472ms
s13021sa
t13761gk
t13234it
ホームフォルダでも間違いではありませんが、ファイルサーバはUnixを使っている
ので、フォルダではなくディレクトリという名称を使うのが普通です
7
ルートディレクトリ
• ツリー構造の根にあるディレクトリには、名前がない
• 名前がないと不便なので、ルートディレクトリと呼び、/
(スラッシュ)で表記する
ルートディレクトリ
CNSのファイルサーバにはホームディレクトリ
以外にも色々なデータが入っている
/
etc
home
var
t13472ms
s13021sa
t13761gk
t13234it
【演習】
フォルダを作ってみよう
• デスクトップに「情報基礎」というフォルダを作りましょう
▪ デスクトップをクリックしてからFinderの「ファイル」メニューを選択し、「新
規フォルダ」を選択
▪ デスクトップを右クリックして、新規フォルダを選択
• これまで情報基礎で作った or 使ったファイルをひとまとめにし
て、整理してみましょう
• 授業で使うファイルはなるべくそのフォルダに保存して、デスク
トップをきれいに使いましょう
8
【演習】
CNSのファイルサーバを探検してみよう
• 自分のホームディレクトリを基点にして、CNSのファイ
ルサーバを探検してみましょう
• ファイルサーバのディレクトリの構造がどのようになっ
ているか図を書いてみましょう
• CNSのホームディレクトリにアクセス
するためには、ディスクトップにある、
CNS_HOMEDIRというフォルダを
クリックします
?
?
?
?
?
9
10
ICT Foundation
パス名(絶対・相対パス)
Copyright © 2010、 IT Gatekeeper Project – Ohiwa Lab. All rights reserved.
11
パス名(絶対パスと相対パス)
• ファイルやディレクトリにアクセスするために、ファイル
やディレクトリの位置(パス名)を示す必要がある
• パス名の指定方法は以下の2種類
• 絶対パス
▪ ルートディレクトリを基点として絶対的な位置を指定する
▪ 例:住所は絶対パス「神奈川県藤沢市遠藤5322」
• 相対パス
▪ あるディレクトリを基点にした相対的な位置を指定する
▪ 場合によっては、絶対パスより短いパス名で指定できる
▪ 例:田中君の家は「私の家の右隣」
12
絶対パス
• fileAの絶対パス
▪ 日本語だと“ルートディレクトリの中の、homeディレクトリの
中のt13472msディレクトリの中のfileA”
▪ 区切りを「/(スラッシュ)」で繋げて、
/
“/home/t13472ms/fileA”
home
t13472ms
fileA
fileB
s13021sa
13
相対パス1
• t13472msを基点にした時のfileBの相対パス
▪ “fileB”
• homeを基点にした時のfileBの相対パス
/
▪ “t13472ms/fileB”
home
t13472ms
fileA
fileB
s13021sa
14
相対パス2
• 基点から見た親ディレクトリを指定するには、“..(ピリ
オド2つ)”の記号を使う
• t13472msを基点にした時のhomeの相対パス
▪ “..”(親ディレクトリは1つだけなので、1つに定まる)
• s13021saを基点にした時のfileBの相対パス
/
▪ “../t13472ms/fileB”
home
t13472ms
fileA
fileB
s13021sa
15
相対パス3
• 基点のディレクトリを示すには、“.(ピリオド1つ)”の記
号を使う
• t13472msを基点にした時のfileAの相対パス
▪ “./fileA” (基点ディレクトリを明示した場合)
▪ “fileA”(基点ディレクトリを省略した場合)
/
• 基点ディレクトリを明示すると、
相対パスによる指定であることが分かる
• パス名が読みやすくなる場合がある
home
t13472ms
fileA
fileB
s13021sa
16
ICT Foundation
ファイルとディレクトリ
の操作
Copyright © 2010、 IT Gatekeeper Project – Ohiwa Lab. All rights reserved.
ファイルの操作方法1
ファイルマネージャーを使う
MacのFinder
WindowsのExplorer
17
ファイルの操作方法2
コマンド操作でファイルを管理する
Macのターミナル
Windowsのコマンドプロンプト
18
19
GUIとCUI
• Graphical User Interface(GUI)
▪ 画面表示にアイコンやメニューを用い、操作の大半をマウス
などのポインティングデバイスによって行なう
▪ Finder(Mac)やExplorer(Windows)はGUIを備えたファイ
ルマネージャ(ファイル管理機能をもつソフトウェア)
▪ 直感的に操作ができる
• Character User Interface(CUI)
▪ すべての操作をキーボードからコマンドと呼ばれる命令を用
いて行なう
▪ ターミナル(Mac)やコマンドプロンプト(Windows)を使うと
CUIを使ってコンピュータを操作できる
▪ 効率よく命令を記述でき、慣れれば素早く操作を行える
20
ターミナル
• コマンド操作を行うためには、ターミナルというプログ
ラムを使う
• 起動方法
▪ 初期設定ではDockに登録されている
▪ Dockにない場合
• Finderを起動する
• サイドバーのアプリケーションを選択する
• ユーティリティフォルダ中の、ターミナルをクリック
21
コマンド
• コンピュータに与える命令のこと
• CUIのターミナルでは(マウスによるボタン操作ではなく)、文字
で命令を伝える
• 例:ファイルの移動
Finder(GUI)だとマウスで命令
ターミナル(CUI)だと文字で命令
% mv 第2回情報基礎課題.doc /Users/ユーザ名/Documents/
22
プロンプト
• ターミナルを起動すると、%マークが現れる
• これをプロンプトと呼び、コンピュータがコマンド
による指示を待っている印(しるし)
• コマンドを入力したら、エンターキーを押すと命
令が実行される
% コマンド
このスライドではエンターキーを押すタイミングを
で表現しています
23
コマンド操作の必要性
• プログラミングの授業で使うことがある
▪ プログラムの翻訳や実行にコマンドを使う
• サーバはコマンドで操作することが多い
▪ パスワードを変更する
• CNSはhttps://itcsecure.sfc.keio.ac.jp/accounts/login/から可能
▪ プロバイダから提供されているWebサーバを設定する
▪ 所属する研究室・会社のサーバの管理をする
• 効率よくコンピュータに仕事を指示することができる
▪ シェルスクリプト
▪ ワイルドカード
24
日付とカレンダーの表示
• 日付の表示:dateコマンド
% date
2013年04月05日 (金) 11時49分52秒 JST
• カレンダーの表示:calコマンド
% cal
2013年 4月
日 月 火 水 木 金 土
7
1
2
3
4
5
6
8
9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
25
コマンド一覧
•
•
•
•
pwd
ls
cd
less
→ カレントディレクトリの絶対パスを表示
→ ディレクトリの内容を見る
→ カレントディレクトリの移動
→ ファイルの内容を見る
26
カレントディレクトリ
• コマンドによってファイルやディレクトリを操作
する場合、相対パスでファイルやディレクトリを
指定する方が便利
• 現在の作業ディレクトリのことをカレントディレク
トリ(ワーキングディレクトリ)という
• カレントディレクトリからの相対パスでファイル
を指定することができる
• ターミナルを起動した直後のカレントディレクト
リは「ホームディレクトリ/CNSiMac」になる
27
カレントディレクトリの表示
• pwd(print working directoryの略) コマンド
▪ カレントディレクトリの絶対パスを表示する
% pwd
/a/fs0102a/t13472ms
ファイルサーバは何台かのコンピュータで分担してホームディレクトリを保管してい
るので、本当のホームディレクトリの絶対パス名は /a/fs0102a/t13472msのように
ファイルサーバの番号とログイン名を組み合わせたものになっています
誰のホームディレクトリがどのファイルサーバにあるかを覚えるのは大変なので、
/a/fs0102a/の部分をまとめて、'/home' と表わします
28
ディレクトリの内容を見る1
• ls(listの略) コマンド
▪ カレントディレクトリにあるファイルとディレクトリの
一覧を表示する
% ls
Desktop
Wnn
Maildir
XPDataCNS
XPAppCNS
29
ディレクトリの内容を見る2
• -a オプション
▪ .emacsのように先頭がドットで始まるファイルは、ソフトの設
定に使うファイルなので普通は表示されない
▪ ls コマンドに –a オプションを付けると表示できる
▪ ls のあとに1つ空白をあけてからオプションを入力する
▪ オプションをつけることで、コマンドの機能を拡張できる
% ls -a
.
..
.ICEauthority
.cshrc
.emacs
.emacs.d
.folders
.fonts.cache-1
.gnome2
.gnome2_private
.gstreamer-0.8
.gtkrc-1.2-gnome2
.metacity
.mh_profile
.mozilla
.nautilus
.w3m
.winman
.xsession-errors
Desktop
Maildir
Wnn
XPAppCNS
XPDataCNS
30
ディレクトリの内容を見る3
• ディレクトリのパス名を引数(ひきすう)として指定
▪ カレントディレクトリ以外のディレクトリを見たいときは、その
ディレクトリのパス名を ls の後につける
▪ コマンドの後に1つ空白をあけてから付け加えるものをこの
コマンドの引数(ひきすう)と言う
% ls Maildir
courierimaphieracl
courierimapkeywords
courierimapsubscribed
courierimapuiddb
cur
new
tmp
31
カレントディレクトリの移動
• cd(change directoryの略) コマンド
▪ 移動したいディレクトリのパス名を引数として指定
▪ 引数のディレクトリのパス名は相対パスでも絶対パスでもよ
い
▪ 引数を省略すると、カレントディレクトリをホームディレクトリ
(特別教室のMacの場合は、「ホームディレクトリ
/CNSiMac」)に変更する
% cd Maildir
% pwd
/a/fs0102a/t13472ms/Maildir
% cd /home/t13472ms/Maildir
% pwd
/a/fs0102a/t13472ms/Maildir
32
ファイルの内容を見る
• less コマンド
▪
▪
▪
▪
テキストファイルの中身を見ることができる
引数に内容を見たいファイル名を指定
ファイルをスクロールするには、Spaceキーを使う
閲覧を終了するにはqキーを押す
% less signature
******************************************
杉浦 学 Manabu Sugiura
[email protected]
環境情報学部1年 大岩研究会
******************************************
【演習】
宝探しゲームをしてみよう
• 宝探しゲームをしてみましょう
▪ 出発点は/pub/sfc/ipl/ictf/exercise/islands
▪ cd コマンドでサブディレクトリに移動し、ls コマンドで何があ
るか調べる
▪ ファイルが置いてある場合、宝かどうかless コマンドでファ
イルの中身を見る(ハズレの場合もあります)
▪ 宝が無いと分かったら、親ディレクトリに移動して別のところ
を探す
▪ 自分のいる場所がわからなくなったら pwd コマンドで、カレ
ントディレクトリを表示させる
• 宝を発見したら、宝島の地図(ディレクトリ構造図)を
書いておきましょう
33