先週のおさらい ネットワークシステム管理 #06 たかさきこうや UNIX(Linux) という OS を触ってみよう login.cuc.ac.jp に teraterm というターミナルソフトを使ってログインしコマンドをたたくことが出来る cd で移動 pwd で位置を確認 ls でファイルとディレクトリ ( フォルダ ) のリストを確認 more でファイルの中身を確認 exit でログアウト 他もろもろ ファイルやディレクトリは どうやって作るの? まずはディレクトリの作り方からやってみよう ディレクトリ=UNIXでいうところの フォルダ コマンド :mkdir(make directory) ディレクトリ ( フォルダ ) を作成 % mkdir NSA ( ホームディレクトリに ) ディレクトリ作成 % cd NSA 作成したディレクトリに移動 なにもファイルがない % mkdir 2018 % mkdir 199X 2018と同じ位置に作る 自分の生年のディレクトリを作ろう! ついでに % cd 2018 % mkdir 11 % cd 11 として 今の月 のディレクトリを作りその中に入ってみよう % pwd の結果 ( 中略 )NSA/2018/11 となっていなかったら何かが間違った模様 ちょっと寄り道 コマンド :date 今日の日付時刻を出力するコマンド % date u で出てくるものはなーんだ? コマンド :cal カレンダーを表示するコマンド % cal 1 1980 で出てくるものはなーんだ? 1752 年 9 月のカレンダーを出してみよう 1
この場所で % date > 02.txt と やってみよう 何が起きるか? % more 02.txt とやって 02.txt というファイルの中身を見てみよう 特殊記号 > > の記号は 出力結果をファイルに新規に流し込む という意味 リダイレクト と言う コマンド :echo 指定した通りの文字を出力 % echo Hello と 試しにやってみると? では % echo Hello > 02.txt とすると何が起きる? 上書きされた > だと 何時まで経っても上書きされてしまう 追記するには >> と 2 回 > を書く % date >> 02.txt としてみよう 更に ためしに ( 間違ったファイルとして ) % cal >> 002.txt としてみよう ( 追記モードでも新規に作れる ) コマンド :rm (remove) ファイルの削除をする 02.txt 002.txt % rm 002.txt % ls 02.txt rm コマンドのオプション rm i 削除時に警告してくれる 消す時には -i オプションを常につける癖をつけると良いかも 削除したファイルは 絶対戻らない! UNIX には ゴミ箱 はない! 2
参考 : 間違えたら rm -r コマンドでディレクトリは消える % mkdir 20018 1997 20018 2018 % rm -ir 20018 1997 2018 コマンド :cp (copy) ファイルやディレクトリをコピーする 02.txt % cp i 02.txt 08.txt % ls 02.txt 08.txt 02.txt というファイルを 08.txt という名前でコピー! % cp A B とすると A のファイルの複製を B という名前で作れる -i オプションは コピーする対象のファイルが既にあったら警告 してくれる コマンド :mv (move) ファイルを移動 ( もしくは名前を変更 ) する 02.txt 08.txt % mv i 08.txt 09.txt % ls 02.txt 09.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 A B -rオプション ディレクトリごとコピー可能 ディレクトリAをディレクトリBという名前でコピー cp r というオプションを使うと楽かも 3
再度 お節介 rm コマンド cp コマンド mv コマンドにはどれも i オプションが存在する -i がついていると コマンド実行時に警告をしてくれる rm コマンドの際は 本当に消していいかどうか cp/mv の時は 上書きしてもいいかどうか 参考 : 別の場所へコピー % pwd 後ろにスラッシュがない /home/kohya/web_public/johokiso % cp -r../kenkyukiso/final../../my_doc/ report. 後ろにスラッシュがある report. johokiso kenkyukiso web_public web_local my_doc /home/kohya (kohya のホームディレクトリ ) 参考 :mv でも同じことが出来るよ finalというディレクトリの中のreport.というファイルを my_docの下に動かしたい場合 こっちに動かしたい report.h tml 参考 :mv コマンドで % mv ~/web_public/kenkyukiso/final/report. ~/my_doc/ とするか あるいは % mv../kenkyukiso/final/report.../../my_doc/ 自分の位置に注意! johokiso kenkyukiso web_public web_local ~kohya (kohyaのホームディレクトリ) my_doc report. johokiso kenkyukiso web_public web_local my_doc ~kohya (kohyaのホームディレクトリ) 参考 : ディレクトリごと移動も可能 % pwd ~kohya/web_public/johokiso % mv../kenkyukiso/final../../my_doc/ johokiso ht ml report.h tml kenkyukiso index repor. t.ht ml ちょっと考える % cd % cd NSA/2018/11 % mkdir 10 % mv i 10../ これは何をしているかな? web_public web_local my_doc ~kohya (kohya のホームディレクトリ ) 4
答え 2018/11 というディレクトリの下に間違って作成してしまった 10 というディレクトリがあり (2018/11/10 になってしまっていた ) これを 2018 の下に動かした 2018 の下に 10 と 11 が出来た コマンド :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 だったら? 5
ていうか 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/nsa/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 の中身を読んでその指示に従ってください 6