22
今日の学習内容 ◎良く使うLinuxコマンド(続)

今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

今日の学習内容

◎良く使うLinuxコマンド(続)

Page 2: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

色々な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)

Page 3: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルのコピー(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 を入力すると、コピーを中止

Page 4: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルのコピー(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 で確認できる

Page 5: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルの移動・ファイル名の変更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

Page 6: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルの移動・ファイル名の変更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

◎移動元がディレクトリの場合、移動先は必ずディレクトリ

Page 7: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ディレクトリの作成と削除(再)

◎ディレクトリの作成: mkdir [options] dirsOptions -m:作成するディレクトリの保護モードを指定

◎ディレクトリの削除: rmdir [options] dirs注:削除するディレクトリの中にファイルやディレクトリが存在して

はいけない。予めこれを全て削除してからrmdirを実行

●ディレクトリとその下のファイルを一括で削除する方法: rm -r ディレクトリ名

Page 8: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルの保護モード

◎UNIXではファイルに保護モードを設定できる

◎保護モードは、あるファイルに対して「誰が」「何を」できるかの許可です

◎「誰が」:ファイル所有者(user)、同じグループに属する

利用者(group)、その他の利用者(other)

◎「何を」:読出(read)、書込(write)、実行(execute)(P.192の表10.2参照)

Page 9: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルの保護モード

◎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」で書いた部分は「許可」の部分

「-, -, -」で書いた部分は「禁止」の部分

Page 10: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルやディレクトリの保護モードの変更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-------

Page 11: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルやディレクトリの保護モードの変更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--

Page 12: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

プリンタ操作◎プリンタ出力要求: 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をそれぞれ入力

Page 13: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ファイルから指定した文字列を含む行を探索・表示

◎ファイルから指定した文字列を含む行を探索・表示:

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に参照)

Page 14: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

シェルの操作

よく使うコマンド行の編集:

◎入力コマンドの再利用:(P.197の表10.5)↑,↓矢印で既に実行したコマンドを選択・実行

!!: 直前と同じコマンドを再実行;

!英文字: 英文字先頭文字列にもつ 新コマンドの再実行

◎ファイル名とコマンド名の補完:(P.198の表10.6)先頭の一部だけ入力して、特定のキー(Tab)を押すと、残りの部分を自動的に補完してくれる

(例:pla + Tab==>platex)

Page 15: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

プロセスとジョブ◎プロセスは、実行中のプログラム

(UNIXでは、一般に複数のプログラムを同時に動作)

◎一つ(or 複数)のコマンドを入力して、ひとまとまりの

仕事をさせる時、その仕事の単位をジョブと呼ぶ

1) フォアグラウンドジョブ(通常のジョブ)

2) バックグラウンドジョブ(並行して実行できる)

(p.184 図10.4参照)

◎フォアグラウンドジョブとして実行させているプログラムは、Ctrl-Cを押すと、実行を中止できる

◎プロセスがプロセス番号によって識別 (psで確認)

Page 16: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

プロセス制御

◎プロセス情報の表示: 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. (自分のプリンタ出力要求しか中止できない)

Page 17: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ジョブ制御

◎バックグランドジョブの起動: 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

Page 18: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

標準入出力・リダイレクション

◎UNIXでは、プログラムにおけるデータの入出力に関

して、特定の機器に依存しない一般的な記述を可能にするために、標準入出力という概念を導入している

◎ディフォルトでは: (実行時に簡単に切り替える)

1) 標準入力:キーボード

2) 標準出力:ディスプレイ

3) 標準エラー出力:ディスプレイ

◎リダイレクションは、標準入出力を実行時に切り替える操作です

Page 19: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

標準入出力のリダイレクション

◎標準出力のリダイレクション(>, >>)標準出力をファイルへ切り替え、ファイルに保存 : 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

Page 20: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

標準入出力のリダイレクション(続)

標準入力と標準出力の同時切り替え( < > )両方ともに別々のファイルへ切り替え:

command < datafile > outfile

連結された標準出力のリダイレクション「( ; ) > 」複数のコマンドを組み合わせて順次実行させ、その標準出力を連結してファイルへ切り替え:

( command1 ; commond2 ; …… ) > file

Page 21: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

パイプ処理

◎パイプは、Aプログラムの標準出力をBプログラムの標準入力に連結する機能のこと

(P.192の図10.2参照)

パイプ記号「|」は、コマンドの標準出力を次のコマンドの標準入力に結合する

command1 | command2 | command3 …例えば:LaTeXの文章を印刷 dvips test.dvi | lpr

Page 22: 今日の学習内容 - Wakayama Universitywuhy/InfPro_I14.pdf · 2014. 7. 4. · ファイルのコピー(2) cp [options] sourcefile(コピー元)destinationfile (コピー先)

ディスク使用量の表示

◎ du [options] [dirs(files)]Options

–s: 引数で指定したファイルやディレクトリごとに、その総計だけを表示

◎容量はキロバイト単位で表示

例: du -s public_html◎ディレクトリ指定なしで実行した場合、カレントディレクトリが指定される

例: du