1. ファイルシステム

課題1-3: cd コマンドのオプションなど

iTerm 上で,以下を行いなさい.

通常課題の課題2-1以降に戻りなさい.それが済んだものは,以下に進みなさい.

2. 基本的なコマンド

課題2-4: ls コマンドのオプション

iTerm 上で,以下を行いなさい.

課題2-5: alias の設定

ターミナルエミュレータで以下を行いなさい.

課題2-6: ディレクトリ作成と削除

iTerm 上で以下を行い,ディレクトリ作成コマンド mkdir とディレクトリ削除コマンド rmdir について学びなさい.

レポート課題 (必修)を行いなさい.それが済んだものは,以下に進みなさい.

レポート課題 (選択)

以下の課題を0個以上選択し,行った結果を印刷して提出しなさい.印刷結果には,必ず氏名と学籍番号を記載すること.なお,レポート課題4〜6は1枚の紙にまとめて印刷しても良い.

  1. 課題1-3で調べたように「cd -」とすると cd コマンドで移動する前のディレクトリに戻ることが出来た.この動作を発展させ,複数のディレクトリの間で容易に移動できるようにするコマンド (正確にはシェルの組み込みコマンド) が pushd, popd, dirs の3つである.

    以下にこれらのコマンドの実行例を示すので,これをヒントに複数のディレクトリを登録する方法,登録されたディレクトリを表示する方法,それらのディレクトリの間を移動する方法,そして,登録したディレクトリを除去する方法を説明しなさい.

    % cd /sbin
    % pushd /bin
    /bin /sbin 
    % pwd
    /bin
    % dirs
    /bin /sbin 
    % pushd /usr
    /usr /bin /sbin 
    % pushd
    /bin /usr /sbin 
    % pushd
    /usr /bin /sbin 
    % pushd +2
    /sbin /usr /bin 
    % popd
    /usr /bin 
    % popd
    /bin 
    % 
    
  2. man -k (又は apropos) を使い,コマンドが存在する場所を探すためのコマンドを見つけなさい.そして,このコマンドを用いてコマンド lprint や lcancel がある場所を絶対パスで示しなさい.

    どのように「コマンドが存在する場所を探すためのコマンド」を見つけたかを示すこと.単に「man -k を使って調べた」といった解答だけでは再提出とする.どのようなキーワードを使って,どのように調べたのかを明示すること.但し,実行結果が冗長になるときは,要点のみを記載すること.

  3. alias を用いて,ディレクトリ /usr 内のファイル名を表示するコマンドlu を定義する方法を示しなさい.但し,下記の例のように,任意のオプションを指定可能であること.

    ヒント: tcsh のマニュアルの内, Alias substitution (エイリアス置換) の項を調べなさい.

    % alias lu <ある引数>
    % lu
    X11R6           include         libexec         sbin
    bin             info            local           share
    epkg            lib             local3          standalone
    % lu -F
    X11R6/          include/        libexec/        sbin/
    bin/            info/           local@          share/
    epkg@           lib/            local3@         standalone/
    % lu -a -F
    ./              X11R6/          include/        libexec/        sbin/
    ../             bin/            info/           local@          share/
    .DS_Store*      epkg@           lib/            local3@         standalone/
    

    以下の例のように,引数が指定できず「No such file or directory」といったエラーが生じたり,

    % lu -F
    ls: -F: No such file or directory
    /usr:
    X11R6           include         libexec         sbin
    bin             info            local           share
    epkg            lib             local3          standalone
    

    以下の例のように,オプションが複数指定できない (以下の例は, -F のオプションが機能していない) 場合は再提出とする.

    % lu -a -F
    .               X11R6           include         libexec         sbin
    ..              bin             info            local           share
    .DS_Store       epkg            lib             local3          standalone
    
  4. iTerm を用い,コマンド「~kimura/mk-l」を実行しなさい.これにより,ホームディレクトリに「-l」 (ハイフン (-) と小文字の L) というファイルが作成される.このファイルを rm コマンドのみを用いて削除する方法を2つ述べなさい.

    rm コマンド以外のコマンドなどを使った回答は不可とする.

    ヒント: 「rm -l」とすると,「-l」の先頭が「-」で始まっているため, rm コマンドは「-l」を削除すべきファイル名ではなく, rm コマンドに対するオプションと解釈し,次のようなエラーメッセージを表示してしまう.これを回避するにはどうすればいいか.

    % rm -l
    rm: illegal option -- l
    usage: rm [-f | -i] [-dPRrvW] file ...
           unlink file