Comments
Description
Transcript
1 計算機プログラミング 第 1 回:本日の目標 ・ 講義の目的を理解する
計算機プログラミング 第 1 回:本日の目標 ・ 講義の目的を理解する(→シラバス) ・ C 言語プログラミングのための基本操作を理解する Ø Ø UNIX 入門 →1,2 ² UNIX 基本コマンドの理解 →3 ² Emacs(エディタ)の使い方の理解 →4,5,6 編集→コンパイル→実行 ・ メールの設定 1 UNIX について ・ UNIX とは Ø マルチタスク、マルチユーザー機能を有するオペレーティングシステム(OS)の 一種、またはこれから派生した一連の OS の総称 ・ UNIX の特徴 Ø C 言語で書かれている Ø ファイルやコマンドはディレクトリのツリー構造で格納されている Ø いくつかのシェルが用意されていて、ユーザー環境のカスタマイズが可能 Ø スーパーコンピュータなどのマルチユーザー計算機の OS として使われている ² ユーザーが管理できるファイルとスーパーユーザーが管理できるファイルが 異なる Ø 現在、Linux(フリーの UNIX クローン)が普及している、MacOS も version X か ら UNIX ベースの OS となった Ø Cygwin は windows 上で UNIX 環境を実現するためのアプリケーションである 1 2 UNIX でのファイル管理 UNIX に限らず、多くの OS においてファイルはディレクトリ(フォルダ)のツリー構造で 管理されている。 ディレクトリのツリー構造の例 / bin etc usr var bin X11R6 ls local home userA pwd dir1 file3 userA が自由に書き込める領域 lib tmp userB dir2 file1 file2 file4 知っておくべきこと ・各ユーザーが自由にファイルやディレクトリを管理できるディレクトリをホームディレ クトリと言います. ターミナルを開いたときに「いる」ディレクトリがホームディレクトリです. ・ホームディレクトリには書き込み権限があるので,新しくファイルを作成したり,copy (複製)したり,名前を変えたり,ディレクトリを作成して,ファイルを整理したりでき ます. ・ファイルの管理は,グラフィックユーザーインターフェース(GUI:mac の場合 Finder) を用いて行うことが出来ますが,UNIX のコマンドを用いて行うことも出来ます. ・ファイルには様々な種類がありますが,大きく分けて テキストファイル,実行ファイル(実行コマンド),データファイルの3種類があります. C 言語プログラミングでは,C のプログラムをテキストファイルとして作成し,コンパイラ (実行コマンド)を用いて,プログラムの実行ファイル(コマンド)を作成し,実行コマ ンドを入力してプログラムを走らせます. ・ファイルの種類は,拡張子で識別しますが,C のプログラムでは必ず.c を用います. 2 3 ターミナルを開こう Dock にある をクリックしてターミナルを開いてみよう。 □ターミナルの設定をしよう(一度設定するだけで次回からの設定は不要) 環境設定‐設定‐詳細‐言語環境の文字エンコーディング を 日本語 shift-jis にしてください。 ※日本語を表示させるプログラムでは,保存する文字コードと表示する文字コードを一致 させる必要があります.日本語文字コードが一致していないと文字化けします. □ターミナルに以下の UNIX コマンドを入力してみよう. (1) pwd [RET]と入力して、自分のホームディレクトリを確認してみよう。 →自分のホームディレクトリ($HOME と記すことにする): (2) ls[RET]と入力して、ホームディレクトリにどのようなファイルやディレクトリがあるか 確認してみよう。 (3) mkdir DIR1[RET]と入力して、新しいディレクトリ DIR1 を作成してみよう。 (4) ls[RET]と入力して、新しいディレクトリ DIR1 が出来ていることを確認しよう。 (5) cd DIR1[RET]と入力して、ディレクトリ DIR1 の下に移動してみよう。 (6) pwd[RET]と入力して、現在自分のいるディレクトリ(カレントディレクトリ)が $HOME/DIR1 であることを確認しよう (7) ls[RET]で$HOME/DIR1 以下にはファイルもディレクトリもないことを確認しよう。 (8) ls –al[RET]で . や..が表示されることを確認しよう。 . (ドット)はカレントディレクトリ、.. (ドットドット)は一個上の親ディレクトリである。 (9) cd ..[RET]で親ディレクトリに移動してみよう。 なお、カレントディレクトリがどこであろうと cd[RET]で$HOME に移動することができる。 (10) pwd[RET]でカレントディレクトリを確認しよう。 3 4 エディタ Emacs を開いてみよう Dock にある をクリックして Emacs を開いてみよう 次のような Window が現れるはず。 □ 文字コードの設定 C-x [RET] f と入力した後、sjis-unix もしくは shift-jis-unix と入力し、[RET]。 Emacs の左下の表示が となるはず. ※なお、sjis-unix の入力途中(たとえば s とだけ入力したのち)で[space]を押すと候補がリス トされ、文字が補完されるのでやってみてください。 4 5 新規ファイルの作成 にある 1. を押して、作成するファイル名を入力する。 (c プログラムの場合はファイル名必ず[何とか].c とする) その際、自分の HOME ディレクトリ以下のどのディレクトリに保存するのかを意識して、 保存すること。 □ここではとりあえず、$HOME/DIR1 以下に sample.txt として指定してみよう。 2.適当にテキスト入力する □ かなキーを押して,日本語も入力してみよう □ 英数キーでアルファベット 3.1ですでにファイル名を指定しているので を押して、上書き保存する。 保存する前に、必ず、文字コードの設定が sjis-unix であることを確認すること。 Emacs の左下隅が となっていれば OK。 もしくは だと保存したファイルが以下で表示できない.(C プログラムの場合, コンパイルもできない.) □ ターミナルで cd [RET](←ホームディレクトリに移動するため)、cd DIR1[RET]、ls[RET] と入力して、$HOME/DIR1 以下に sample.txt があるか確認してみよう。 □ ファイル sample.txt があることを確認したら、同じくターミナルで cat sample.txt[RET] と入力し、2で入力した内容が正しく表示されるかどうか確認しよう。 5 6 既存ファイルの編集&保存 にある 1. を押して、編集する既存ファイルを指定する。 □ ここでは、11で作成した$HOME/Apr18 以下の sample.txt を指定する。 2.sample.txt を適当に書き換える。 □ かなキーを押せば、日本語入力ができるので、日本語入力もしてみよう。 半角英数文字に戻すときは英数キーを押す。 □ マウスで適当に範囲指定した後、 を押すと cut でき、 を押すと Undo できること を確認しよう。 □カーソルを(↓、↑、←、→等で)移動し、 を押すと、カーソル位置に paste できる ことを確認しよう。 □マウスで範囲指定した後、 移動し、 3. を押すと copy でき、カーソルを(↓、↑、←、→等で) を押すと、カーソル位置に paste できることを確認しよう。 を押して、別名で保存してみよう。 □ ここでは、$HOME/Apr18 以下に sample2.txt として保存してみる。 □ 新規ファイルの作成のとき同様にターミナルで、$HOME/Apr18 以下に sample2.txt があ ることを確認してみよう。 6 7 UNIX 基本コマンドをマスターしよう pwd カレントディレクトリの表示 ls カレントディレクトリにあるファイルの一覧を表示 ls -l :ファイルサイズ、作成日時、所有者、アクセス権限等を表示 ls -a:隠しファイル(設定ファイル等)を表示 ls -R:ディレクトリ内のファイルとディレクトリを全て表示 man command1 UNIX コマンド(command1)のマニュアルを表示 例) man ls which command1 UNIX コマンド(command1)のフル path を表示 mkdir dir1 ディレクトリ(dir1)の作成 cd dir1 ディレクトリ(dir1) への移動 cd .. :ひとつ上のディレクトリ(親ディレクトリ)への移動 cd :ホームディレクトリへの移動 ls -R:ディレクトリ内のファイルとディレクトリを全て表示 rmdir dir1 ディレクトリの削除 ディレクトリの中にファイルがあると削除できない 参照) rm -r dir1 cp file1 file2 ファイル(file1)の内容を複製して file2 を作成 cp -r dir1 dir2 : ディレクトリ(dir1)の構造ごと複製して dir2 を作成 7 mv file1 file2 ファイル(file1)の名前を file2 に変更 mv file1 dir1 :ファイル(file1)をディレクトリ(dir1)以下に移動する mv dir1 dir2 :ディレクトリ(dir1)の名前を dir2 に変更する diff file1 file2 ファイル(file1)とファイル(file2)の内容を比較する rm file1 ファイル(file1)の削除 rm -r dir1 :ディレクトリ dir1 の全てを削除 cat file1 ファイル(file1)の内容を画面に表示 cat file1 file2 > file3: file1 と file2 を結合して file3 を作成 less file1 ファイル(file1)の内容を 1 頁づつ表示 file file1 ファイル(file1)の種類を表示 chmod 644 file1 ファイル(file1)の属性を 644 に設定 □ UNIX コマンドはその他にも存在するので Google 等で「UNIX コマンド」をキーワードにして、検索してみてください。 8 8 エディタ(Emacs)の使い方(トレーニング) Emacs の基本的な使い方としては、5と6をマスターすれば十分ですが、 たとえば、非常に大きいプログラムなどは、より効率よく編集したいものです。 その際には、コントロールキーやメタキーを用いたキー操作が便利です。 ※C-space など、Mac 上で下記とは異なるキーが割り当てられているものもあるので注意 操作が分からなくなったら, C-g (すなわち,Ctrl を押しながら g を押す)で 操作を取り消しましょう. 9 □ そのほかにも、正規表現を用いた文字列置換などの便利な使い方もあります。 検索して各自調べましょう。なお、マスターするのに Emacs Tutorial はおすすめです。 10