はじめに
- nest(MMAのサーバ)に接続できる環境が必要です。
- 不明な点がありましたら、挙手をお願いします。優秀なTAが駆けつけてくれます。
- 講習の内容に間違いがあったら御指摘をお願い致します
- コンピュータリテラシーの進度はどれほどでしょうか
- 前年度までは
- やった: cp,mv等のコマンド
今やってる||やってない: パイプ、リダイレクトなど
UNIXとは?
- OSの種類の1つ
- 現在では、「UNIX」という語は「UNIX標準に準拠するあらゆるオペレーティングシステムの総称」でもある(規格みたいなもの)
- UNIXの例
- Mac OS X
- Linux
- Redhat Enterprise Linux 6.5(sol)
OSの構造
オペレーティングシステム(Operating System, OS)は、コンピュータにおいて、ハードウェアを抽象化したインターフェースを利用者またはアプリケーションソフトウェアに提供するソフトウェアである - Wikipedia オペレーティングシステム
- コンピューターの五大機能
- 入力機能(キーボード・マウスなど)
- 出力機能(ディスプレイ)
- 記憶機能(メモリなど)
- 制御機能(CPUなど)
- 演算機能(同上)
- ユーザー(アプリケーション)がこれらのハードウェア部分まで意識するのは面倒で大変
- エディタ1つとっても、キーボードからの入力、記憶装置への書き込み、ディスプレイへの描画、これらを行うCPUの処理などなど
- この管理を一括にし、使いやすい形で私たちに提供してくれるのがOS
(図を挿入)
カーネル
- kernel...核
- 直接的にハードウェアを管理している部分
- 文字通り「核」としての重要な役割
シェル
- shell...殻
- Kernelとユーザの橋渡し的な役割を持つ
echo $SHELL
UNIXを使うメリット
- 小さなコマンドで大きなことができる
- ツール等の蓄積(歴史の話につながる?)
実際にUNIXの構造を眺めてみる
- nestに接続
$ cd / $ ls
- home
- 各人の部屋がある場所
- bin
- バイナリ:binary
- 基本コマンドのバイナリが置いてある
- shellの置場もここである
- ちょっとまって!cdが入ってないやん!
- cdは独立したファイルではない(らしい)
- etc
- その他:et cetra
- 設定ファイル
- deb
- device
- デバイス(キーボード等)に関するファイル
- 先述したKernelとしての役割
- lib
- library
- 共有ライブラリ
- usr
- USeRの略だったりそうじゃなかったり
- ユーザのバイナリやライブラリ、ヘッダーファイルなどの置き場所
- var
- variable(変化しやすい)
- ログ等の常に変化のあるファイルを置く場所
- tmp
- temporary
- 一時ファイル
パーミッション
コマンド
- man
- manual
- コマンドのマニュアルを閲覧する
- オプション等の記載もあるのでとりあえず叩いてみるといいかも
- qキーで端末の入力画面に戻る
- ls
- list
- ディレクトリの内容をリスト表示する
- 引数を渡すことでそれに合致するファイル名を表示したり、表示するディレクトリを指定できる
- cd
- change directory
- カレントディレクトリを指定のディレクトリに変更
- 指定をしない場合、ホームディレクトリ(~)に移る
- pwd
- print working directory
- 現在の作業ディレクトリの名前を出力
- cat
- concatenate(鎖状につなぐ)
- ファイルの内容を連結して表示
- chmod
- change mode
- ファイルのパーミッションを変更
- chown
- change owner
- mkdir
- make directory
- ディレクトリを作成
- rm
- remove
- ファイルやディレクトリの削除を行う
- cp
- copy
- ファイルやディレクトリのコピーを行う
- mv
- move
- ファイルの移動を行う
- echo
- 1行のテキストを表示
- less
- ファイルの内容を一画面ごとに表示
- ページの前後ができる(f,b)
- 比較的長いテキストの閲覧に適する
- ssh
- sudo
- パイプ
- リダイレクト