情報処理Ⅱ 2004年2月3日(火) この科目で学んでほしかったこと 標準的なC言語の文法 プログラミングの心がけ プログラムを読む方法 机上デバッグ,机上トレース,推敲を含む. 機能(関数)をもとにして,新たな機能(関数)を 構成すること 次のセメスターで学んでほしいこと アルゴリズム演習 アルゴリズムとプログラミング技法 より実践的なプログラミング技法 情報科学では「知っていて当たり前」のデータ構造 やアルゴリズム 情報処理Ⅲ Java(オブジェクト指向)によるプログラミング 今回のテーマ: 作業労力を減らす工夫 毎回毎回同じことをタイプするのは面倒. 定型処理(ルーチンワーク)は計算機に任せたい. でも,ときには細かい指示をしたい. 今回のルール タイプする文字などは,このフォント 実行例は,このフォント シェルの便利な機能 ヒストリ(履歴) リダイレクション エイリアス(別名) マルチプロセスの制御 ショートカットキー ヒストリ 過去の実行コマンドを記憶している. 上下の矢印で,コマンドが出てくる. !!で直前に実行したコマンド, !100で100番目に実行したコマンドが実行できる. 他にも便利な機能があり,奥が深い. リダイレクション <: 標準入力をキーボードからではなくファイルか ら与える. >: 標準出力を画面表示ではなくファイルに保存す る. >>: >と同じ.ただし,すでにファイルがあれば, 末尾に追加(append)する. 2>: 標準エラー出力をファイルに保存する. 2>&1: 標準エラー出力を標準出力に送る. 各語の中で空白を置いてはいけない. <,>,>>については,その前後に空白があってもなく てもよい. エイリアス C言語の#defineに似た機能.(マクロ) csh系: alias c 'cc -o binfile srcfile' sh系: alias c='cc -o binfile srcfile' その後,cでコンパイルできる. シェルを終了すれば効果がなくなる. シェル起動時にこのエイリアスを設定しておきたけ れば,~/.cshrc, ~/.bashrc に書いておく. 便利なエイリアス(sh系): alias ..='cd ..' alias ls='ls -aFl --color' マルチプロセスの制御 連続した実行 パイプ 実行結果をコマンドラインに置き換える 例: mkdir `date +%Y%m%d` 条件付実行 前の標準出力と次の標準入力を連結 例: echo 'scale=5;sin(1)' | bc バッククオート展開 例: sleep 3 ; import window.png 例: make program && ./program バックグラウンドで実行 例: emacs & ショートカットキー 少ないストローク(キータイプ)で様々な機能 例: Ctrl-aでコマンドラインの先頭へ移動,Ctrl-eで末 尾へ 例: Ctrl-kで末尾までカット,Ctrl-uで先頭までカット, Ctrl-yでペースト 例: Esc _で,直前のコマンドの最後の引数が出る. http://www.wakayama-u.ac.jp/~takehiko/ins2002/ weekly-old.html make ファイルの依存関係を考慮したコマンド実行管理. 例: ファイルAはファイルBとファイルCから構成され る ⇒ ファイルB,ファイルCの少なくとも一方が更新 されていたら,ファイルAを生成するためのコマンド を実行する. 依存関係はMakefileに書き,更新しているかは,各 ファイルが持つタイムスタンプ(いつ更新されたかに 関する情報)を参照して知る. 省略時規則も便利 http://www.unixuser.org/~euske/doc/makefile/ その他: 田中が好んで使うコマンド echo, ls, find, locate : ファイルを探す pushd, popd, cd - : ディレクトリの移動 which, type : コマンドの所在を知る grep, sed : テキストファイルの抽出,閲覧 bc, irb : ちょっとした計算 ssh, sftp, ncftp, (WinSCP3) : リモートログイン, ファイル転送 tar, zip, unzip, gzip, gunzip, lha : ファイルの圧縮と 伸長(展開) screen : コンソール管理 emacs -nw, emacsclient, (gnuclient) : Emacs
© Copyright 2024 ExpyDoc