課題(シェルとコマンド)†
echo Hello! > hello.txt
- echo の意味は何か?
- コマンド引数を画面(標準出力)に、そのまま表示(出力)する。
- > の意味は何か?
- 標準出力(画面出力)を、代わりにファイルに書き込む。
- hello.txt とは何か?
- この操作の意味は何か?
- hello.txtの内容を「Hello!」にする。
date > date.txt
- date の意味は何か?
- この操作の意味は何か?
cat hello.txt date.txt
- cat の意味は何か?
- コマンド引数のファイルの内容を続けて画面に表示する。
- この操作の意味は何か?
- hello.txtとdate.txtの内容を続けて画面に表示する。
ps -aux | more
- ps の意味は何か?
- そのオプション a, u, x のそれぞれの意味は何か?
- a: 自分の所有するプロセス以外も表示。
- u: ユーザごとに詳しく表示。
- x: 制御端末を持たないプロセスも表示。
- | の意味は何か?
- 標準出力(画面出力)を、代わりに次のプロセスの標準入力にする。
- more の意味は何か?
- この操作の意味は何か?
ps -aux | grep root >> date.txt
- grep の意味は何か?
- 標準入力から文字列を検索し、その含まれる行だけを表示する。
- root の意味は何か?
- >> の意味は何か?
- 標準出力(画面出力)を、代わりにファイルの最後に追記する。
- この操作の意味は何か?
- 全プロセスの詳しい一覧から、rootの所有するプロセスの行を探して、date.txtに追記する。
find /etc -name "*tab" -print
- find の意味は何か?
- 指定されたディレクトリから、条件を満たすファイルを検索する。
- /etc とは何か?
- オプション -name の意味は何か?
- "*tab" とはどういう意味か?
- この操作の意味は何か?
- ディレクトリ/etcから、ファイル名の最後がtabで終わるファイルを検索し、画面に表示する。
sort -t: -k2 -n /etc/passwd | head -10
- sort の意味は何か?
- 引数で与えられたファイルの行を、指定の通り並べ替えて表示する。
- オプション -t, -k, -n の意味はそれぞれ何か?
- t: 欄の区切り文字の指定。
- k: 欄の番号(左から何番目か)。
- n: 数字として並べ替え。
- /etc/passwd とは何か?
- head の意味は何か?
- オプション -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回レポート(シェル)†
【問1】 以下のような操作を実現するシェルコマンドを示しなさい。
- ホームディレクトリの下に、「jikken」というディレクトリを作成するシェルコマンド。
cd
mkdir jikken
- たとえば以下のような解答でもよい。
mkdir ~/jikken
- 「himitsu.txt」というファイルを、誰からも読めなくするシェルコマンド。
chmod 000 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
- コマンドプロンプト