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
© Copyright 2024 Paperzz