ログイン
編集不可のページディスカッション情報添付ファイル
"ibisha_party/UNIX講習"の差分

MMA
6と7のリビジョン間の差分
2015-06-05 17:24:17時点のリビジョン6
サイズ: 5328
編集者: ibisha_party
コメント:
2015-06-05 18:31:43時点のリビジョン7
サイズ: 6785
編集者: ibisha_party
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 90: 行 90:
= パーミッション = = アクセス権 =
  * 人には見られたくないファイルや、特定の人にのみ公開したいファイルがある
  * パーミッション(許可)を変更することで公開範囲を制限する

== ユーザの分類 ==
  * u(user) ・・・所有ユーザ
  * g(group) ・・・所有グループに属するユーザ
  * o(other) ・・・その他の全てのユーザ

== 権利の分類 ==
  * r(read):ファイルの読み出し
  * w(write):ファイルへの書き込み
  * x(execute):ファイルの実行

 * ディレクトリにも同様に、アクセス権が決められている

  * r(read):当該ディレクトリ内のファイルやディレクトリの閲覧ができる
  * w(write):当該ディレクトリ内にファイルやディレクトリを作成したり、削除できる
  * x(execute):当該ディレクトリに入り、内部のファイルやディレクトリにアクセスできる
  
 * 自分がどのグループに属するかは、groupsコマンドを叩くと分かる

== アクセス権の読み方 ==

 * 100の位が自分、10の位がグループ、1の位がその他のユーザに関してのアクセス権を示している
 * r権限が4、w権限が2、x権限が1の重みをそれぞれ持っている
 * 4、2、1と重みを付けることでそれぞれが干渉せず、1ケタで1種のユーザに関するパーミッションを表現できる

はじめに

  • 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

カーネル

figure1

  • 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
    • 一時ファイル

アクセス権

  • 人には見られたくないファイルや、特定の人にのみ公開したいファイルがある
  • パーミッション(許可)を変更することで公開範囲を制限する

ユーザの分類

  • u(user) ・・・所有ユーザ
  • g(group) ・・・所有グループに属するユーザ
  • o(other) ・・・その他の全てのユーザ

権利の分類

  • r(read):ファイルの読み出し
  • w(write):ファイルへの書き込み
  • x(execute):ファイルの実行
  • ディレクトリにも同様に、アクセス権が決められている
    • r(read):当該ディレクトリ内のファイルやディレクトリの閲覧ができる
    • w(write):当該ディレクトリ内にファイルやディレクトリを作成したり、削除できる
    • x(execute):当該ディレクトリに入り、内部のファイルやディレクトリにアクセスできる
  • 自分がどのグループに属するかは、groupsコマンドを叩くと分かる

アクセス権の読み方

  • 100の位が自分、10の位がグループ、1の位がその他のユーザに関してのアクセス権を示している
  • r権限が4、w権限が2、x権限が1の重みをそれぞれ持っている
  • 4、2、1と重みを付けることでそれぞれが干渉せず、1ケタで1種のユーザに関するパーミッションを表現できる

コマンド

  • 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

参考

mizunashi_mana/UNIX講習

alstamber/UNIXPresentation

chmod/Hello, UNIX.

ibisha_party/UNIX講習 (最終更新日時 2015-06-05 18:45:06 更新者 ibisha_party)