ターミナルコマンドとファインダ


  1. 実習の手順
  2. 実習:ファイル操作
  3. 練習1
  4. 実習:フォルダ操作1
  5. 練習2
  6. ファインダ
  7. 第3回課題

1.実習の手順

2.実習:ファイル操作

  1. まずはターミナルに慣れましょう
    まずは,[Enter]キーを何度か押してみてください.
    [XXXX:~] xxxxx%
    [XXXX:~] xxxxx%
    [XXXX:~] xxxxx%
    
    のように,何か左に出てきます.これはプロンプトと言って, コマンドを入力できる状態であることを表しています. (XXXXとxxxxx のところはそれぞれマシン,ログインしているユーザを表すので, 人によって違います.)
    ここにためしに
    [XXXX:~] xxxxx% ls
    
    と入力して[Enter]を押すと,
    [XXXX:~] xxxxx% ls
    Library   Music   Picture
    [XXXX:~] xxxxx%
    
    のようにホームディレクトリ(ファインダーのMacフォルダ)にあるファイルやフォルダの名前が表示されます.
    このように,ターミナルの基本は,
    コマンドを打ち込んで,[Enter]
    
    です.

  2. 自分の名前を英語で書いたテキストファイルを作成してみましょう.
    エディタを利用してもできますが, 短いファイルは以下のようにして リダイレクション > を使って作成すると便利です.
    [XXXX:~] xxxxx% cat > myname   > を忘れないように!
    Taro DENTSU   入力を終えたら[Enter]を押して改行し,
    
    [XXXX:~] xxxxx%             C-d (注: [Control] を押しながら d を押す)してください
    

    ※よくわからないという人は, エディタを使って作成してください.

  3. [ファイルの内容の表示:cat コマンド]
    cat コマンドを使って作成したファイルの内容を確認してみましょう.
    [XXXX:~] xxxxx% cat myname
    Taro DENTSU
    [XXXX:~] xxxxx%
    
  4. [入出力の切替え:リダイレクション]
    2008年4月のカレンダーをファイルにしてみましょう. リダイレクション > を使います.
    [XXXX:~] xxxxx% cal 4 2008   2008年4月のカレンダーを出力するコマンド
         2008年  4月
    日 月 火 水 木 金 土
           1  2  3  4  5
     6  7  8  9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30
    
    
    [XXXX:~] xxxxx% cal 4 2008 > apl2008   カレンダーの内容をファイル apl2008 に出力
    [XXXX:~] xxxxx%
    

    「リダイレクション(redirection)」 とは,コマンドへの情報の入出力を切り替える機能のことです.
    ここでは画面に出力されるコマンド cal 4 2008 の実行結果を, リダイレクション > を使ってファイルに出力しています.
    リダイレクト@Wikipeida  リダイレクトの説明

  5. [ファイルの内容の表示:more コマンド]
    正しくできたか more コマンドを使ってファイルの中身を見てみましょう.
    [XXXX:~] xxxxx% more apl2008
         2008年  4月
    日 月 火 水 木 金 土
           1  2  3  4  5
     6  7  8  9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30
    
    [XXXX:~] xxxxx%
    
  6. [ファイル一覧の表示:ls コマンド]
    どのようなファイルができているか ls コマンドを使って確認してみましょう.
    [XXXX:~] xxxxx% ls
    apl2008  myname
    
    [XXXX:~] xxxxx%
    
  7. [ファイルのコピー:cp コマンド]
    cp コマンドを使って, 作成したファイルのコピーを作ってみましょう.
    lsmore コマンドを使って, 結果を確認してみましょう.
    
    [XXXX:~] xxxxx% cp myname copyname
    [XXXX:~] xxxxx% ls
    apl2008   copyname  myname  copyname というファイルが追加されています
    [XXXX:~] xxxxx% more copyname
    Taro DENTSU  ファイルの内容は myname と同じです
    [XXXX:~] xxxxx%
    
  8. [ファイル名の変更:mv コマンド]
    mv コマンドを使って, ファイルの名前を変更してみましょう.
    lsmore コマンドを使って, 結果を確認してみましょう.
    [XXXX:~] xxxxx% ls
    apl2008   copyname  myname  
    
    [XXXX:~] xxxxx% mv copyname chname
    [XXXX:~] xxxxx% ls
    apl2008  chname   myname  copynamechname になりました
    [XXXX:~] xxxxx% more chname
    Taro DENTSU  ファイルの内容は copyname と同じです
    
    [XXXX:~] xxxxx%
    
  9. [ファイルの消去:rm コマンド]
    rm コマンドを使って, コピーして作成したファイル chname を消去してみましょう.
    ls コマンドを使って, 結果を確認してみましょう.
    [XXXX:~] xxxxx% rm chname
    [XXXX:~] xxxxx% ls
    apl2008  myname  chname が消えています
    [XXXX:~] xxxxx%
    

3.練習1

4.実習:ディレクトリ(フォルダ)操作1

  1. [ディレクトリの作成:mkdir コマンド]
    mkdir コマンドを使って, ディレクトリを作成してみましょう.

    ls コマンドにオプションとして -F を付けて実行し, 結果を確認してみましょう.
    ディレクトリ・ファイルの右側に / が付加されて表示されます.

    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   may2008
    [XXXX:~] xxxxx% mkdir test
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   may2008   test/
      test の右側にディレクトリであることを示す / が付いています
    [XXXX:~] xxxxx%
    
  2. [ディレクトリへのファイルのコピー: cp コマンド]
    cp コマンドを使って, 作成したディレクトリ test にファイル apl2008 をコピーしてみましょう.

    ls コマンドの引数にディレクトリ名を与えて実行すると, ディレクトリ内のファイル一覧を表示します.

    [XXXX:~] xxxxx% cp apl2008 test
    [XXXX:~] xxxxx% ls test  引数にディレクトリ test を指定します
    apl2008  ディレクトリ test の中にファイル apl2008 があることがわかります
    
    [XXXX:~] xxxxx%
    
  3. [ファイルをディレクトリへ移動: mv コマンド]
    指定したディレクトリにファイルを移動するには, mv コマンドを使用します.

    ファイル may2008 をディレクトリ test に移動してみましょう.

    [XXXX:~] xxxxx% mv may2008 test
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   test/  ファイル may2008 がありません
    [XXXX:~] xxxxx% ls test
    apl2008  may2008  test の中に2つのファイルがあります
    
    [XXXX:~] xxxxx%
    
  4. [ディレクトリ名の変更:mv コマンド]
    ディレクトリ名の変更にも mv コマンドを使用します.

    ディレクトリ test の名前を work に変更してみましょう.

    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   test/
    [XXXX:~] xxxxx% mv test work
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   work/  testwork になりました
    [XXXX:~] xxxxx% ls work
    apl2008  may2008  ディレクトリの中のファイルに変化はありません
    
    [XXXX:~] xxxxx%
    
  5. [ディレクトリの消去: rmdir コマンド]
    ディレクトリを消去するには rmdir コマンドを使います.

    再びディレクトリ test を作成して, それを消去してみましょう.

    [XXXX:~] xxxxx% mkdir test  再びディレクトリ test を作成
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   test/     work/
    [XXXX:~] xxxxx% rmdir test  ディレクトリ test を消去
    
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   work/  ディレクトリ test が消えています
    [XXXX:~] xxxxx%
    
    次に,先程ファイルをコピーしたディレクトリ work を消去してみましょう.
    [XXXX:~] xxxxx% rmdir work
    rmdir: ディレクトリ "work": ディレクトリが空ではありません。 エラーメッセージ
    
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   work/  ディレクトリ work はそのままです
    [XXXX:~] xxxxx% ls work
    apl2008  may2008  中のファイルもそのままです
    [XXXX:~] xxxxx%
    

    rmdir コマンドは, 中にファイルが何もないディレクトリだけしか削除できません.

  6. [ディレクトリ内のファイルの消去:rm コマンド]
    rm コマンドを以下のように使って, ディレクトリ work の中にあるファイル apl2008 を消去します.
    
          ↓ディレクトリ名
    [XXXX:~] xxxxx% rm work/apl2008
                ↑ファイル名
    [XXXX:~] xxxxx% ls work
    may2008  work 内の apl2008 が消えています
    [XXXX:~] xxxxx%
    
    

5.練習2

6.実習:ディレクトリ操作2

  1. [カレントディレクトリの表示: pwd コマンド]
    現在,作業を行っているディレクトリを 「カレントディレクトリ」 と呼びます.
    カレントディレクトリの名前を確認するためには, 「作業ディレクトリを表示 (present working directory)」 という意味を持つ pwd コマンドを使用します.
    [XXXX:~] xxxxx% pwd
    /home?/y####/********/mac
    [XXXX:~] xxxxx%
    

    ? の部分は, 0, 1, 2 のいずれかになります. ログイン後に何もしていなければ, #### は入学年度(今年入学した人は 2008), ******** はログイン名になるはずです. このディレクトリは, 管理者から各利用者にあらかじめ割り当てられたディレクトリで, 「ホームディレクトリ」 と呼びます. 利用者は,自分のホームディレクトリの下に自分のファイルやディレクトリを いくつも所有できます. 通常,ログイン後のカレントディレクトリはホームディレクトリとなります.

  2. [カレントディレクトリの移動:cd コマンド]
    カレントディレクトリを移動するには cd コマンドを使用します.
    前の課題で作成したディレクトリ kadai に, カレントディレクトリを移動してみましょう.
    
    [XXXX:~] xxxxx% ls -F
    apl2008   family    first     jun2008   kadai/
    [XXXX:~] xxxxx% cd kadai
    [XXXX:~/kadai] xxxxx% pwd
    /home?/y####/********/mac/kadai  ディレクトリ kadai に移動しました
    [XXXX:~/kadai] xxxxx%
    
  3. 以下のようにカレントディレクトリを移動してみましょう.
    [XXXX:~/kadai] xxxxx% cd /
    
    [XXXX:/] xxxxx% pwd
    /
    [XXXX:/] xxxxx%
    

    このディレクトリは 「ルートディレクトリ」 と呼ばれ,UNIX システムのすべてのディレクトリは, このルートディレクトリを頂点とする 木構造 に含まれます.

  4. 以下のようにカレントディレクトリを移動してみましょう.
    [XXXX:/] xxxxx% cd /home?/y####  
    ?と####は各自のホームディレクトリにあわせること.?は1か2のどちらか,####には各自の入学年
    
    [XXXX:/home?/y####] xxxxx% pwd
    /home?/y####
    [XXXX:/home?/y####] xxxxx%
    

    このように,木構造の一番上のルートディレクトリから 目的のディレクトリに到達するまでに通過するディレクトリを, 左から右に順に並べていくファイルやディレクトリの指定形式を 「絶対パス」 と呼びます.

  5. 以下のようにカレントディレクトリを移動してみましょう.
    [XXXX:/home?/y####] xxxxx% cd ./********  ******** はユーザ名
    
    [XXXX:~] xxxxx% pwd
    /home?/y####/********
    [XXXX:~] xxxxx%
    
    上手く行かない場合,?か####が間違っている可能性が高い. 分からない場合,飛ばして次を読むと分かります.

    ここで,ディレクトリを ./******** と指定しています. .(ドット)」「カレントディレクトリを表す記号(キャラクタ)」 です. したがって, 「カレントディレクトリ(/home?/y####) の下にある ******** ディレクトリへ移動」 という命令になります. 絶対パスで指定するよりも,入力する文字がずいぶん省略されています. このように,カレントディレクトリを出発点として移動先を指定する形式を 「相対パス」 と呼びます. これまでの実習からもわかるように, 「カレントディレクトリから」を表す 「./」は省略できます.

  6. cd コマンドをディレクトリの指定を省略して実行した場合は, 自分のホームディレクトリに移動します. つまり,ファイルシステムのどこにいても, cd コマンドを引数なしで実行すれば ホームディレクトリに帰ることができるのです.
    [XXXX:~] xxxxx% cd /usr/bin
    [XXXX:/use/bin] xxxxx% pwd
    /usr/bin  遠くに来てしまいました
    
    [XXXX:/usr/bin] xxxxx% cd  これだけ
    [XXXX:~] xxxxx% pwd
    /home?/y####/********  ホームディレクトリに帰ってきました
    [XXXX:~] xxxxx%
    
  7. カレントディレクトリを表すキャラクタ . の他に,以下の二つも覚えましょう.
    [XXXX:~] xxxxx% cd /usr/lib
    [XXXX:/usr/lib] xxxxx% pwd
    /usr/lib
    [XXXX:/usr/lib] xxxxx% cd ..
    [XXXX:/usr] xxxxx% pwd
    /usr  1つ上のディレクトリに移動しました
    
    [XXXX:/usr] xxxxx% cd ~
    [XXXX:~] xxxxx% pwd
    /home?/y####/********   ホームディレクトリに移動しました
    [XXXX:~] xxxxx%
    

ファインダとの関係

ここまで行ったら, ファインダで,ホームディレクトリ(macのフォルダ)を見て見ましょう.

ファインダからもファイルとフォルダを見たり操作したりできます.

7.第3回課題

[講義ノートの目次へ]