** 課題(シェルとコマンド) [#c49409a9]

 echo Hello! > hello.txt
++ echo の意味は何か?
--- コマンド引数を画面(標準出力)に、そのまま表示(出力)する。
++ > の意味は何か?
--- 標準出力(画面出力)を、代わりにファイルに書き込む。
++ hello.txt とは何か?
--- 書き込む先のファイル名。
++ この操作の意味は何か?
--- hello.txtの内容を「Hello!」にする。

 date > date.txt
++ date の意味は何か?
--- 現在時刻を画面に表示する。
++ この操作の意味は何か?
--- 現在時刻をdate.txtに書き込む。

 cat hello.txt date.txt
++ cat の意味は何か?
--- コマンド引数のファイルの内容を続けて画面に表示する。
++ この操作の意味は何か?
--- hello.txtとdate.txtの内容を続けて画面に表示する。

 ps -aux | more
++ ps の意味は何か?
--- 現在実行中のプロセスの一覧を表示する。
++ そのオプション a, u, x のそれぞれの意味は何か?
--- a: 自分の所有するプロセス以外も表示。
--- u: ユーザごとに詳しく表示。
--- x: 制御端末を持たないプロセスも表示。
++ | の意味は何か?
--- 標準出力(画面出力)を、代わりに次のプロセスの標準入力にする。
++ more の意味は何か?
--- 標準入力の内容を、1画面ずつ表示する。
++ この操作の意味は何か?
--- 全プロセスの詳しい一覧を、1画面ずつ表示する。

 ps -aux | grep root >> date.txt
++ grep の意味は何か?
--- 標準入力から文字列を検索し、その含まれる行だけを表示する。
++ root の意味は何か?
--- スーパーユーザ(管理者)のログイン名。
++ >> の意味は何か?
--- 標準出力(画面出力)を、代わりにファイルの最後に追記する。
++ この操作の意味は何か?
--- 全プロセスの詳しい一覧から、rootの所有するプロセスの行を探して、date.txtに追記する。

 find /etc -name "*tab" -print
++ find の意味は何か?
--- 指定されたディレクトリから、条件を満たすファイルを検索する。
++ /etc とは何か?
--- 検索するディレクトリ。
++ オプション -name の意味は何か?
--- 次に指定された名前のファイルを検索する。
++ "*tab" とはどういう意味か?
--- 「ファイル名最後がtabで終わる」
++ この操作の意味は何か?
--- ディレクトリ/etcから、ファイル名の最後がtabで終わるファイルを検索し、画面に表示する。

 sort -t: -k2 -n /etc/passwd | head -10
++ sort の意味は何か?
--- 引数で与えられたファイルの行を、指定の通り並べ替えて表示する。
++ オプション -t, -k, -n の意味はそれぞれ何か?
--- t: 欄の区切り文字の指定。
--- k: 欄の番号(左から何番目か)。
--- n: 数字として並べ替え。
++ /etc/passwd とは何か?
--- パスワードファイル。全ユーザの情報が載っている。
++ head の意味は何か?
--- ファイルの先頭部分だけ表示する。
++ オプション -10 の意味は何か?
--- 先頭から10行。
++ この操作の意味は何か?
--- パスワードファイルを2番目の欄(ユーザID)の順番で並べ替え、最初の10人分を表示する。

 cat *.txt > goodbye.txt
++ cat の意味は何か?
--- 引数のファイルを連続して表示する。
++ *.txt とはどういう意味か?
--- ファイル名の最後が.txtで終わるファイルすべて。
++ この操作の意味は何か?
--- ファイル名の最後が.txtで終わるファイルをすべて連結して、goodbye.txtに書き込む。

 ln -s goodbye.txt seeyou.txt
 cat seeyou.txt
++ ln の意味は何か?
--- ファイルのリンク(別名)を作る。
++ オプション -s の意味は何か?
--- シンボリックリンク(リンク先がリンク元を参照するリンク)。
++ この操作の意味は何か?
--- goodbye.txtというファイルの別名として、seeyou.txtというシンボリックリンクを作る。その後、seeyou.txtを表示させてgoodbye.txtと同じことを確認している。

 chmod 000 goodbye.txt
 cat goodbye.txt
 cat seeyou.txt
++ chmod の意味は何か?
--- ファイルのアクセス権を設定する。
++ 000の意味は何か?
--- アクセス権(ファイルに対する操作の許可)の種類は、読み込み、書き込み、実行がある。ここでは「000」で、ユーザにすべての許可なし、グループにすべての許可なし、その他全ユーザにもすべての許可なし、と設定している。
++ この操作の意味は何か?
--- goodbye.txtというファイルを誰からも読み込みも書き込みも実行もできなくして、catコマンドで実際に読めないことを確認している。さらに、別名であるseeyou.txtでアクセスすることもできないことを確認している。

** 第2回レポート(シェル) [#v503dff0]

【問1】 以下のような操作を実現するシェルコマンドを示しなさい。

+ ホームディレクトリの下に、「jikken」というディレクトリを作成するシェルコマンド。
 cd
 mkdir jikken
-- たとえば以下のような解答でもよい。
 mkdir ~/jikken
+ 「himitsu.txt」というファイルを、誰からも読めなくするシェルコマンド。
 chmod 000 himitsu.txt
-- たとえば以下のような解答でもよい。
 chmod a-r himitsu.txt
 dhmod 333 himitsu.txt
+ 現在コンピュータで動いているプロセスの一覧を、ユーザ名の順番で並べ替えるシェルコマンド。1画面ごとに表示させるのが好ましい。
 ps -aux | sort | more
+ ディレクトリ「/usr/man」とそのサブディレクトリの中から、「g」で始まるファイルをすべて探し出して列挙するシェルコマンド。数が多い場合には、1画面ごとに表示させるのが好ましい。
 find /usr/man -name "g*" -print | more
+ コマンド「du」を用いると、指定したディレクトリとそのサブディレクトリのディスクの使用量が分かる。「du」の出力を大きい順に並べ替えるシェルコマンドを示しなさい。これも、1画面ごとに表示させるのが好ましい。
 du ディレクトリ名 | sort -nr | more

【問2】 次回にまわしたが、希望者はやってもいい。(第3回レポート【問1】)

【問3】 以下の言葉をすべて使って、シェルについて簡潔に説明する文章を作成しなさい。その際、用語集のような箇条書きではなくて、教科書のようにつながった文章で書くようになさい。

- シェル
- ボーンシェル
- csh
- ksh
- bash
- UNIX
- BSD
- GNU
- シェルスクリプト
- cmd.exe
- Windows
- コマンドプロンプト



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS