ネットワークシステム管理
#06
たかさきこうや先週のおさらい
•UNIX(Linux)というOSを触ってみよう •login.cuc.ac.jpに、teratermというターミナルソフトを使って ログインしコマンドをたたくことが出来る •cdで移動 •pwdで位置を確認 •lsでファイルとディレクトリ(フォルダ)のリストを確認 •moreでファイルの中身を確認 •exitでログアウト •他もろもろコマンド:grep
•入力結果の中から一部の文字列を抜き出しファイルやディレクトリは
•どうやって作るの? •まずはディレクトリの作り方からやってみよう ▫ ディレクトリ=UNIXでいうところの「フォルダ」コマンド:mkdir(make directory)
•ディレクトリ(フォルダ)を作成 •% mkdir NSA ←(ホームディレクトリに)ディレクトリ作成 •% cd NSA ←作成したディレクトリに移動 •% ls ←なにもファイルがない •% mkdir 2017 • % mkdir 199X ←2017と同じ位置に作る ↑自分の生年のディレクトリを作ろう!ついでに
•% cd 2017 •% mkdir 10 •% cd 10 •として、「今の月」のディレクトリを作り その中に入ってみよう • % pwd ▫ の結果、 ▫ (中略)NSA/2017/10 となっていなかったら何かが間違った模様ちょっと寄り道
•コマンド:date ▫ 今日の日付時刻を出力するコマンド ▫ % date –u ▫ で出てくるものはなーんだ? •コマンド:cal ▫ カレンダーを表示するコマンド % cal 1 1980 で出てくるものはなーんだ? 1752年9月のカレンダーを出してみようこの場所で
•% date > 27.txt •と、やってみよう •何が起きるか? •% more 27.txt ▫ とやって、27.txtというファイルの中身を見てみよう特殊記号 「
> 」
•「> 」 の記号は 「出力結果をファイルに新規に流し込む」 という意味 •「リダイレクト」と言うコマンド:echo
•指定した通りの文字を出力 •% echo “Hello” ▫ と、試しにやってみると? •では •% echo “Hello” > 27.txt •とすると何が起きる?上書きされた…
•「> 」だと、何時まで経っても上書き されてしまう •追記するには 「>> 」 と、2回「 > 」を書く •% date >> 27.txt ▫ としてみよう •更に、ためしに(間違ったファイルとして) •% cal >> 227.txt ▫ としてみよう(追記モードでも新規に作れる)コマンド:rm (remove)
•ファイルの削除をする •% ls 27.txt 227.txt % rm 227.txt % ls 27.txt •削除したファイルは、絶対戻らない
! ▫ UNIXには「ゴミ箱」はない!rmコマンドのオプション
•rm –i 削除時に警告してくれる •消す時には-iオプションを常につける癖を つけると良いかも参考:間違えたら
•rm -rコマンドでディレクトリは消える •% mkdir 20017 •% ls 1997 20017 2017 •% rm -ir 20017 •% ls 1997 2017コマンド:cp (copy)
•ファイルやディレクトリをコピーする •% ls 27.txt % cp –i 27.txt 21.txt % ls 27.txt 21.txt ▫ % cp A B とすると、 Aのファイルの複製をBという名前で作れる ▫ -iオプションは「コピーする対象のファイルが既にあったら警告」 してくれる 27.txtというファイルを 21.txtという名前でコピー!コマンド:mv (move)
•ファイルを移動(もしくは名前を変更)する • % ls 20.txt 27.txt • % mv –i20.txt 21.txt % ls 21.txt 28.txt • -iオプションはcpやrmと同じで「上書きして(既存のファイ ルが消えて)しまう場合は警告する」では練習
•自分の生年月日のファイルを作ろう ▫ NSA/1997/04/13.txt といった感じ ↑と同じファイルを作る人がいるかもしれないけど 4月13日はあくまでも僕の誕生日だからね? あくまでも、みんなはみんなの誕生日日付でファイルを作るんだよ? •このファイルの中に •My Birthday! ▫ とだけ書こう!更に
•NSA/1997/04/13.txt というファイルみたいに •NSA/1998/04/13.txt •NSA/1999/04/13.txt •…と、今年の誕生日までのディレクトリと ファイルを作ってみよう •cp –r というオプションを使うと楽かも参考:ディレクトリごとコピー
•% cp –r A B ▫ -rオプション ⇒ ディレクトリごとコピー可能 ▫ ディレクトリAをディレクトリBという名前でコピー再度、お節介
•rmコマンド、cpコマンド、mvコマンドには どれも–i オプションが存在する •-iがついていると、コマンド実行時に 警告をしてくれる ▫ rmコマンドの際は「本当に消していいかどうか」 ▫ cp/mvの時は「上書きしてもいいかどうか」参考:別の場所へコピー
•% pwd /home/kohya/web_public/johokiso % cp -r ../kenkyukiso/final ../../my_doc/ 「/home/kohya」(kohyaのホームディレクトリ) 「my_doc」 「web_local」 「web_public」 「kenkyukiso」 「johokiso」 「final」 index. htmlreport.html 「final」 index. htmlreport .html 後ろにスラッシュがない 後ろにスラッシュがある参考:mvでも同じことが出来るよ
•finalというディレクトリの中のreport.htmlというファイルを、 my_docの下に動かしたい場合 「~kohya」(kohyaのホームディレクトリ) 「my_doc」 「web_local」 「web_public」 「kenkyukiso」 「johokiso」 「final」 index. htmlreport.h tml こっちに動かしたい参考:mvコマンドで
•% mv ~/web_public/kenkyukiso/final/report.html ~/my_doc/ •とするか、あるいは、 •% mv ../kenkyukiso/final/report.html ../../my_doc/ ▫ 自分の位置に 注意! 「my_doc」 「web_local」 「web_public」 「kenkyukiso」 「johokiso」 「final」 index. html report. html参考:ディレクトリごと移動も可能
•% pwd ~kohya/web_public/johokiso % mv ../kenkyukiso/final ../../my_doc/ 「my_doc」 「web_local」 「web_public」 「kenkyukiso」 「johokiso」 「final」 index.ht ml report.h tml 「final」 index .htmlreport.ht mlちょっと考える
•% cd •% cd NSA/2017/10 •% mkdir 09 •% mv –i 09 ../ •これは何をしているかな?答え
•2017/10 というディレクトリの下に間違って 作成してしまった09というディレクトリがあり (2017/10/09 になってしまっていた) これを2017 の下に動かした ▫ 2017 の下に、 09 と 10 が出来たコマンド:nkf
•~kohya/web_public/NSA/1996/04/13.txt というファイルがある ▫ これは、「僕が初めてCUCに仕事をしに来た日」のことを記した ファイル •でも多分moreじゃ読めない ▫ Lessでも読めない ▫ それはこのファイルの中身がEUC-JP形式で書かれた日本語だからで ある文字コード再び
•UNIXサーバ上ではEUC-JPは比較的よく使用される •しかしこのサーバにおいては、Unicodeでないとファイルが 読めない ▫ 他の文字コードでは文字化けする •そこで •% nkf –w ~kohya/web_public/NSA/1996/04/13.txt •nkfは文字コードを変換するコマンドパイプ 「
| 」
•% nkf –w ~kohya/web_public/NSA/1996/04/13.txt •と打つと、ファイルの中身が一気に流れてしまい読みにくい ▫ moreでスペースキーを押しながら読みたい ▫ そこで •% nkf –w ~kohya/web_public/NSA/1996/04/13.txt | more •とする •「|」の記号はBackSpaceのすぐ左側にあるキーをShiftを押しなが ら入力パイプの効能
•コマンドの出力結果を、別のコマンドに渡すことが出来る ▫ 「>」は、ファイルに書き出す だった •% nkf –w ~kohya/web_public/TSA/1996/04/13.txt | wc • とすると何が起きる?コマンド:
wc (word count)
•行数や単語数、文字数を数える •% wc 13.txt •とした結果と比べて、どう? •% nkf –s ~kohya/TSA/1996/04/13.txt | wc •とは? •そしてこの結果はどうして生じる? • % nkf –j ~kohya/TSA/1996/04/13.txt | wc •だったら?ていうかnkfの
•-s とか-jとか-wとかってなんだよ! •という場合… •% man nkf •としてみるコマンド:man (manual)
•コマンドのマニュアルを表示する ▫ -wは入力をUnicodeに ▫ -s はShift_JISに ▫ -j はISO-2022-JP(JIS)に ▫ -e はEUC-JPに •それぞれ変換するコマンドラインオプションだとわかる •% man man •% man ls などもやってみよう練習1
•僕のweb_public/TSA/1996/ の下に作った 「僕がCUCデビューした日のファイル」を どうにかして各自自分のディレクトリの 該当箇所にコピーした上で文字コードをUnicodeにしてみよう ▫「cp」コマンドはどういう仕事をする? ▫「~」はどういう意味だった? ▫「.」にはどういう意味がある? ▫ nkfコマンドをどう使う?練習2
•% cd •% cp –i ~kohya/.cshrc ~/ ▫ 「cd」とだけ打った場合、何が起きる? ▫ 一応、自分のホームディレクトリに 「.cshrc」というファイルがないことを確認練習3
•ファイルの作成のルールが分かったところで ▫ 9月23日に相当するファイルに、 nslookup www.cuc.ac.jp の出力結果 ▫ 9月30日に相当するファイルに、 ifconfig –aの出力結果 ▫ 10月07日のファイルに、uname –aの出力結果 ▫ 10月14日のファイルに、ps –efの出力結果 •を、それぞれ書き出してみよう本日のお題
•~kohya/NSA06/kohya.txt