第4-1回 emacs(2) ... エディタによるテキスト入力(2)

  • emacs初級
  • vi (紹介)

    第4-2回 UNIX入門(3) ... シェル/応用プログラム

    ワイルドカードの練習

    シェル(shell)とカーネル(kernel)


    シェルの操作

    教科書p85-102


    リダイレクト

    入力を受け付けて、結果を出力する一般的なコマンドの場合、入力元は標準入力、出力先は標準出力になっている。一般に標準入力はキーボード、標準出力はディスプレイが割り当てられている。

    リダイレクトの例

    簡単な計算をするコマンド bc

    $ bc -l                                                               ← "-l"オプションを付けて起動
    bc 1.06
    Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
    This is free software with ABSOLUTELY NO WARRANTY.
    For details type `warranty'.
    1+2                                                                   ←キーボードから計算式を入力
    3                                                                     ←結果が出力される
    256*256                                                               ←キーボードから計算式を入力
    65536                                                                 ←結果が出力される
    sqrt(2)                                                               ←キーボードから計算式を入力
    1.41421356237309504880                                                ←結果が出力される
    1$                                                                    ^Dでbcを終了

    このコマンドのイメージ

    標準入力から式の入力
    通常はキーボード
    "<"でファイルに切替
    bcコマンド
    標準出力へ結果の出力
    通常はディスプレイ
    ">"または">>"でファイルに切替

    リダイレクト処理の練習

    emacsやvi等で、次のような内容のテキストファイルを作ります。

    ファイル名 shiki1.txt shiki2.txt
    内容 1+2
    256*256
    sqrt(2)
    5-2
    10/3
    s(3.14159/2)

    以下の各コマンドを実行して、結果を確認しなさい。

    この結果生成されたテキストファイルkekka1.txt 〜 kekka4.txtの内容を確認し、なぜそのような結果になるか考察しなさい。

    パイプ処理

    フィルタ処理の練習

    以下の内容のテキストファイル"list.txt"を作成しなさい。

    2011FI001,N.Osaka
    2011FI002,N.Osaka
    2011FI003,N.Osaka
    2011FI004,N.Osaka
    2011FI005,N.Osaka
    2011FI006,N.Osaka
    2011FI007,N.Osaka
    2011FI008,N.Osaka
    2011FI009,N.Osaka
    2011FI010,N.Osaka
    2011FI011,N.Osaka
    2011FI012,H.Koyama
    2011FI013,H.Koyama
    2011FI014,H.Koyama
    2011FI015,H.Koyama
    2011FI016,H.Koyama
    2011FI017,H.Koyama
    2011FI018,H.Koyama
    2011FI019,H.Koyama
    2011FI020,H.Koyama
    2011FI021,H.Koyama
    2011FI022,H.Koyama
    2011FI023,R.Sasaki
    2011FI024,R.Sasaki
    2011FI025,R.Sasaki
    2011FI026,R.Sasaki
    2011FI027,R.Sasaki
    2011FI028,R.Sasaki
    2011FI029,R.Sasaki
    2011FI030,R.Sasaki
    2011FI031,R.Sasaki
    2011FI032,R.Sasaki
    2011FI033,R.Sasaki
    2011FI034,T.Takahashi
    2011FI035,T.Takahashi
    2011FI036,T.Takahashi
    2011FI037,T.Takahashi
    2011FI038,T.Takahashi
    2011FI039,T.Takahashi
    2011FI040,T.Takahashi
    2011FI041,T.Takahashi
    2011FI042,T.Takahashi
    2011FI043,T.Takahashi
    2011FI044,T.Takahashi
    2011FI045,H.Kinukawa
    2011FI046,H.Kinukawa
    2011FI047,H.Kinukawa
    2011FI048,H.Kinukawa
    2011FI049,H.Kinukawa
    2011FI050,H.Kinukawa
    2011FI051,H.Kinukawa
    2011FI052,H.Kinukawa
    2011FI053,H.Kinukawa
    2011FI054,H.Kinukawa
    2011FI055,H.Kinukawa
    2011FI056,N.Tetsutani
    2011FI057,N.Tetsutani
    2011FI058,N.Tetsutani
    2011FI059,N.Tetsutani
    2011FI060,N.Tetsutani
    2011FI061,N.Tetsutani
    2011FI062,N.Tetsutani
    2011FI063,N.Tetsutani
    2011FI064,N.Tetsutani
    2011FI065,N.Tetsutani
    2011FI066,N.Tetsutani
    2011FI067,K.Yajima
    2011FI068,K.Yajima
    2011FI069,K.Yajima
    2011FI070,K.Yajima
    2011FI071,K.Yajima
    2011FI072,K.Yajima
    2011FI073,K.Yajima
    2011FI074,K.Yajima
    2011FI075,K.Yajima
    2011FI076,K.Yajima
    2011FI077,K.Yajima
    2011FI078,M.Kawasumu
    2011FI079,M.Kawasumu
    2011FI080,M.Kawasumu
    2011FI081,M.Kawasumu
    2011FI082,M.Kawasumu
    2011FI083,M.Kawasumu
    2011FI084,M.Kawasumu
    2011FI085,M.Kawasumu
    2011FI086,M.Kawasumu
    2011FI087,M.Kawasumu
    2011FI088,M.Kawasumu
    2011FI089,Y.Tobe
    2011FI090,Y.Tobe
    2011FI091,Y.Tobe
    2011FI092,Y.Tobe
    2011FI093,Y.Tobe
    2011FI094,Y.Tobe
    2011FI095,Y.Tobe
    2011FI096,Y.Tobe
    2011FI097,Y.Tobe
    2011FI098,Y.Tobe
    2011FI099,K.Nakajima
    2011FI100,K.Nakajima
    2011FI101,K.Nakajima
    2011FI102,K.Nakajima
    2011FI103,K.Nakajima
    2011FI104,K.Nakajima
    2011FI105,K.Nakajima
    2011FI106,K.Nakajima
    2011FI107,K.Nakajima
    2011FI108,K.Nakajima
    2011FI109,H.Masuda
    2011FI110,H.Masuda
    2011FI111,H.Masuda
    2011FI112,H.Masuda
    2011FI113,H.Masuda
    2011FI114,H.Masuda
    2011FI115,H.Masuda
    2011FI116,H.Masuda
    2011FI117,H.Masuda
    2011FI118,H.Masuda
    2011FI119,T.Saito
    2011FI120,T.Saito
    2011FI121,T.Saito
    2011FI122,T.Saito
    2011FI123,T.Saito
    2011FI602,T.Saito
    2010FI012,N.Osaka
    2010FI013,N.Osaka
    2010FI075,K.Abe
    2010FI087,K.Miyazaki
    2010FI127,H.Masuda
    2010FI132,K.Nakajima
    

    catコマンドで内容を表示させなさい。

    cat list.txt

    自分の学籍番号が含まれる行のみを表示しなさい。(注:このリストでは、機密保持のため学籍番号の書式を変えてある)

    grep 自分の学籍番号 list.txt

    アドバイザの先生が自分と同じ人の一覧を表示させなさい。

    grep 自分のアドバイザ list.txt

    アドバイザの先生が自分以外の人の一覧を表示させなさい。

    grep -v 自分のアドバイザ list.txt

    パイプ処理の練習(教科書p95)

    自分の学籍番号が含まれない行のみを表示しなさい。

    grep -v 自分の学籍番号 list.txt

    このままでは確認が難しいので、パイプ処理でlessに送ります。

    grep -v 自分の学籍番号 list.txt | less

    教科書p92の

    ps -ef

    を実行した結果を確認しなさい。続いて教科書p95の

    ps -ef | less

    の実行結果を考察しなさい。

    エイリアス

    教科書の内容を確認しなさい。

    ジョブ制御

    xeyes

    xeyes &

    の違いを確認しなさい。

    xeyes

    で起動した後、^Zで中断し、fgとbgの違いを確認しなさい。

    kill で xeyes を止めてみなさい。

    ヒストリ機能

    教科書の内容を確認しなさい。

    練習

    以下のようなリダイレクトができるようにする。

    ワイルドカードによるファイルの指定を理解しておく。

    エイリアスの指定方法。

    ジョブ制御について、フォアグラウンドとバックグラウンドの違い、サスペンドしたジョブの再開方法など。

    教科書p101-102の問1〜問5をやっておく。

    復習

    教科書やman、jman等で以下のコマンドの働きについて調べておきなさい。また実際に使って試してみなさい。

    cal
    cd
    chmod
    chown
    cp
    file
    find
    jman
    last
    less
    lha
    logout
    ls
    man
    mkdir
    more
    mv
    passwd
    pwd
    rm
    rmdir
    shutdown
    tail
    tree
    useradd
    userdel
    who
    whoami