Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
今日の学習内容
◎良く使うLinuxコマンド(続)
色々なUNIXのコマンド◎文章ファイルの内容表示 cat (conCATenate)◎文章ファイルの内容の画面単位での表示 more◎ファイル名の確認 ls (LiSt)◎ファイルのコピー cp (CoPy)◎複数のファイルの連結 cat file1 file2 > fileall◎ファイル名の変更 mv (MoVe)◎ファイルの削除 rm (ReMove)◎カレントディレクトリを表示 pwd (Print Working Directory)◎ディレクトリを作る mkdir (MaKe Directory)◎ディレクトリを削除 rmdir (ReMove Directory)◎カレントワーキングディレクトリの移動 cd (Change Directory)◎ファイルやディレクトリの保護モードの変更 chmod◎オンラインマニュアルの表示(man)
ファイルのコピー(2)◎cp [options] sourcefile(コピー元) destinationfile (コピー先)
cp [options] sourcefile(dir)(コピー元) destinationdir (コピー先)
Options: -i コピー先のファイルがすでに存在する場合、上書きするかどう
か確認した上でコピーする
-r コピー元とコピー先がともにディレクトリの場合、ディレクトリの下のファイルを全て再帰的にコピーする
◎確認なしでコピー: cp test10.tex test1.tex◎確認のあるコピー: cp -i test10.tex test1.tex
上書きしてもよろしいでしょうか[yes/no]?のメッセージに対して
yes or y を入力すると、コピーを行う
no or n を入力すると、コピーを中止
ファイルのコピー(3)◎cp [options] sourcefile(コピー元) destinationfile (コピー先)
cp [options] sourcefile(dir)(コピー元) destinationdir (コピー先)
◎コピー元のファイル名として、「*」「?」を用いて省略指定できるa) 「*」の場合:1文字以上省略可b) 「?」の場合:1文字だけ省略
ただし、コピー先のファイル名には省略指定はできない(1) mkdir TeX1 (2) cp test?.tex TeX1確認: (3) cd TeX1 (4) ls 削除:(5) rm t*.tex 再確認:(6) lsホームディレクトリに戻す: (7) cd
◎コピー先がディレクトリの場合、コピー元には複数のファイル名を空白で区切って指定できる
cp test1.tex test2.tex test3.tex TeX1 cp t*.tex TeX1注意:cp の場合、元ファイルは残っている
ls で確認できる
ファイルの移動・ファイル名の変更1
◎mv [options] sourcefile(移動元) destinationfile (移動先)mv [options] sourcefile(dir)(移動元) destinationdir (移動先)
Options: -i 変更後のファイルがすでに存在する場合、強制的に変更するか
どうか確認した上で変更する
◎確認のある変更: (1) cp test1.tex test10.tex(2) mv -i test1.tex test10.tex
変更してもよろしいでしょうか[yes/no]?のメッセージに対してyes or y を入力すると、変更を行うno or n を入力すると、変更を中止
◎確認なしで変更: (1) cp test10.tex test1.tex(2) mv test1.tex test10.tex
ファイルの移動・ファイル名の変更2◎mv [options] sourcefile(移動元) destinationfile (移動先)
mv [options] sourcefile(dir)(移動元) destinationdir (移動先)
◎移動元のファイル名として、「*」「?」を用いて省略指定でき、移動先のファイル名には省略指定はできない
(1) mkdir TeX2 (2) mv t*.tex TeX2 確認: (3) cd TeX2 (4) lsホームディレクトリに戻す: (5) cd注意:mv の場合、元ファイルは残っていない; ls で確認できる
◎移動先がディレクトリの場合、移動元には複数のファイル名を空白で区切って指定できるTeX1下のファイルをカレントディレクトリにコピー:cp TeX1/* .mv test1.tex test3.tex test10.tex TeX2 mv te*.tex TeX2
◎移動元がディレクトリの場合、移動先は必ずディレクトリ
ディレクトリの作成と削除(再)
◎ディレクトリの作成: mkdir [options] dirsOptions -m:作成するディレクトリの保護モードを指定
◎ディレクトリの削除: rmdir [options] dirs注:削除するディレクトリの中にファイルやディレクトリが存在して
はいけない。予めこれを全て削除してからrmdirを実行
●ディレクトリとその下のファイルを一括で削除する方法: rm -r ディレクトリ名
ファイルの保護モード
◎UNIXではファイルに保護モードを設定できる
◎保護モードは、あるファイルに対して「誰が」「何を」できるかの許可です
◎「誰が」:ファイル所有者(user)、同じグループに属する
利用者(group)、その他の利用者(other)
◎「何を」:読出(read)、書込(write)、実行(execute)(P.192の表10.2参照)
ファイルの保護モード
◎ls -l で保護モードを確認できる(P.205下の図ls )drwxrwxr-x-rw-r--r--
ファイルの種類(d:ディレクトリ; -:普通のファイル)
所有者(u) (read)(write)(execute)
同じグループのメンバ(g) (read)(write)(execute)
そのほかの利用者(o) (read)(write)(execute)
注: 「r,w,x」で書いた部分は「許可」の部分
「-, -, -」で書いた部分は「禁止」の部分
ファイルやディレクトリの保護モードの変更1◎ chmod [option] modes [files(dirs)]options
-R: 指定したディレクトリの下の全てのファイルを対象とするModes(保護対象) u: ファイルの所有者(作成者)(user, owner)
g: 所有者所属するグループの構成員(group)o: その他の利用者(others)a: 全員(all)
許可・禁止 +: 許可を設定 -: 禁止を設定
保護モード r: 読み取り・コピー(read)w: 書き込み・修正・削除(write)x: 実行(execute)
例: (1-1)確認: ls -l test1.tex 保護モード: -rw-r--r--(2-1)モード変更: chmod go-r test1.tex
(所有者以外の人から読み込みを禁止する設定)(3-1)確認: ls -l test1.tex 保護モード: -rw-------
ファイルやディレクトリの保護モードの変更2◎ chmod [option] modes [files(dirs)]options
-R: 指定したディレクトリの下の全てのファイルを対象とするModes(保護対象) u: ファイルの所有者(作成者)(user, owner)
g: 所有者所属するグループの構成員(group)o: その他の利用者(others)a: 全員(all)
許可・禁止 +: 許可を設定 -: 禁止を設定
保護モード r: 読み取り・コピー(read)w: 書き込み・修正・削除(write)x: 実行(execute)
例: (1-2)確認: ls -l test1.tex 保護モード: -rw-------(2-2)モード変更: chmod go+r test1.tex
(所有者以外の人から読み込みを許可する設定)(3-2)確認: ls -l test1.tex 保護モード: -rw-r--r--
プリンタ操作◎プリンタ出力要求: lpr [options] [files]
Options -Pprm: プリンタ名prmのプリンタに出力-#num: 複写部数をnumにする
例: lpr test10.ps◎印刷状況の表示: lpq [options] [jobNo] [usernames]
Options -l : 詳細な情報を表示-Pprm: プリンタ名prmの情報を表示
例: lpq◎印刷の中止: lprm [options] [jobNo]
Options -Pprm: プリンタ名prmに対するプリント要求を全て中止- : 全てのプリント要求を中止
例: lprm jobNo (自分のプリンタ出力要求しか中止できない)
色んなプリンタ操作のオプションの利用方法:man lpr or man lpq or man lprmをそれぞれ入力
ファイルから指定した文字列を含む行を探索・表示
◎ファイルから指定した文字列を含む行を探索・表示:
grep [options] expression filesOptions -n: 各行の先頭にファイル内の行番号を入れる
-i: 大文字と小文字区別せず扱う
-f: 一致した文字列を含むファイル名だけを表示
expression: P.207の表10.11に参照
例1: grep a test*.tex例2: grep -n a test*.tex
◎まとめ(P.218-P.220の表10.12に参照)
シェルの操作
よく使うコマンド行の編集:
◎入力コマンドの再利用:(P.197の表10.5)↑,↓矢印で既に実行したコマンドを選択・実行
!!: 直前と同じコマンドを再実行;
!英文字: 英文字先頭文字列にもつ 新コマンドの再実行
◎ファイル名とコマンド名の補完:(P.198の表10.6)先頭の一部だけ入力して、特定のキー(Tab)を押すと、残りの部分を自動的に補完してくれる
(例:pla + Tab==>platex)
プロセスとジョブ◎プロセスは、実行中のプログラム
(UNIXでは、一般に複数のプログラムを同時に動作)
◎一つ(or 複数)のコマンドを入力して、ひとまとまりの
仕事をさせる時、その仕事の単位をジョブと呼ぶ
1) フォアグラウンドジョブ(通常のジョブ)
2) バックグラウンドジョブ(並行して実行できる)
(p.184 図10.4参照)
◎フォアグラウンドジョブとして実行させているプログラムは、Ctrl-Cを押すと、実行を中止できる
◎プロセスがプロセス番号によって識別 (psで確認)
プロセス制御
◎プロセス情報の表示: ps [options]Options u: 利用者名、CPUやメモリの使用状況、起動時間など
l: さらに詳細な情報を表示
x: バックグランドで実行中のプロセスも表示
a: 全プロセスを表示
例: ps例: ps ux => P.210の真中に参照
◎プロセスの終了: kill [options] pidsOptions -KILL: 強制終了
例: (0) emacs test2.tex &; xdvi test2.dvi &; それぞれ起動
(1) ps (2) kill No. => P.211の右上の図killに参照
(2’) lprm No. (自分のプリンタ出力要求しか中止できない)
ジョブ制御
◎バックグランドジョブの起動: command &例:同じ端末上(1-1) emacs test.tex & (2-1) xdvi test.dvi &
で二つのプロセスが起動可能
しかし (1-2) emacs test1.tex (2-2) xdvi test1.dvi なら第2のプロセスが起動不可能
◎フォアグランドジョブの強制終了: Ctrl-C◎フォアグランドジョブの一時停止: Ctrl-Z
◎バックグランドとしての処理再開: bg [job]◎バックグランドジョブの強制終了: kill [job]例: (1) emacs → (2) Ctrl-Z → (3) bg
標準入出力・リダイレクション
◎UNIXでは、プログラムにおけるデータの入出力に関
して、特定の機器に依存しない一般的な記述を可能にするために、標準入出力という概念を導入している
◎ディフォルトでは: (実行時に簡単に切り替える)
1) 標準入力:キーボード
2) 標準出力:ディスプレイ
3) 標準エラー出力:ディスプレイ
◎リダイレクションは、標準入出力を実行時に切り替える操作です
標準入出力のリダイレクション
◎標準出力のリダイレクション(>, >>)標準出力をファイルへ切り替え、ファイルに保存 : command > file例1-1: 以前の練習例: cat test1.tex test3.tex > testall.tex例1-2: 前回の練習例: dvips -f test10.dvi > test10.ps例2: lsでディスプレ上に確認できるが、その結果をファイルに保存したい場合
ls > tmp.ret標準出力をファイルへ切り替え、ファイルの 後に追加:
command >> file例1-3:以前の練習例: cat test1.tex >> testall.tex
◎標準入力のリダイレクション(<)標準入力をキーボードからファイルに切り替え:
command < file
標準入出力のリダイレクション(続)
標準入力と標準出力の同時切り替え( < > )両方ともに別々のファイルへ切り替え:
command < datafile > outfile
連結された標準出力のリダイレクション「( ; ) > 」複数のコマンドを組み合わせて順次実行させ、その標準出力を連結してファイルへ切り替え:
( command1 ; commond2 ; …… ) > file
パイプ処理
◎パイプは、Aプログラムの標準出力をBプログラムの標準入力に連結する機能のこと
(P.192の図10.2参照)
パイプ記号「|」は、コマンドの標準出力を次のコマンドの標準入力に結合する
command1 | command2 | command3 …例えば:LaTeXの文章を印刷 dvips test.dvi | lpr
ディスク使用量の表示
◎ du [options] [dirs(files)]Options
–s: 引数で指定したファイルやディレクトリごとに、その総計だけを表示
◎容量はキロバイト単位で表示
例: du -s public_html◎ディレクトリ指定なしで実行した場合、カレントディレクトリが指定される
例: du