アルゴリズムとデータ構造

  2011.10.14(WEB用)
今日の内容
• パスについてもう少し詳しく
  (絶対パス、相対パス)

• Cygwinの基本コマンドその4

• Meadowでプログラムを書いてみる
パスの表現
                       /cygdrive/c


                            *
                           home      ←   *はカレントディレクトリ
                                         つまり現在居るディレクトリを示す

                       algo2011


          Oct        Nov          Dec        Jan



 7   14         21    28


前回の授業で上のようなディレクトリ構造を作成しました。
パスの表現
                       /cygdrive/c


                            *
                           home


                       algo2011


          Oct        Nov          Dec   Jan



 7   14         21    28


例えば、今日の日付のディレクトリに移動したい場合は…
パスの表現
                          /cygdrive/c


                               *
                              home


                          algo2011


             Oct        Nov          Dec   Jan



   7    14         21    28


~/02:01:10> cd /cygdrive/c/home/algo2011/Oct/7
パスの表現
                          /cygdrive/c


                               *
                              home


                          algo2011


             Oct        Nov          Dec   Jan



   7    14         21    28
                                     ↓ とっても長々しい!
~/02:01:10> cd /cygdrive/c/home/algo2011/Oct/7
パスの表現
                          /cygdrive/c

                                           カレントディレクトリを
                               *
                              home         起点とすれば短い
                                           パスで記述が出来る
                          algo2011


             Oct        Nov          Dec      Jan



   7    14         21    28
                        ↓ homeディレクトリ以下のパスのみ記述
~/02:01:10> cd algo2011/Oct/7
絶対パスと相対パス
ルートディレクトリ(/cygdrive/c) から                      /cygdrive/c
対象ディレクトリまでの全ディレクトリを
用いて表現したパスを 絶対パス と呼ぶ                                *
                                                 home

> cd /cygdrive/c/home/algo2011/Oct/7
                                                algo2011


                                 Oct



                          7   = /cygdrive/c/home/algo2011/Oct/7
絶対パスと相対パス

カレントディレクトリを基準として、対象ディレ
クトリを表したものを 相対パス と呼ぶ                             *
                                              home

> cd algo2011/Oct/7
                                             algo2011


                             Oct



                      7   = algo2011/Oct/7
絶対パスと相対パス


ポイント:
相対パスはカレントディレクトリの位置に                home
よって変わるが、絶対パスはどの位置に
                                      *
居ても変わらない                          algo2011


                   Oct


                = /cygdrive/c/home/algo2011/Oct/7
            7
                = Oct/7
特殊なディレクトリのパス
表記の仕方           意味

        ルートディレクトリを表す
  /     (= /cygdrive/c)
        ホームディレクトリを表す
 ~/     (= /cygdrive/c/home)
        カレントディレクトリを表す
 ./     (=現在居るディレクトリ)
        親ディレクトリを表す
 ../    (ひとつ上の階層のディレクトリ)
特殊なディレクトリのパス
表記の仕方           意味

        ルートディレクトリを表す
  /     (= /cygdrive/c)
                               絶
                               対
        ホームディレクトリを表す           パ
 ~/     (= /cygdrive/c/home)
                               ス

        カレントディレクトリを表す
 ./     (=現在居るディレクトリ)
        親ディレクトリを表す
 ../    (ひとつ上の階層のディレクトリ)
特殊なディレクトリのパス
表記の仕方           意味

        ルートディレクトリを表す
  /     (= /cygdrive/c)
        ホームディレクトリを表す
 ~/     (= /cygdrive/c/home)
        カレントディレクトリを表す
 ./     (=現在居るディレクトリ)
                               相
                               対
        親ディレクトリを表す             パ
 ../    (ひとつ上の階層のディレクトリ)
                               ス
問題1
以下の状態のとき、「7」         C:¥ or D:¥

ディレクトリの絶対パスと
相対パスを表現しなさい            home


                     algo2011



    Oct
          *    Nov                Dec   Jan



7   14    21
問題1:答え
以下の状態のとき、「7」           C:¥ or D:¥

ディレクトリの絶対パスと
相対パスを表現しなさい              home


                       algo2011



    Oct
          *      Nov                Dec        Jan



7   14    21   絶対パス -> /cygdrive/c/home/algo2011/Oct/7
               相対パス -> 7
問題2
以下の状態のとき、「Nov」       C:¥ or D:¥

ディレクトリの絶対パスと
相対パスを表現しなさい            home


                     algo2011



    Oct
          *    Nov                Dec   Jan



7   14    21
問題2:答え
以下の状態のとき、「Nov」         C:¥ or D:¥

ディレクトリの絶対パスと
相対パスを表現しなさい              home


                       algo2011



    Oct
          *      Nov                Dec        Jan



7   14    21   絶対パス -> /cygdrive/c/home/algo2011/Nov/
               相対パス -> ../Nov/
問題3
以下の状態のとき、「Jan」         C:¥ or D:¥

ディレクトリの絶対パスと
相対パスを表現しなさい              home


                       algo2011



      Oct        Nov                Dec   Jan



7
  *   14    21
問題3:答え
以下の状態のとき、「Jan」           C:¥ or D:¥

ディレクトリの絶対パスと
相対パスを表現しなさい                home


                         algo2011



      Oct          Nov                Dec         Jan



7
  *   14    21   絶対パス -> /cygdrive/c/home/algo2010/Jan/
                 相対パス -> ../../Jan/
Cygwin基本コマンド 4
mv: ファイルやディレクトリの名称変更/移動
  ~/02:01:10> mv abc xyz    ← abc を xyz に名称変更

  ~/02:01:10> mv abc xyz/   ← abc を xyz の中に移動
                違いに注意!


移動先である “xyz” はディレクトリでなければならない。
mvコマンド:名前変更
                     *
                   home



                   abc


     abc ディレクトリの名称を xyz に変更したいとき


~/02:01:10> mv abc xyz
mvコマンド:名前変更
                      *
                   home



                    xyz




~/02:01:10> mv abc xyz
`abc’ -> `xyz’ ← 出力
mvコマンド:場所移動
                       *
                     home



               abc          xyz



 abc ディレクトリを xyz ディレクトリの中に移動したいとき


~/02:01:10> mv abc xyz/
mvコマンド:場所移動
                        *
                      home



                abc          xyz



                             abc

~/02:01:10> mv abc xyz/
`abc’ -> `xyz’/abc’ ← 出力

More Related Content

PDF
20170401 alias
PDF
2011年10月7日
PDF
2012年1月13日
PDF
2011年12月16日
PDF
2012年1月20日
PDF
2011年12月9日
PDF
2011年12月2日
PDF
2011年11月25日
20170401 alias
2011年10月7日
2012年1月13日
2011年12月16日
2012年1月20日
2011年12月9日
2011年12月2日
2011年11月25日
Ad

2011年10月14日