SlideShare a Scribd company logo
1 of 27
Download to read offline
UNIX
⽬目次

  1. UNIXとは?

  2. UNIXコマンド

  3. シェルスクリプト
1.	
  UNIX	
  とは?
UNIXの歴史

  ・1970年, AT&Tが始める

  ・マルチユーザ

  ・BSD系とSystem V系

  ・UNIX委員会の認証があって
   初めて名乗れる
Linux
  = PC用のUNIX
        ・でも最近はPC以外にも適⽤用されている。
          (例例.	
  掃除機,	
  携帯,	
  ⾃自販機)

        ・バザール⽅方式で開発される

        ・作ったのは、リーナス・トーバルスさん(1970年年頃)
Linux	
  のディストリビューション



               Window
               システム     デバイス
                        ドライバ


                           ディストリ
                           ビューション
  Linuxの本体は
              コア          (ソフトウェア群)
   これだけ
Linux	
  のディストリビューション
 1. Red Hat系
     ・Red Hat Enterprise Linux
           企業向け。サポート万全。有料。

    ・Fedora
           最新機能を搭載

    ・CentOS                      勉強⽤用に
           安定性重視。                おすすめ!

 2. Debian系
     ・Ubuntu
           UI使いやすい。最新機能搭載。
2.	
  UNIX	
  コマンド
メタキャラクタ

 *	
  :	
  任意の0⽂文字以上の⽂文字

 ?	
  :	
  任意の1⽂文字以上の⽂文字

 [ab]	
  :	
  a	
  または	
  b
      [0-‐‑‒9]:	
  [0123456789]
      [^3-‐‑‒5]:	
  3-‐‑‒5以外の数字


 {xyz,	
  abc,	
  ccc}	
  :	
  xyz,	
  abc,	
  ccc	
  のどれか
chmod
       ファイルのパーミッションを変更更する
       chmod	
  [オプション]	
  ファイル名/ディレクトリ名

dir        所有者	
  u	
             グループ	
  g                 他のユーザ	
  o

-‐‑‒   r       w          x   r      w        -‐‑‒         r        -‐‑‒      x

               7                     6                             5

                                                     r	
  =	
  4:	
  読み取り権限
ディレクトリの場合はd,                                         w	
  =	
  2:	
  書き込み権限
ファイルの場合は	
  -‐‑‒                                     x	
  =	
  1:	
  実⾏行行権限


            -‐‑‒R	
  オプションで,	
  フォルダ内全ての権限変更更
基本UNIXコマンド	
  (1/2)


 cp	
  [オプション]	
  元のパス	
  後のパス
        オプション -R でフォルダごとコピーできる。



 mv	
  [オプション]	
  元のパス	
  後のパス
        ファイルの移動の他、名前変更にも使える。
基本UNIXコマンド	
  (2/2)

 grep	
  ʻ‘freeBSCʼ’	
  test.txt
              検索文字列 ファイル名


 sed	
  ʼ’s /元の⽂文字列列/後の⽂文字列列ʼ’	
  test.txt
              ‘編集モード / パターン1 / パターン2’ ファイル名
                  └ 【編集モード】s: 置換,            d: 削除, p: 表示

 awk	
  -‐‑‒F:	
  ʻ‘/^1/{print	
  $1,$2;}ʼ’	
  test.txt
          区切り文字 対象となる行 / 処理内容 ファイル名
リダイレクトとパイプ

>	
  :	
  出⼒力力
<	
  :	
  ⼊入⼒力力
>>	
  :	
  追加
|	
  :	
  左の結果を受けての右のコマンドの実⾏行行
       grep ‘freeBSD’ test.txt | sed ‘s/freeBSD/freebsd’
ちょっと便便利利UNIXコマンド
      便便利利だけどあまり使わないコマンド集
      使い⽅方は	
  man	
  コマンドで調べよう.


 ps        ifconfig    !!       !?⽂文字列列?
 cat       netstat    history crontab
 less      ping       !n       sleep
 more      alias      !⽂文字列列   kill
           └ 毎回読み込むようにするには、
             ホームディレクトリの.bash_profileや
             .profile に記述する
ちょっと便便利利	
  crontab

 crontab	
  -‐‑‒e	
  :	
  スケジュールの編集
 crontab	
  -‐‑‒l	
  :	
  スケジュールリストの表⽰示
 【書式】 分	
  時	
  ⽇日	
  ⽉月	
  曜	
  実⾏行行書式


 1分ごとに設定をチェックしにいってくれる。
 バックアップ⽤用途などで重宝される!
3.	
  シェルスクリプト
シェルスクリプト

 ・UNIXコマンドを自動化できる

 ・便利ですね

 ・Bシェル系 (sh, bash, ... )
                  Linuxの標準


 ・Cシェル系 (csh, tcsh)
              FreeBSDの標準
シェルスクリプト	
  の書き⽅方

  ・先頭に #!/bin/sh

  ・# をつけたらコメント文

  ・変数は適当に使える
      data1=100
      echo “data1 = $data1”

  ・見やすいように字下げしてはダメ
シェルスクリプト	
  実⾏行行⽅方法

   ・実行方法
       sh val1.sh

   ・位置パラメータの使用
       sh val2.sh OK NG
シェルスクリプト	
  の書き⽅方(2)

  ・四則演算                  バッククォートで囲むと
                         UNIXコマンド使える!
     ‘expr $x + $y’
  ・if文ももちろん使える
       if [ s1 = s2 ]
       then
         echo “OK!”
       elif [ s1 = s3]
         echo “s3 OK!”
       else
         echo “NG!”
       fi
シェルスクリプト	
  の書き⽅方(3)

  ・case文
      case $x in
        1) echo “ONE”
            ;;
        2) echo “TWO”
            ;;
        3|6|9) echo “OK”
            ;;
        *) echo “NG”
            ;;
        esac
シェルスクリプト	
  の書き⽅方(4)

・for文                   ・while文
  for i in 1 2 3          while [ $count -lt 6 ]
    do                     do
      echo “num : $i”        echo “num : $count”
    done                   done


                              -lt は比較演算子「<」のこと
シェルスクリプト	
  の書き⽅方(5)

  ・関数 定義と使い方

     add() {
        return ‘expr $1 + $2’
     }
     x=5
     y=10
                            $? で直前の演算結果を
     add $x $y              参照できる
     result=$?
     echo “$x + $y = $result”
シェルスクリプト	
  正規表現

  .	
  :	
  任意の1⽂文字
  *	
  :	
  直前の⽂文字の0回以上の繰り返し
  +	
  :	
  直前の⽂文字の1回以上の繰り返し
  ?	
  :	
  直前の⽂文字を0回or1回
  ^	
  :	
  ⾏行行の先頭
  $	
  :	
  ⾏行行の⽂文末
  []	
  :	
  []内の任意の⽂文字   [a-‐‑‒z0-‐‑‒9],	
  [^3-‐‑‒4]など
おまけ
⽂文字コードの種類
・1バイトコード
   -‐‑‒	
  アメリカとかで採⽤用

・マルチバイトコード
   -‐‑‒	
  EUC-‐‑‒JP	
  	
  //	
  FreeBSD他	
  UNIX系OS
   -‐‑‒	
  Shift-‐‑‒JIS	
  	
  //	
  Windows	
  &	
  Mac
   -‐‑‒	
  UTF-‐‑‒8	
  	
  //	
  Linux
   -‐‑‒	
  ISO-‐‑‒2022-‐‑‒JP	
  //	
  メールデータ送受信のエンコード
リモート操作

          平⽂文     暗号

リモート操作   telnet   SSH

リモート
          FTP     SCP
ファイル操作

More Related Content

What's hot

Look at-the-lisper
Look at-the-lisperLook at-the-lisper
Look at-the-lisperhome
 
Cost of ovs receiving process
Cost of ovs receiving processCost of ovs receiving process
Cost of ovs receiving processTakuya ASADA
 
Webサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとかWebサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとかDai Utsui
 
Erlangやってみた
ErlangやってみたErlangやってみた
Erlangやってみたina job
 
これだけMakefile (Basics of makefile)
これだけMakefile (Basics of makefile)これだけMakefile (Basics of makefile)
これだけMakefile (Basics of makefile)seichi23
 
処理概要図&構築手順書1124
処理概要図&構築手順書1124処理概要図&構築手順書1124
処理概要図&構築手順書1124Kazuki Miura
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用MITSUNARI Shigeo
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
RedisととあるシステムTakehiro Torigaki
 
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsはじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsAtsuhiro Takiguchi
 
Using context.context in context
Using context.context in contextUsing context.context in context
Using context.context in contextJames Kirk
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3kAtsuo Ishimoto
 
TCP connectionの保存と復元
TCP connectionの保存と復元TCP connectionの保存と復元
TCP connectionの保存と復元mittyorz
 

What's hot (20)

Look at-the-lisper
Look at-the-lisperLook at-the-lisper
Look at-the-lisper
 
Cost of ovs receiving process
Cost of ovs receiving processCost of ovs receiving process
Cost of ovs receiving process
 
Boost Tour 1_58_0 merge
Boost Tour 1_58_0 mergeBoost Tour 1_58_0 merge
Boost Tour 1_58_0 merge
 
Webサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとかWebサーバ勉強会_#1_108-114:ログとか
Webサーバ勉強会_#1_108-114:ログとか
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
Boost tour 1_40_0
Boost tour 1_40_0Boost tour 1_40_0
Boost tour 1_40_0
 
Erlangやってみた
ErlangやってみたErlangやってみた
Erlangやってみた
 
これだけMakefile (Basics of makefile)
これだけMakefile (Basics of makefile)これだけMakefile (Basics of makefile)
これだけMakefile (Basics of makefile)
 
処理概要図&構築手順書1124
処理概要図&構築手順書1124処理概要図&構築手順書1124
処理概要図&構築手順書1124
 
速習A tour of go
速習A tour of go速習A tour of go
速習A tour of go
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
Redis速習会@Wantedly
Redis速習会@WantedlyRedis速習会@Wantedly
Redis速習会@Wantedly
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
 
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsはじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvps
 
Boost Tour 1.53.0 merge
Boost Tour 1.53.0 mergeBoost Tour 1.53.0 merge
Boost Tour 1.53.0 merge
 
Using context.context in context
Using context.context in contextUsing context.context in context
Using context.context in context
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3k
 
TCP connectionの保存と復元
TCP connectionの保存と復元TCP connectionの保存と復元
TCP connectionの保存と復元
 

Viewers also liked

日本UNIXユーザ会50か年計画(?)
日本UNIXユーザ会50か年計画(?)日本UNIXユーザ会50か年計画(?)
日本UNIXユーザ会50か年計画(?)法林浩之
 
20150906 第6回組織の経済学勉強会(後半)
20150906 第6回組織の経済学勉強会(後半)20150906 第6回組織の経済学勉強会(後半)
20150906 第6回組織の経済学勉強会(後半)FED事務局
 
Google先生によるウィルス配布の件(正確にはアドウェアかな…)
Google先生によるウィルス配布の件(正確にはアドウェアかな…)Google先生によるウィルス配布の件(正確にはアドウェアかな…)
Google先生によるウィルス配布の件(正確にはアドウェアかな…)Izumi Akiyama
 
20150329 第3回組織の経済学勉強会
20150329 第3回組織の経済学勉強会 20150329 第3回組織の経済学勉強会
20150329 第3回組織の経済学勉強会 FED事務局
 
20150125 第1回組織の経済学勉強会
20150125 第1回組織の経済学勉強会20150125 第1回組織の経済学勉強会
20150125 第1回組織の経済学勉強会FED事務局
 
20150426 第4回組織の経済学勉強会
20150426 第4回組織の経済学勉強会20150426 第4回組織の経済学勉強会
20150426 第4回組織の経済学勉強会FED事務局
 
青空文庫サーバの今と今後
青空文庫サーバの今と今後青空文庫サーバの今と今後
青空文庫サーバの今と今後Keisuke Katsuki
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門 Atsu Yamaga
 
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)masayoshi takahashi
 
自作サーバ同窓会スライド
自作サーバ同窓会スライド自作サーバ同窓会スライド
自作サーバ同窓会スライドKazuhito Ohkawa
 
NGS速習コース:UNIXの基礎の理解/Linux導入
NGS速習コース:UNIXの基礎の理解/Linux導入NGS速習コース:UNIXの基礎の理解/Linux導入
NGS速習コース:UNIXの基礎の理解/Linux導入Takeru Nakazato
 
Unixコマンド入門
Unixコマンド入門Unixコマンド入門
Unixコマンド入門Satosi Sakai
 
Unix 基礎
Unix 基礎Unix 基礎
Unix 基礎Sho A
 
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバXenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバzgock
 
Unixファイルシステムの歴史
Unixファイルシステムの歴史Unixファイルシステムの歴史
Unixファイルシステムの歴史magoroku Yamamoto
 
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyoMasahiro NAKAYAMA
 
アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用Akihiro Kuwano
 
アメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったアメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったAkihiro Kuwano
 
Schoo web campus 誰も教えてくれなかった給料のルール
Schoo web campus 誰も教えてくれなかった給料のルールSchoo web campus 誰も教えてくれなかった給料のルール
Schoo web campus 誰も教えてくれなかった給料のルールschoowebcampus
 

Viewers also liked (20)

日本UNIXユーザ会50か年計画(?)
日本UNIXユーザ会50か年計画(?)日本UNIXユーザ会50か年計画(?)
日本UNIXユーザ会50か年計画(?)
 
20150906 第6回組織の経済学勉強会(後半)
20150906 第6回組織の経済学勉強会(後半)20150906 第6回組織の経済学勉強会(後半)
20150906 第6回組織の経済学勉強会(後半)
 
Google先生によるウィルス配布の件(正確にはアドウェアかな…)
Google先生によるウィルス配布の件(正確にはアドウェアかな…)Google先生によるウィルス配布の件(正確にはアドウェアかな…)
Google先生によるウィルス配布の件(正確にはアドウェアかな…)
 
20150329 第3回組織の経済学勉強会
20150329 第3回組織の経済学勉強会 20150329 第3回組織の経済学勉強会
20150329 第3回組織の経済学勉強会
 
20150125 第1回組織の経済学勉強会
20150125 第1回組織の経済学勉強会20150125 第1回組織の経済学勉強会
20150125 第1回組織の経済学勉強会
 
20150426 第4回組織の経済学勉強会
20150426 第4回組織の経済学勉強会20150426 第4回組織の経済学勉強会
20150426 第4回組織の経済学勉強会
 
青空文庫サーバの今と今後
青空文庫サーバの今と今後青空文庫サーバの今と今後
青空文庫サーバの今と今後
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
 
Ext4 filesystem(1)
Ext4 filesystem(1)Ext4 filesystem(1)
Ext4 filesystem(1)
 
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
 
自作サーバ同窓会スライド
自作サーバ同窓会スライド自作サーバ同窓会スライド
自作サーバ同窓会スライド
 
NGS速習コース:UNIXの基礎の理解/Linux導入
NGS速習コース:UNIXの基礎の理解/Linux導入NGS速習コース:UNIXの基礎の理解/Linux導入
NGS速習コース:UNIXの基礎の理解/Linux導入
 
Unixコマンド入門
Unixコマンド入門Unixコマンド入門
Unixコマンド入門
 
Unix 基礎
Unix 基礎Unix 基礎
Unix 基礎
 
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバXenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
 
Unixファイルシステムの歴史
Unixファイルシステムの歴史Unixファイルシステムの歴史
Unixファイルシステムの歴史
 
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
 
アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用
 
アメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったアメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなった
 
Schoo web campus 誰も教えてくれなかった給料のルール
Schoo web campus 誰も教えてくれなかった給料のルールSchoo web campus 誰も教えてくれなかった給料のルール
Schoo web campus 誰も教えてくれなかった給料のルール
 

Similar to Unix

ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミングShuhei KONDO
 
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Nobuto Murata
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチMasami Ichikawa
 
仕事で使えるシェルスクリプト
仕事で使えるシェルスクリプト仕事で使えるシェルスクリプト
仕事で使えるシェルスクリプトbsdhack
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)icchy
 
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4Fuminobu Takeyama
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめMakiko Konoshima
 
とあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIとあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIKazuhiro Yoshikawa
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライドkoturn 0;
 
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎Noriaki Ando
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
181106 02
181106 02181106 02
181106 02openrtm
 
NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料Hiromu Yakura
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)inaz2
 
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2Fuminobu Takeyama
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lispirix_jp
 
ROS Tutorial 02 - CIT
ROS Tutorial 02 - CITROS Tutorial 02 - CIT
ROS Tutorial 02 - CITDaiki Maekawa
 

Similar to Unix (20)

20170124 linux basic_1
20170124 linux basic_120170124 linux basic_1
20170124 linux basic_1
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミング
 
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
 
仕事で使えるシェルスクリプト
仕事で使えるシェルスクリプト仕事で使えるシェルスクリプト
仕事で使えるシェルスクリプト
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
 
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
とあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIとあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)II
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライド
 
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
Tokyor23 doradora09
Tokyor23 doradora09Tokyor23 doradora09
Tokyor23 doradora09
 
181106 02
181106 02181106 02
181106 02
 
NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
 
ROS Tutorial 02 - CIT
ROS Tutorial 02 - CITROS Tutorial 02 - CIT
ROS Tutorial 02 - CIT
 

More from Hiramatsu Ryosuke

iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooHiramatsu Ryosuke
 
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門Hiramatsu Ryosuke
 
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方Hiramatsu Ryosuke
 
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集Hiramatsu Ryosuke
 
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C5分でつまむEffective Objective-C
5分でつまむEffective Objective-CHiramatsu Ryosuke
 
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm Hiramatsu Ryosuke
 
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review RequestiOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review RequestHiramatsu Ryosuke
 
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2Hiramatsu Ryosuke
 
AppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストにAppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストにHiramatsu Ryosuke
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Hiramatsu Ryosuke
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめHiramatsu Ryosuke
 

More from Hiramatsu Ryosuke (12)

iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
 
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
 
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
 
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集
 
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C5分でつまむEffective Objective-C
5分でつまむEffective Objective-C
 
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
 
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review RequestiOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review Request
 
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2
 
AppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストにAppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストに
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
C-langage
C-langageC-langage
C-langage
 

Unix

  • 2. ⽬目次 1. UNIXとは? 2. UNIXコマンド 3. シェルスクリプト
  • 4. UNIXの歴史 ・1970年, AT&Tが始める ・マルチユーザ ・BSD系とSystem V系 ・UNIX委員会の認証があって  初めて名乗れる
  • 5. Linux = PC用のUNIX ・でも最近はPC以外にも適⽤用されている。 (例例.  掃除機,  携帯,  ⾃自販機) ・バザール⽅方式で開発される ・作ったのは、リーナス・トーバルスさん(1970年年頃)
  • 6. Linux  のディストリビューション Window システム デバイス ドライバ ディストリ ビューション Linuxの本体は コア (ソフトウェア群) これだけ
  • 7. Linux  のディストリビューション 1. Red Hat系 ・Red Hat Enterprise Linux 企業向け。サポート万全。有料。 ・Fedora 最新機能を搭載 ・CentOS 勉強⽤用に 安定性重視。 おすすめ! 2. Debian系 ・Ubuntu UI使いやすい。最新機能搭載。
  • 9. メタキャラクタ *  :  任意の0⽂文字以上の⽂文字 ?  :  任意の1⽂文字以上の⽂文字 [ab]  :  a  または  b [0-‐‑‒9]:  [0123456789] [^3-‐‑‒5]:  3-‐‑‒5以外の数字 {xyz,  abc,  ccc}  :  xyz,  abc,  ccc  のどれか
  • 10. chmod ファイルのパーミッションを変更更する chmod  [オプション]  ファイル名/ディレクトリ名 dir 所有者  u   グループ  g 他のユーザ  o -‐‑‒ r w x r w -‐‑‒ r -‐‑‒ x 7 6 5 r  =  4:  読み取り権限 ディレクトリの場合はd, w  =  2:  書き込み権限 ファイルの場合は  -‐‑‒ x  =  1:  実⾏行行権限 -‐‑‒R  オプションで,  フォルダ内全ての権限変更更
  • 11. 基本UNIXコマンド  (1/2) cp  [オプション]  元のパス  後のパス オプション -R でフォルダごとコピーできる。 mv  [オプション]  元のパス  後のパス ファイルの移動の他、名前変更にも使える。
  • 12. 基本UNIXコマンド  (2/2) grep  ʻ‘freeBSCʼ’  test.txt 検索文字列 ファイル名 sed  ʼ’s /元の⽂文字列列/後の⽂文字列列ʼ’  test.txt ‘編集モード / パターン1 / パターン2’ ファイル名 └ 【編集モード】s: 置換, d: 削除, p: 表示 awk  -‐‑‒F:  ʻ‘/^1/{print  $1,$2;}ʼ’  test.txt 区切り文字 対象となる行 / 処理内容 ファイル名
  • 13. リダイレクトとパイプ >  :  出⼒力力 <  :  ⼊入⼒力力 >>  :  追加 |  :  左の結果を受けての右のコマンドの実⾏行行 grep ‘freeBSD’ test.txt | sed ‘s/freeBSD/freebsd’
  • 14. ちょっと便便利利UNIXコマンド 便便利利だけどあまり使わないコマンド集 使い⽅方は  man  コマンドで調べよう. ps ifconfig !! !?⽂文字列列? cat netstat history crontab less ping !n sleep more alias !⽂文字列列 kill └ 毎回読み込むようにするには、 ホームディレクトリの.bash_profileや .profile に記述する
  • 15. ちょっと便便利利  crontab crontab  -‐‑‒e  :  スケジュールの編集 crontab  -‐‑‒l  :  スケジュールリストの表⽰示 【書式】 分  時  ⽇日  ⽉月  曜  実⾏行行書式 1分ごとに設定をチェックしにいってくれる。 バックアップ⽤用途などで重宝される!
  • 17. シェルスクリプト ・UNIXコマンドを自動化できる ・便利ですね ・Bシェル系 (sh, bash, ... ) Linuxの標準 ・Cシェル系 (csh, tcsh) FreeBSDの標準
  • 18. シェルスクリプト  の書き⽅方 ・先頭に #!/bin/sh ・# をつけたらコメント文 ・変数は適当に使える data1=100 echo “data1 = $data1” ・見やすいように字下げしてはダメ
  • 19. シェルスクリプト  実⾏行行⽅方法 ・実行方法 sh val1.sh ・位置パラメータの使用 sh val2.sh OK NG
  • 20. シェルスクリプト  の書き⽅方(2) ・四則演算 バッククォートで囲むと UNIXコマンド使える! ‘expr $x + $y’ ・if文ももちろん使える if [ s1 = s2 ] then echo “OK!” elif [ s1 = s3] echo “s3 OK!” else echo “NG!” fi
  • 21. シェルスクリプト  の書き⽅方(3) ・case文 case $x in 1) echo “ONE” ;; 2) echo “TWO” ;; 3|6|9) echo “OK” ;; *) echo “NG” ;; esac
  • 22. シェルスクリプト  の書き⽅方(4) ・for文 ・while文 for i in 1 2 3 while [ $count -lt 6 ] do do echo “num : $i” echo “num : $count” done done -lt は比較演算子「<」のこと
  • 23. シェルスクリプト  の書き⽅方(5) ・関数 定義と使い方 add() { return ‘expr $1 + $2’ } x=5 y=10 $? で直前の演算結果を add $x $y 参照できる result=$? echo “$x + $y = $result”
  • 24. シェルスクリプト  正規表現 .  :  任意の1⽂文字 *  :  直前の⽂文字の0回以上の繰り返し +  :  直前の⽂文字の1回以上の繰り返し ?  :  直前の⽂文字を0回or1回 ^  :  ⾏行行の先頭 $  :  ⾏行行の⽂文末 []  :  []内の任意の⽂文字 [a-‐‑‒z0-‐‑‒9],  [^3-‐‑‒4]など
  • 26. ⽂文字コードの種類 ・1バイトコード -‐‑‒  アメリカとかで採⽤用 ・マルチバイトコード -‐‑‒  EUC-‐‑‒JP    //  FreeBSD他  UNIX系OS -‐‑‒  Shift-‐‑‒JIS    //  Windows  &  Mac -‐‑‒  UTF-‐‑‒8    //  Linux -‐‑‒  ISO-‐‑‒2022-‐‑‒JP  //  メールデータ送受信のエンコード
  • 27. リモート操作 平⽂文 暗号 リモート操作 telnet SSH リモート FTP SCP ファイル操作