Lesson 3 ファイルを操作する

ファイル操作の基本的コマンド、オプションの使い方を理解します。
例によって、ドックからターミナルを起動してください。

STEP1 ファイル操作

以下のコマンドの意味と使い方を理解しましょう。
コマンド 名
用途
使い方
cat
ファイル の中身を表示する cat  ファイル名
cp
ファイル をコピーする cp コピー元のファイル名  コピー先のファイル名
ls
存在する ファイルのリストを表示する
rm
ファイル を削除する rm 削除するファイル名
touch
空のファ イルを作製する。
>
  (リダ イレクション)端末画面への
出力先をファイルなどに切り替える
コ マンド > ファイル名
date
今日の日 付を表示する。

練習

$ ls                                    (ファイルの一覧表示)
                                         ........何も表示されない。最初はファイルがない状態
$ date
金 10 27 11:58:33 JST 2006    .......画面に出力される
$ date > aaa                       (dateコマンドの出力をaaaというファイルに格納する)
$ ls
aaa                          .......aaaというファイルが作成されている
$ cat aaa                        (aaaというファイルの中身を画面に表示する)
金 10 27 11:58:45 JST 2006
$ cp aaa aaa1                  (ファ イルaaa を ファイルaaa1に複写する)
$ ls                   
aaa   aaa1                                .......aaa1というファイルが一覧に加わった
$ cat aaa1                     (aaa1というファイルの中身を画面に表示する)
金 10 27 11:58:45 JST 2006
$ cp aaa1 aaa2               (ファイルaaa1 を ファイルaaa2に複写する)
$ ls                   
aaa   aaa1   aaa2                 .......aaa2というファイルが一覧に加わった
$ rm aaa2                      (ファイルaaa2を消去する)
$ ls                   
aaa   aaa1                         .......aaa2というファイルが一覧から消えた。

STEP 2 オプションの理解

ls -l         (ファイルの属性も表示)
ls -a                   ( . で始まる隠しファイルも表示)
ls -la (-alでも同じ)   (隠しファイルもふくめたファイルの属性まで表示する
man コマンド名
man ls
$ ls -al
total 6
drwxr-xr-x    2 honda  isstaff   512 10 27 12:12 .
drwxr-xr-x   38 honda  isstaff  1536 10 27 11:59 ..
-rw-r--r--    1 honda  isstaff    28 10 27 12:12 aaa
-rw-r--r--    1 honda  isstaff    28 10 27 12:12 aaa1
1:保護モード
2:リンク数、
3:所有者のユーザーID 
4:グループ 
5:ファイルサイズ〔バイト〕 
6−7作成日時 
8:ファイル名

Lesson 4 ディレクトリを理解する

ここでは、ディレクトリとパスを理解します。
今後の授業ではこれまに学習したコマンドも繰り返し使用していきます。
わからなくなったら教科書の前のレッスンや巻末付録1のコマンド集を調べましょう。

このレッスンのポイント

  • ディレクトリとは
  • ディレクトリに関するコマンド
    • rmdir, ls, cp, mv
  • 引数のタイプによる動作の違い
    • cp ファイル名 デイレクトリ名
    • cp ファイル名 ファイル名
  • パス名とは ディレクトリ名/ファイル名
    • 例 ディレクトリ d1 にある aaa というファイル
    •           d1/aaa
    • コマンドの引数でファイル名となっていたものはパス名で置き換え可能
  • ディレクトリ丸ごと cp, rm するには -rオプションをつける。

4.1  ディレクトリの操作

ディレクトリとは、ファイルをまとめて入れることのできる フォルダ(ファイルボックス)のようなものでです。ファイルの1種でもあります。
ディレクトリの中には、ファイルだけでなく、別の ディレクトリをいれることもできます。
ディレクトリに関するコマンドをまとめます。
コ マンド       
用 途
使 い方
mkdir  
ディレク トリを作成 mkdir ディレクトリ名
ls
ディレク トリにあるファイル名を一覧表示 ls ディレクトリ名
cp
ディレク トリの中にファイルをコピーする(元のファイルは残る) cp ファイル名 ディレクトリ名
mv
指定した ディレクトリの中へファイルを移動する(元のファイルは残らない) mv ファイル名1 ディレクトリ

4.1.1 ディレクトリを作る

以降、冒頭の$ は入力促進文字(コマンドプロンプト)を表すものとします。入力の必要はありません。
太字が入力するコマンドです。(教科書の例とほぼ同じです)

教科書にそって、このセクションの1-4の例題を行ってみましょう。

なお、教科書の例題は順番に行うことを前提として作成されていますので順番を守ってください。
途中でおかしくなったら、TAもしくは教官に質問し てくださ い。
$ date > aaa
$ ls
aaa
$ mkdir d1   (ディレクトリd1を作成)
$ ls
aaa    d1
$ mkdir d2   (ディレクトリd2を作成)
$ ls
aaa    d1    d2
$ ls -al
drwxr-xr-x   4 honda  staff   136 10 31 13:40 .
drwxr-xr-x+ 35 honda  staff  1190 10 31 13:39 ..
drwxr-xr-x   3 honda  staff   102 10 31 13:39 d1
drwxr-xr-x   3 honda  staff   102 10 31 13:40 d2


4.1.2 ディレクトリにファイルをコピーする

$ cp aaa d1    (ファイルaaaをディレクトリd1にコピー)
$ ls d1
aaa

4.1.3 ディレクトリにあるファイル名を一覧表示する

$ ls
aaa    d1    d2

4.1.4 ディレクトリにファイルを移動する

$ mv aaa d2
$ ls
d1    d2               (aaaが消えた)
$ ls d2      
aaa         (aaaは d2のなかにある)

4.2  ディレクトリにあるファイルを指定する

ディレクトリの中にあるファイルは下記のように指定します。このようなファイルの在処を示す表記パス名と いいます。
   
パス名 : ディレクトリ名/ファイル名

 例 ディレクトリ d1 にある aaa というファイル
          d1/aaa

4.2.1.ディレクトリにあるファイルの指定

STEP1で説明したコマンドの引数のファイル名という部分をパス名としておきかえると、ディレクトリ内のファイルの操作を行うことができます。
      
    cat パス名
  cp パス名1 パス名2
    rm パス名

4.2.2.ディレクトリの中にディレクトリを作成

$ mkdir d1/d11
$ ls d1
aaa    d11

4.2.3.ディレクトリの中にファイルを作成

     例 date > パス名

$ date > d1/d11/ccc
$ cat d1/d11/ccc
2011年 11月 1日 火曜日 11時00分00秒 JST

4.2.4. ディレクトリごと操作する

$ cp -r d1 d3
$ ls d1
aaa    d11
$ ls d3
aaa    d11

注意: 

課題

下記の問題の答えを、コマンドと実行結果も含めた解答として作成し、 e-mailで
honda@is.kochi-u.ac.jpに送ってください。いつものように問題文をコピーした後に
答えを記入してください。
サブジェクト:"lesson3-4 kadai”
締め切り:10/22 (木) 17:00
     

1.以下の操作を実行し、コマンドと実行結果、ならびに各項目で要求されている内容を答えてください。(lesson3相当)(各5点)
  (1) ファイルの一覧(名前のみ)を表示する
    (2) かくしファイルを含んだファイルの一覧(名前のみ)を表示する
    (3) かくしファイルを含めたファイルの一覧を属性付きで表示する。
    (4) ファイルa31を新規に作成する。この中には現在の日時が入っている物とする(1行のコマンドであること、ヒント、リダイレクション)
    (5) a31をa32というファイルにコピーする。
    (6) a32の内容を画面に表示する。
    (7) a31と a32のファイル情報 は、 作成日時と名前以外同じであることを確認する。
    (8) a31 とa32を削除する。
    (9) 2015年のカレンダー(1年分)をcal2015.txtというファイルに保存する
    (10) (9)で作ったファイルのサイズを確認して答える。

2. 以下の操作を実行し、コマンドと実行結果、ならびに各項目で要求されている内容を答えてください。なお、dで始まるのはディレクトリ名、aではじまるのはファイル名とします。(lesson4相当)(各5点)
  1. ディレクトリ d4 を作る
  2. dateコマンドの出力を d4 の中のファイル a41 として作成する。
  3. a41 を、d4 の中に a42 という名前でコピーする
  4. d4 の中にディレクトリ d41 を作る
  5. d4にあるファイル、ディレクトリの一覧を表示する
  6. a42 を d41 に移動する
  7. d41 を d4 の中に d42 という名前で丸ごとコピーする
  8. d4をd5, d6に丸ごとコピーする。
  9. d6 をまるごと削除する
  10. 現在のディレクトリd4に入っているファイル、ディレクトリの状況を以下のように記述せよ。ただしディレクトリの名前の先頭には@を付けるものとする。
        @d1 ---------@d11 -----------a11        
                                            |                  |
                                            --aaa            ----a12