Untitled

Part 1 基本操作
Lesson 2 の課題
Topics
基本操作
1.現在作業している場所を知る.
ƒ‹•[ƒg
基礎知識
home
etc
○ ○ ○ ○ ○ ○ ○ ○
takai
○ ○ ○ ○ ○
ホーム
ディレクトリ
(カレント
ディレクトリ)
ファイル・ディレ
2.ファイルやディレクトリのリストアップ.
クトリの一覧表示
3.ディレクトリを移動する.
カレントディレク
トリの変更
4.新しいディレクトリを作成する.
ファイルの整理
20
Lesson 1 パソコン操作の基本
Topics
6.
基本操作
5.コマンドやプログラムを検索する.
ファイル検索
パイプライン処理とリダイレクション.
連続処理と入出力
の切り替え
コマンド 1
処理結果
コマンド 2
7. 印刷する.
プリンタ印刷
21
Part 1 基本操作ンプル
Essentials
基本操作
ファイルシステム
ツリー構造(階層構造)
1 現在作業しているディレクトリを知る
UNIX のファイルシステム(ファイルやディレクトリ管理の仕組み)
は、ツリー(木)構造(階層構造)となっている.ツリー構造は、その
名のとおり、ちょうど木を逆さにした形で表されるので、頂点の部分
ルート(/)
ディレクトリ
(つまり根っ子の部分)をルート(root:根)と呼び、ルートからそれぞ
れの枝(ディレクトリと呼ぶ)に枝分かれしていく。ルートは、
「/」
(ス
ラッシュ)記号で表され、ディレクトリには、それぞれ名前がつけられ
る。データやプログラムなどのファイルは、それぞれのディレクトリに
格納される。
ƒ‹•[ƒg
ファイル
ディレクトリ(名)
home
etc
○ ○ ○ ○ ○ ○ ○ ○
takai
○ ○ ○ ○ ○
ホーム
ホームディレクトリ( )
f01
カレントディレクトリ
f02
f03
dir01
ディレクトリ
(カレント
UNIXでは、ログインし作業している間、ユーザは必ずどこかのディ
レクトリに位置付けられる。
ある作業を行っている瞬間に位置付けられ
ているディレクトリをカレントディレクトリ(Current Directory)と呼
ぶ。通常ログイン直後は、ホームディレクトリ(Home Directroty:各
パス
ユーザに個別に割り当てられた専用ディレクトリ)
がカレントディレク
絶対パス
トリとなる。ホームディレクトリは, (チルダ)記号で表すこともあ
相対パス
る.
22
Lesson 2 データの格納
目的のファイルやディレクトリがどこにあるかは,パス(Path:経
Scratch Pad
基本操作
路)で示される.パスの表記は,どこからの経路を示すかによって,つ
ぎの 2 通りの方法が用いられる.
●ルートからの経路を示す(絶対パス)
(例) /home/takai/f01
,
/home/takai/dir01
●カレントディレクトリまたは特定のディレクトリからの経路を示
す(相対パス)
(例) f01 , dir01 , home/takai/f03 , /f02
Let’s Touch
現在のディレクトリ(カレントディレクトリ)を調べよう.
[takai]$ pwd
/home/takai
カレントディレクトリの絶対パスが表示される
■ pwd(present working dhirectory)・・・カレントディレクトリの表示
書式: pwd
Windowsでは,ハードディスクドライブやCD-ROMドライブは,(c:),
(d:)といったドライブ名で管理されていて,
それぞれのドライブ内で独
自のツリー構造を構成していた.それに対してUNIXでは,ひとつのルー
ト「/」
の下ですべてのファイルシステムが管理されているため,
CD-ROM
やFDDも他のディレクトリと同様に表すことができる.
(例)CD-ROM へのパス: /mnt/cdrom
HDD1
mnt
CDROM
CD-ROM
○ ○ ○ ○ ○
hdd2
fd
FDD
HDD2
23
Part 1 基本操作ンプル
Essentials
2 ファイルやディレクトリのリストアップする
基本操作
あるディレクトリの下には,ファイルやディレクトリがある.UNIX
では,
指定したディレクトリに保存されているファイルやディレクトリ
を参照するコマンドが用意されている.
Let’s Touch
ファイルやディレクトリを.リストアップしよう.
ls
[takai]$ ls
GNUstep/
address
[takai]$ ls
ドットファイル
takai01
test1
-a
./
.bash_profile
../
.lyx/
.bashrc
.xsession-errors
.mc/
.bash_history
.gnome_private/
.bash_logout
.inputrc
[takai]$ ls
test2
GNUstep/
.xinitrc*
test2
.xsession*
-l
total 3
ロングフォーマット
実行形式
drwxr-xr-x
3 takai
takai
1024 Mar
9 16:29 GNUstep/
-rw-rw-r--
1 takai
takai
3 Mar 24 23:54 address
-rw-rw-r--
1 takai
takai
3 Mar 24 23:54 test1
[takai]$ ls
/
bin/
home/
mnt/
root/
tmp/
boot/
lib/
net/
sbin/
usr/
dev/
lost+found/ opt/
var/
etc/
misc/
proc/
sda3/
リンク
■ ls(list)・・・ディレクトリの内容,ファイル情報の表示
file
ワイルドカード
24
書式: ls
- オプション
パス(ファイル / ディレクトリ)
オプション 意 味
-a
全てのファイルを表示する
-l
ロングフォーマットで表示する
-t
最終更新時刻が新しい順に表示
-F
ファイルの後に種類を表す記号を表示する
Lesson 2 データの格納
オプション-aを指定すると,ドットファイル(ファイル名に「.」が
Scratch Pad
基本操作
ついており,通常表示されないファイル)も含めたすべてのファイルが
表示される.
オプション -l を指定すると,ファイルの属性や所有者,グループ,
ファイルサイズ,更新日時等も含めた詳細なファイル情報が表示され
る.
オプションの後に参照したいファイルやディレクトリのパスを指定
することもできる.
(例) ls -la /usr/bin
オプション-Fを指定すると,ファイル名の後ろにファイルの種類を
表す記号が表示される.記号の意味はつぎのとおりである.記号の付い
ていないものはテキストファイルである.
/・・・ディレクトリ
*・・・実行形式
@・・・リンクディレクトリ,リンクファイル
ファイルの種類は,file コマンドを使って調べることもできる.
ファイルの種類を調べよう.
[takai]$ file
/etc/passwd
/etc/passwd: ASCII text
[takai]$ file
*
address: ASCII text
GNUstep: directory
takai01: ASCII text
test1:
ASCII text
test2:
ASCII text
■ file・・・ファイルの種類を判定する
書式: file
- オプション パス(ファイル / ディレクトリ)
ファイル名の指定には,ワイルドカードが使用できる.ワイルド
カードとは,任意の文字列を表すことができるつぎのような記号をであ
る.
*・・・0 文字以上の任意の文字列
?・・・任意の 1 文字
(例) a* (aで始まる名前のファイル)
test? (test で始まる 5 文字の名前のファイル)
25
Part 1 基本操作ンプル
Essentials
3 ディレクトリを移動する
基本操作
他のディレクトリにあるファイルを続けて操作する場合に常にパス
を明示しなくてはならないとしたら,非常に不便である.そうした場合
には,
カレントディレクトリを目的のディレクトリへ移して作業をする
cd
のが便利である.ディレクトリの移動には,cd(change
working
directory)コマンドが用意されている.
Let’s Touch
他のディレクトリを探検しよう.
[takai]$ cd /
[takai]$ pwd
/
[takai]$ ls
bin/
home/
mnt/
root/
tmp/
boot/
lib/
net/
sbin/
usr/
dev/
lost+found/ opt/
var/
etc/
misc/
proc/
sda3/
[takai]$ cd /etc
[takai]$
pwd
/etc
[takai]$
cd /usr/local/bin
[takai]$
pwd
/usr/local/bin
[takai]$
ls -a
egon*
nmap*
pw*
tidy*
xfiler*
gvu*
nmapfe*
siag*
xedplus*
xnmap@
■ cd(change working directory)・・・作業ディレクトリの変更
書式: cd パス(ディレクトリ)
パスには,つぎのような記号を用いることができる.
カレントディレクトリ(.)
親ディレクトリ(..)
- ・・・ 直前に作業していたディレクトリ
・・・ ホームディレクトリ
. ・・・ カレントディレクトリ
.. ・・・ ひとつ上のディレクトリ(親ディレクトリ)
26
Lesson 2 データの格納
また,パラメータとしてパスを指定しなかった場合には,ホーム
Scratch Pad
基本操作
ディレクトリへ移動する.よって,仮に現在作業しているディレクトリ
が分からなくなっても,
「cd」と入力するだけで,いつでもホームディ
レクトリに戻ることができる.
ひとつ上のディレクトリへ移動しよう.
.
[takai]$ pwd
/usr/local/bin
[takai]$ cd ..
[takai]$ pwd
/usr/local
ホームディレクトリへ戻ろう.
[takai]$ cd [takai]$ pwd
/home/takai
Tips & Techniques
ルート以下には,既にさまざまなディレクトリが存在するが,
これらには Linux のシステムプログラムや設定ファイル,アプリ
ケーションプログラムなどが格納されている.中には,他のユーザ
のファイルやシステムを稼動させるのに重要なファイルが存在する
ため,
一般ユーザは許可されたディレクトリ以外で勝手にファイル
を作成したりファイルを操作したりできないようになっている.
システムに重要なディレクトリはあらかじめ名前と役割が決
まっており,つぎのようなものがある.
■ /bin
基本的なコマンドの実行ファイルが格納されている
■ /dev
各種周辺装置を表す特別なファイルが格納されている
■ /etc
各種設定ファイルやシステム起動時に実行されるスクリ
プトが格納されている
■ /home
一般ユーザのホームディレクトリが格納されている
■ /lib
コマンドプログラムが使用する共有ライブラリが格納さ
れている
■ /usr
さまざまなアプリケーションと関連ファイルが格納され
ている
27
Part 1 基本操作ンプル
Essentials
4 新しいディレクトリを作成する
基本操作
許可されたディレクトリの下であれば,自由に新しいディレクトリ
mkdir
を作成することができる.ディレクトリを作成するには,mkdirコマン
rmdir
ドを,削除するには rmdir コマンド使う.
Let’s Touch
ホームディレクトリに授業用のディレクトリ(jog2-1)を作成し,
さらに jog2-1/ の中に test1 という名のディレクトリを作成しよ
う.
[takai]$ pwd
/home/takai
[takai]$ mkdir
joug2-1
[takai]$ ls jo*
jog2-1/
[takai]$ mkdir
jog2-1/test1
[takai]$ ls jog2-1/
test1
■ mkdir(make directories)・・・ディレクトリの作成
書式: mkdir ディレクトリ名
UNIX では,ファイル名やディレクトリ名は,半角英数字のみで
最大 256 文字までの名前を付けることができる.また,大文字と小
文字は区別されるので,つぎの名前はすべて異なる名前である.
takai,
Takai, TAKAI,
tAkAi,
TAKAi
jog2-1/ の下の test1 ディレクトリを削除せよ.
mkdir -p
ディレクトリの再帰的作成
rm -r
再帰的削除
[takai]$cd jog2-1
[takai]$ls
test1
[takai]$rmdir test1
[takai]$ls -a
[takai]$
28
Lesson 2 データの格納
■ rmdir(remove directories)・・・空ディレクトリの削除
Scratch Pad
基本操作
書式: rmdir ディレクトリ名
rmdirでは,
削除するディレクトリ以下にファイルやディレクト
リがあると,削除できない.
複数段にわたるファイルやディレクトリを一度に削除したい場合は,
rm コマンドに -r オプションを付けて用いる.
jog2-1/ の下に test2 という名のディレクトリを,test2 の下に
test2-1という名のディレクトリを作成し,rmコマンドを用いて
test2ディレクトリとtest2-1ディレクトリを一度に削除しよう.
[takai]$pwd
/home/takai/jog2-1
[takai]$mkdir -p test2/test2-1
[takai]$ls -a
test2/
[takai]$ls -a test2/
test2-1
m k d i r で複数段に渡って一度にディレクトリを作成する場合
は,-p オプションを指定する.
(例)mkdir -p test2/test2-1
まず test2 を作成し,その後 test2-1 を作成する.
mkeir -p test3/test3-1/test3-1-1
test3 を作成し,その後 test3-1,test3-1-1 を順に作
成する.
■ rm(remove)・・・ファイル・ディレクトリの削除
書式: rm - オプション ファイル名(ディレクトリ名)
rm はファイルを削除するコマンドである.オプションを指定し
ない場合は,指定されたファイルを削除する.複数段のディレクト
リを再帰的に削除する場合は,-r オプションを指定する.
(例)rm -r test2
test2も含めて,それより下にあるファイルおよびディ
レクトリを順に削除する.
29
Part 1 基本操作ンプル
Essentials
5 コマンドやプログラムの場所を知る
基本操作
使いたいコマンドやプログラムがシステムのどこにあるのかがわか
which
らない場合,また目的のファイルが格納されている場所がわからなく
whereis
なった場合,which コマンド,whereis コマンド,find コマンドなどを
find
使って検索することができる.
Let’s Touch
ここまでで使用したコマンドの実行ファイルがどこにあるかを検
索しよう.
[takai]$ which man
/usr/bin/man
[takai]$ which date
/bin/date
[takai]$ which cal
/usr/bin/cal
■ which ・・・ コマンドパスの表示
書式: which コマンドのプログラム名
上で調べたコマンドに関連するファイルを検索しよう.
[takai@brend takai]$ whereis man
man: /usr/src/../man /usr/bin/man /etc/man.conf /usr/local/man /usr/
share/man /usr/man/../man /usr/man/man1/man.1 /usr/man/man7/man.7 /
usr/X386/man/../man /usr/X11/man/../man
[takai@brend takai]$ whereis date
date: /bin/date /opt/../bin/date /usr/man/man1/date.1
[takai@brend takai]$ whereis cal
cal: /usr/bin/cal /usr/man/man1/cal.1
[takai@brend takai]$
バイナリファイル
ソースファイル
マニュアルページ
30
■ whereis ・・・ コマンドのバイナリファイル,ソースファイル,
マニュアルページファイルの表示
書式: whereis
コマンド名
Lesson 2 データの格納
whichコマンドやwhereis コマンドは,あらかじめシステムの環境
Scratch Pad
基本操作
変数に登録されたパスを検索するコマンドである.
登録されたパス以外
に保存されているプログラムやファイルを検索するには,
findコマンド
を使う.
つぎのコマンドやファイルの所在を検索しよう.
cal, vi, inetd.conf, passwd
[takai@brend takai]$ find / -name cal
find: /etc/X11/xdm/authdir: Permission denied
find: /etc/logcheck: Permission denied
検索許可され
ていない
・・・・
検索結果
/usr/bin/cal
・・・・
find: /proc/24471/fd: Permission denied
find: /proc/24524/fd: Permission denied
検索許可され
ていない
find: /root: Permission denied
[takai@brend takai]$
■ find ・・・ ディレクトリ階層下のファイルを検索する
書式: find
検索パス - オプション キーワード
find は,
「検索パス」で指定されたディレクトリ以下から,オプ
ションとキーワードで指定された条件に合うファイルやディレクト
リを検索する.ファイル名やディレクトリ名で検索する場合には,name オプションを指定して,ファイル名やディレクトリ名をキー
ワードとする.
(例) find / -name cal
ルート以下のすべてのディレクトリから,calという名
のファイルまたはディレクトリを検索する.
find /home -name takai
/home以下からtakaiという名のファイルまたはディレ
クトリを検索する.
find は,指定されたディレクトリ以下をしらみつぶしに検索す
るが,検索許可が与えられていないディレクトリに関しては,
permission denied(参照が拒否された)と表示し,検索できなかっ
たことを知らせる.
31
Part 1 基本操作ンプル
Essentials
基本操作
リダイレクション
6 パイプライン処理とリダイレクション
コマンドの結果は,通常標準出力(ディスプレイ画面)に出力され
るが,
ディスプレイ画面ではなくファイルや他の装置に出力先を変更す
る仕組みとしてリダイレクション(redirection)がある.リダイレク
ションは,アングル(「<」
「>」)で表す.
$コマンド > ファイル名
ファイルに出力する
$コマンド >> ファイル名
ファイルの末尾に追加する
$コマンド > 出力装置
指定した装置に出力する
(例)$man cal > calmanual
calコマンドのオンラインマニュアルをディスプレイ画面では
なく,カレントディレクトリの calmanual というファイルに
出力する
$man date >> calmanual
dateコマンドのオンラインマニュアルをcalmanualの末尾に
追加するように出力する
Let’s Touch
cpというコマンドのオンラインマニュアルの内容をcpmanという
ファイル名でホームディレクトリに保存せよ.
cat
[takai]$cd
[takai]$ man cp > cpman
more
[takai]$ls
GNUstep/
パイプライン処理
cpman
jog2-1/
[takai]$cat cpman
cpmanの内容を表示せよ.
[takai]$cat cpman
■ cat ・・・ ファイルの出力
書式: cat ファイル名
ファイル名を省略すると標準入力(キーボード)からの入力を読
み込む.
32
Lesson 2 データの格納
あるコマンドの実行結果を別のコマンドへ送り,
続けて処理を行う
Scratch Pad
基本操作
にはパイプライン(または単にパイプ)を使う.
$ コマンド 1 │ コマンド 2 コマンド 1 の結果をコマンド 2 へ送る
(例)$cat cpman │ more
cpmanの内容を出力し,その出力結果をmoreコマンドへ送
る.
パイプライン処理は,あるバケツから流れ出た水を他のバケツへと
送るためのパイプに喩えられる.
コマンド 1
処理結果
コマンド 2
Let’s Touch
more コマンドを用いて cpman の内容を確認せよ.
[takai]$more cpman
■ more ・・・ テキストファイルを1ページごとに出力する
書式: more ファイル名
more コマンドは,ページャコマンドと呼ばれるコマンドのひとつ
で,テキストデータの画面出力を制御するコマンドである.moreコマン
ドを用いると,長文ファイルは,1ページごとに区切られて表示され
る.操作の仕方は,オンラインマニュアルの閲覧と似ており,スペース
キーで次ページを表示し,[q]キーで終了することができる.
cat コマンドと more コマンドを用いて cpman の内容を確認せよ.
[takai]$cat cpman │ more
と同様の結果となる.
33
Part 1 基本操作
Essentials
7 印刷する
基本操作
UNIX でテキストデータを印刷するには,lpr コマンドを用いる.
Let’s Touch
cpman.kadaiを印刷しよう.
[takai]$lpr cpman.kadai
■ lpr(off line print) ・・・ ファイルの印刷
書式: lpr ファイル名
印刷待ちのリストを参照し,その画面をファイルに保存しよう.
[takai]$script
Script started, file is typescript
[takai]$lpq
lp is ready and printing
Rank
Owner
Job
Files
Total Size
active takai 0
cpman
10byte
1st
cpman-kadai
1024byte
morita 2
[takai]$exit
exit
Script done, file is typescript
[takai]$
■ script ・・・ 画面に表示したもののログを作成する
書式: script (ファイル名)
scriptコマンドは,実行されてからexitと入力するまでに画面
に表示されたすべてのものを記録しファイルに格納する.
ファイル
名を省略した場合は,typescriptという名前でファイルが作成され
る.
■ lpq ・・・ 印刷待ちジョブの表示
書式: lpq
現在印刷待ちとなっているデータの一覧を表示する.
typescript ファイルを simei ファイルと結合して印刷せよ.
34
Lesson 2 データの格納
Using Your Skills
Hints
基本操作
①つぎの言葉の意味を説明せよ.
a) ホームディレクトリ,
b) パス,
c)パイプライン処理, d) リダイレクション
②つぎのコマンドの意味を簡単に説明せよ.
a) mkdir yotei,
b) lpq,
c) script
③学籍番号と氏名が書かれたファイルを作成し,
signatureという名
前で保存せよ.
$cat > ファイル名
強制終了 [ctrl]+c
④つぎのディレクトリに移動し,
そのディレクトリに格納されている
ファイルやディレクトリを調べよ.
調べ終えたら,
ホームディレク
トリに戻ること.
/,
/etc,
/usr/bin,
/usr/local,
/var/log
⑤つぎのコマンドやディレクトリの所在を検索せよ.
vi,
httpd,
gemes,
man,
find
⑥つぎのコマンドに関連するファイルの所在を検索せよ.
mkdir,
passwd,
ftp, X
⑦lessコマンドの機能をオンラインマニュアルで調べ,catmanファ
イルに適用せよ.
⑦西暦2100年のカレンダをcal2100というファイルに保存し,
③で作
成したsignatureと結合して印刷せよ.
35