サイズ: 4659
コメント:
|
サイズ: 5328
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 8: | 行 8: |
前年度までは | . 前年度までは |
行 21: | 行 21: |
{{{ | {{{ |
行 37: | 行 37: |
(図を挿入) | === カーネル === [[attachment:figure1]] |
行 39: | 行 40: |
=== カーネル === {{attachment:figure1.png}} |
|
行 44: | 行 43: |
行 54: | 行 54: |
行 90: | 行 91: |
行 115: | 行 115: |
* change owner | * change owner |
行 134: | 行 134: |
* ssh | |
行 136: | 行 135: |
* コマンドを他のユーザーとして実行 * root権限を一時的に行使するときなどに使用 |
|
行 137: | 行 138: |
* パイプ * リダイレクト |
= リダイレクト = * コマンドへの入力、また、コマンドからの出力先を変更する * 出力先変更の例 {{{ $ echo Linux chotto dekiru > Linux chotto dekiru $ echo Linux chotto dekiru > Linus.txt $ ls }}} * 入力の変更の例 {{{ $ echo 500 + 50 + 5 > calc.txt $ bc < calc.txt }}} = パイプ = * あるコマンドによる出力を、別のコマンドの入力として扱う * パイプの利用例 {{{ $ echo 500 - 50 - 5 | bc }}} = 参考 = [[mizunashi_mana/UNIX講習]] [[alstamber/UNIXPresentation]] [[chmod/Hello, UNIX.]] |
はじめに
- 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)
- 比較的長いテキストの閲覧に適する
- sudo
- コマンドを他のユーザーとして実行
- root権限を一時的に行使するときなどに使用
リダイレクト
- コマンドへの入力、また、コマンドからの出力先を変更する
- 出力先変更の例
$ echo Linux chotto dekiru > Linux chotto dekiru $ echo Linux chotto dekiru > Linus.txt $ ls
- 入力の変更の例
$ echo 500 + 50 + 5 > calc.txt $ bc < calc.txt
パイプ
- あるコマンドによる出力を、別のコマンドの入力として扱う
- パイプの利用例
$ echo 500 - 50 - 5 | bc