UNIX系コンピュータの使い方 CUIへのいざない 2006年6月20日  玉川.

Slides:



Advertisements
Similar presentations
1 ログイン ユーザ名: root パスワード: hosei (初期設定). 2 はじめに 対象 学部 1 年生 日時 毎週木曜 6 限 18 : 30 ~ 19:30 ( 初回のみ ~ 20 : 00) 開催場所 W211 各自持参するもの ノート PC LAN ケーブル.
Advertisements

情報処理基礎演習Ⅱ 地球環境学科 伊藤,小黒 TA 川野,馬場. 講義の内容 UNIX 系の OS の使い方( Linux の使い方) (始めのうちは慣れないため扱いづらいか も・・・) 起動・終了 ディレクトリ(フォルダ)の構造 基本的なコマンドの使い方 エディタ( vi ) ファイルの操作,管理.
Windows 環境から SAS を使う 長野 祐一郎 1. データのダウンロード 2. データの加工 3. プログラムの作成 4.TeraTerm によるプログラムの実行 5. 処理結果の確認 6.SAS のデータ処理を概観 今回の授業では、 Windows 環境で作成されたデータを.
Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル.
ICT Foundation 1 Copyright © 2010 、 IT Gatekeeper Project – Ohiwa Lab. All rights reserved. ファイルとディレクトリ の操作.
P HI T S スクリプト言語を用いた PHITS の連続 実行 Multi-Purpose Particle and Heavy Ion Transport code System title 年 2 月改訂.
Copyright © the University of Tokyo 文字化けの背景を知る. Copyright © the University of Tokyo 課題の概要 日本語の文字コードについて理解を深める  MacOS( テキストエディット ) で利用可能なエ ンコーディング ( コード化方式.
Copyright © the University of Tokyo 文字化けの背景を知る. Copyright © the University of Tokyo 課題の概要 日本語の文字コードについて理解を深める  MacOS( テキストエディット ) で利用可能なエ ンコーディング ( コード化方式.
実習1:コマンドシェルの使い方.
情報処理概論Ⅰ 2007 第3回 2007/5/2 情報処理概論Ⅰ 第3回.
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 /
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
Unix生活 Vol.1
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
物理学情報処理演習 2. UNIX 補足自習用テキスト.
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
UNIXマシン間のファイル転送 2002年10月20日 海谷 治彦.
Linux リテラシ 2006 第2回 基本コマンド2.
基礎ゼミナールⅠ報告書 番号000000  内田一徳 2009年度前期.
JavaによるCAI学習ソフトウェアの開発
シミュレーション物理3 プログラミングの基本 その2
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
Netscape Communicator Eudora Microsoft Word
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
ファイルシステムとコマンド.
xxxxxx . yyy xxxxxx Linuxにおける情報管理 一般的なファイル UNIX における情報管理の単位 ファイルの種類を表す
文字化けの背景を知る.
ファイルとディレクトリ.
実習1:コマンドシェルの使い方.
初年次セミナー 第2回 文字の出力.
Cygwin の install.
UNIXについて 松野秀平.
スクリプト言語を用いたPHITSの連続実行
インターネット技術特論 B:コマンドライン, shell 山口 実靖
鯖管のすヽめ.
EGS5のWindows PC へのインストール
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
KEK 波戸 、平山 最終変更 テキスト:installation_guide.pdf
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
EGS5のWindows PC へのインストール
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
第4回 コンピューティングの要素と構成 平成22年5月10日(月)
デジタル画像とC言語.
UNIX演習 情報ネットワーク特論.
環境システム科学演習(後半) FORTRAN & C(以降FORTRANと省略して呼びます)は富士通
コーパス言語学 ~バッチ処理~ 2013.10. 28.
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
UNIX演習 情報ネットワーク特論資料.
統計ソフトウエアRの基礎.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
表計算 Excel 演習 1.Excel を使ってみる.
システムプログラミング 第6回 システムコールのエラーメッセージ ファイルシステム 情報工学科 篠埜 功.
プログラミング入門 電卓を作ろう・パートI!!.
第4回 プログラム作成,情報検索 伊藤 高廣 計算機リテラシーM 第4回 プログラム作成,情報検索 伊藤 高廣
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
Presentation transcript:

UNIX系コンピュータの使い方 CUIへのいざない 2006年6月20日  玉川

UNIX: 1969 ATT Bell Laboratories 1973 C言語化 (C の開発) (Ken Thompson, Dennis Ritchie) カリフォルニア大学バークレイ校のグループが、 DARPA (国防総省の一部)の予算で拡張 (80年ころから) 80年代に、日本語化、 Xウィンドウシステム、 TCP/IP。。。。

FreeのUNIX系OS BSD系 (FreeBSD NetBSD ...) バークレイ版UNIXから派生 Linux   1991 ヘルシンキ大学の学生   Linus Torvalds が作成 これらを支えるのが多数のフリーソフト ”GNUプロジェクト”

Linux でも FreeBSD でもユーザから見ると 大して違わない現代のUNIXシステム。 MS Windows XP などど同レベルのOS.。 ただし堅牢、本格的マルチユーザ環境」。 Linux(のようなもの)を Windows の 1アプリケーションにしたものが、Cygwin ということで、どれでも大体同じ。 ここでは Windows ユーザを考えて Cygwin を紹介する。

Cygwin ”http://cygwin.com”  からダウンロードできる。 setup.exe を実行して、 Install を選択 途中で、package のリストがでるので、 default ではなく、すべてを Install しておく。 かなり多量のファイル転送を伴うので注意。

UNIX系OSでは、GUIもあるが、それでは わざわざ使う意味が薄い。 CUI (Character User Interface) を 使ってこそうれしいことがある。 コマンド入力で作業しましょう!

ディレクトリ (= フォルダ) 階層構造をしていて、すべてのファイルは あるディレクトリに属している。またユーザの 行う作業も今作業しているディレクトリと いうものがある。 階層の区切りは / 一番上は /  のみのディレクトリ たとえば、Cygwin を起動して最初にいるのは /home/Administrator (ユーザ Administratorの場合) .  は今いる場所  .. は一つ上の階層を示す。 Windows のcドライブは、 /cygdrive/c に見える ようになっている。

ディレクトリ・ファイル関連のコマンド cd  移動 ls 一覧 rm (ファイルの)消去 mv ファイルの移動、名前の変更 cp コピー mkdir ディレクトリの作成 rmdir ディレクトリの削除

cd change directory cd aaa 今いるディレクトリにある aaa と いうディレクトリに移動       いうディレクトリに移動 cd ../bbb 一つ上の階層のディレクトリにある       bbb へ移動 cd /usr/bin /usr/bin へ移動 cd 自分のホームディレクトリへ移動       ( /home/Administrator など )

ls list ls 今いるディレクトリ内にあるファイル一覧 ls ファイル名 あるいは ディレクトリ名    指定したファイルやディレクトリに対して    実行 ls -a    . で始まる隠しファイルも表示 ls -l サイズや所有者などの情報も表示

cp mv copy move cp A B ファイルAをBにコピー Bが既存のディレクトリ名の時、 そのディレクトリにコピー cp mv  cp A B ファイルAをBにコピー        Bが既存のディレクトリ名の時、        そのディレクトリにコピー cp aaa bbb ccc dir dir は既存のディレクトリ名       aaa bbb ccc を dir  へコピー cp -r A B ディレクトリAをその中身ごとBへ       コピー mv aaa bbb  aaa の名前を bbb  に    変更

rm remove rm ファイル名 ファイルの消去 rm -r ディレクトリ名 ディレクトリ(中身ごと)の消去          ディレクトリ(中身ごと)の消去 mkdir rmdir  はそのまま mkdir ディレクトリ名  ディレクトリを作る mkdir -p A/B/C (なければ) A を作ってその下に      B をつくり、さらにその下にCを作る。

シェル キーボードから入力した文字列を解釈して ソフトを起動したりするなどの処理をする。 いつも動いていて入力を待っている。 テキストファイルを入力することもできる。 正規表現 A* Aで始まるこのディレクトリにあるファイル [ab]..C*txt a または b で始まり、2文字後がCで、その後  任意の文字があってtxtで終わるファイル

じゃあ、そろそろ動かしてみましょう。 Cygwin のアイコンをクリックして、 開いたターミナルに startx と打って 始めてみます。 コマンドやファイル名は、途中まで 入力して、TABを押すと残りを補完して くれたり、矢印で以前のコマンドを表示したり、 いろいろ助けてくれます。

データファイルを C:\sygwin\home\Administrator に 移動。 あとは Cygwin 上で作業 mkdir WORK まず firefox (IEでもできる)  http://sateco-archive.green.gifu-u.ac.jp/C50 から、気象観測データをダウンロード データファイルを C:\sygwin\home\Administrator に 移動。 あとは Cygwin 上で作業 mkdir WORK cd WORK mv ../c50_meteo_0510_30min_L1.csv ./ sed 's/:/, /' < c50_meteo_0510_30min_L1.csv\ | awk -F, '{print $2+ $3/24+$4/(60*24), $7}'\ | tail +2 |xgraph -bb -tk -t '7th column' -x 'day of year' sed から始まる3行は、行末の\を外して1行に 書いた。(こういう風に分けてもOKだけど)

ちゃんと1つ1つ解説 sed 's/AAA/BBB/' < ファイル名 ファイルから1行ずつ読んでその中のAAAという 文字列をBBBに置換。 < は、標準入力を指定したファイルにする記号 | は、前のコマンドの結果(標準出力)を    次のコマンドの標準入力へ渡す

| awk -F, '{print $2+ $3/24+$4/(60*24), $7}' |  $2 2 カラム目の数字(文字)  $2+$3/24+$4/(60*24) 日と時間と分を足してるだけ print 出力する記号 awk は {} 内の動作を読み込んだデータ1行毎に 実行する。 今回の例では|で、次の xgraph に 渡しているけれど > でファイルにも書き出せる。

man tail +2 2行目以降を出力 xgraph クイックルックに便利だけれど省略 各コマンドのマニュアルは (デモで使っている? Cygwin は日本語化して  ないので、英語だけれど、通常の Linux 等  では、日本語で見れる) コマンド名以外に、設定ファイル、Cの関数など いろいろ見れる。

シェル コマンドはキーボードから入力するだけでなく ファイルに書いておいても良い。 (シェルスクリプトと呼ぶ) たとえば scr.tcsh というファイルに (tcsh の文法で)スクリプトを書いたら、 tcsh scr.tcsh と実行する。 シェルには文法があり、ただのコマンドの羅列 以上の処理が可能

第2カラム(通算日)が300のデータの平均値を 求める。 sed 's/:/, /' < c50_meteo_0510_30min_L1.csv \ | tail +2\ | awk -F, '{if($2==300) {sum=sum+$8; count++}}\ END{print sum/count}' if内の条件式で、 == が等しいの意味、 < > <= >= はそのまま {}をデータの各行に対して実行、命令は;で区切って 並べることができる。 最後に END{ } を実行する。 (実は、BEGIN { } もある)

awk -F, '{if($2==300) {sum=sum+$8; count++}}\ END{print sum/count}' これは、たとえば scr.awk という名前で {if($2==300) { sum=sum+$8; count++;  } } END{ print sum/count; というファイルを作っておき awk -F, -f scr.awk としても同じである。

日毎に分けて、平均PARを出すサンプル PAR1-6 itemlist_c50.pdf には 52-57カラムと 書かれている。前に、5つ項目が入るので awk では、57-62 カラムになるはず。同様にタワー 頂上は 52 日毎に分けると言った繰り返し処理には、 tcsh の機能である foreach 構文が便利。 (bash など他のシェルにも同様の機能がある) awk  で if を使って、特定の日だけを取り出す 処理を上の foreach と組み合わせて利用する。

シェルスクリプト set DATA = c50_meteo_0510_30min_L1.csv sed 's/:/,/' < ${DATA} | tail +2 > ${DATA}-tmp cat << EOF > eachday.awk { if(\$2==DAY) print \$0; } EOF foreach t (274 275 276 277 278 279) sed s/DAY/${t}/ < eachday.awk > tmp.awk awk -F, -f tmp.awk < ${DATA}-tmp > ${t}.csv end echo -n $t " " >> Meandata awk -F, -f awk2.scr < ${t}.csv >> Meandata

awk で 1ファイルの PAR関連 項目の 平均を求める 処理 awk2.scr BEGIN { for(i=1; i<=62; i++){ sum[i] = 0.0; count[i] = 0; } { for(i=1; i<=62; i++) { if( $i > -9999 ) { sum[i] += $i; count[i]++; END { sum[52] /= count[52]; sum[53] /= count[53]; for(i=57; i<=62; i++) { sum[i] /= count[i]; print sum[52], sum[53], sum[57], sum[58], sum[59],\ sum[60], sum[61], sum[62]; awk で 1ファイルの PAR関連 項目の 平均を求める 処理  awk2.scr

このファイル名を PARAns.gnuplot として gnuplot PARABS.gnuplot とすると、 set terminal post color "Helvetica" 18 set output "PARAbs.ps" set title "PAR absorption at C50" set xlabel "day of the year" plot "Meandata" using 1:($4/$2) title "No.1" wi linespoints,\ "Meandata" using 1:($5/$2) title "No.2" wi linespoints,\ "Meandata" using 1:($6/$2) title "No.3" wi linespoints,\ "Meandata" using 1:($7/$2) title "No.4" wi linespoints,\ "Meandata" using 1:($8/$2) title "No.5" wi linespoints,\ "Meandata" using 1:($9/$2) title "No.6" wi linespoints,\ "Meandata" using 1:($3/$2) title "Ref" wi linespoints,\ "Meandata" using 1:(($4+$5+$6+$7+$8+$9)/(6*$2)) title "Mean Abs." wi gnuplot のスクリプト このファイル名を PARAns.gnuplot  として gnuplot PARABS.gnuplot とすると、 PARAbs.ps というps画像ファイルにグラフが でる。

普通は、この辺か、もう少し簡単なあたりで awk やシェルから、C言語あるいは Fortran に 移る。 それでも、グラフ作成は、gnuplot や GMT 多数のファイルの操作などは、tcsh を使うことが 多い。 Cygwin には、C90 + 拡張の cc (gcc)と Fortran77 + 拡張の  f77  (g77) が入っている