Personal tools
You are here: Home メンバー 菊地時夫 授業 専門情報処理演習(2009) 便利なコマンド
Document Actions

便利なコマンド

by 菊地時夫 last modified 2009-05-29 09:45

STEP 1

  • 正規表現を理解する。
  • 実は、正規表現と言うよりは「ファイル名置換」です。
  • 正しい「正規表現」は別に学びます。

ワイルドカード (Glob)

  • * (アスタリスク) は 0 個以上の任意の文字に置き換えられます。
  • ? (クエスチョンマーク) は 1個の任意の文字に置き換えられます。
  • [] 鍵括弧内の任意の1文字に置き換えられます。
  • 他にもいろいろの置き換えがあります。詳しくは

特殊文字のエスケープ

  • echo * とすると、ファイル名置換が行われます。
  • 置換が行われないようにするには、以下のようにします
    • echo '*'
      echo "*"
      echo \*
  • 教科書にはシェル変数を示す $ をエスケープする例も出ています。

STEP 2

  • 便利なコマンド

find

  • ファイルを名前や属性で探します
  • glob など特殊文字をエスケープする必要があります。
  • -print を省略することができます。
  • $ find . -name q\*
  • 他にも、「X日以上前に作成したファイル」などの条件で探すこともできます。

grep

  • Global Regular Expression Pattern (大域正規表現パターン) の略
  • 実は、grep 文字列 探すファイル ではなく、 grep 正規表現パターン 探すファイル なのですが、詳しくは、man grep を読んでください。
  • 教科書ではファイルを探す使い方が書いてありますが、ファイルから必要な行を取り出す用途にも使えます。
  • $ grep root /etc/passwd

more (less)

  • 次のふたつのコマンド実行を比べてください。
  • $ cat /etc/services
    $ more /etc/services
    

man

  • オンラインマニュアルを読む
  • $ man man

&& ||

  • コマンドを連続して使うには、この他に | (パイプ) を使う方法を習っています。また、 ; を使うと、無条件でコマンドを連続実行します。
  • $ ls qq ; echo "Hello"
    qq
    Hello
    $ ls qqq ; echo "Hello"
    ls: qqq: No such file or directory
    Hello
    

バックグラウンドでの実行

  • 次のコマンドを実行してみてください。
  • $ ( sleep 10 ; echo "Hello" ) &

コマンドを強制終了する

  • ps でプロセス番号を調べ、kill でその番号のプロセス(コマンド)を終了させます。
  • X ウィンドウを起動して、次の例を試してみてください。
  • $ xclock -update 1 &
    [1] 595
    $ ps
      PID  TT  STAT      TIME COMMAND
      528  p1  S+     0:00.07 -bash
      579  p2  Ss     0:00.05 bash
      595  p2  S      0:00.14 xclock -update 1
    $ kill 595
    $ 
    
  • kill で終了しない場合には、kill -KILL プロセス番号を使う。
    • 教科書のように番号(-9)で指定しないこと

章末問題(再掲)

  1. ホームディレクトリで以下の操作を実行してください。
    1. ファイル名が q で始まるファイル名を一覧表示してください。
    2. ファイル名が q で始まり、2文字目が数字で、ファイル名が2文字であるファイル名を 一覧表示してください。
    3. ファイル名の2文字目が数字でファイル名が2文字以上であるファイル名を一覧表示 してください。
    4. ファイル名が3文字であるファイル名を一覧表示してください。
    5. ファイル名が q で始まるファイルをすべて削除してください。
  2. Skip
  3. Skip

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: