演習02
問1. viコマンドを利用して「aaabbbccc」を入力した「test.txt」ファイルを作成して下さい。
問2. viコマンドを利用して「test.txt」ファイルを下記のように修正して下さい。このときコマンドモードにて修正すること。
変更前
aaabbbccc
変更後
aaabbbccc
aaabbbccc
aaabbbccc
aaabbbccc
問3. viコマンドを利用して「test.txt」ファイルを下記のように修正して下さい。このときコマンドモードにて修正すること。
変更前
aaabbbccc
aaabbbccc
aaabbbccc
aaabbbccc
変更後
aaabbbccc
aaabbbccc
問4.
viコマンドで「test.txt」ファイルを開いた際に行番号を表示して下さい。
また一つ前の問題と同じ修正を行い保存せずに終了して下さい。
問5. viコマンドを利用して「test.txt」ファイルの中身の「ccc」を検索してみて下さい。
問6.
viコマンドを利用して「test.txt」ファイルを下記のように修正して下さい。このときコマンドモードにて修正すること。
変更前
aaabbbccc
aaabbbccc
変更後
aaa ccc
aaa ccc
問7. /etc
ディレクトリ上にあるファイルやディレクトリの一覧を表示してみましょう。
問8. ディレクトリ /etc
には、多くのファイルやディレクトリが存在していることがわかります。
この中から目的のファイルを探すのは大変そうです。
そこでファイルを絞り込んでリスト表示してみましょう。
ls
コマンドの結果から絞り込む場合、*(ワイルドカード)を使うことができます。
例えば、/etc
ディレクトリ内の conf
ファイルを絞り込んで表示するには、以下のように指定することができます。
$ cd /etc
$ ls *.conf
*は任意の文字列を示しており、この間に何文字が入っても検索結果として出力されます。
そのた め、上記のように多くの conf で終わるファイルがリスト表示されたはずです。
それでは host
のあとに何らかの名前のつくファイルを絞り込みましょう。
問9. ファイル名の文字数がわかっている場合は ?
を使って絞り込むこともできます。
$ cd /etc
$ ls ???.conf
?
は一個につき何らかの一文字を示します。
そのため、ファイル名部分が 3 文字の conf
が検索結 果として出力されます。
それでは host
のあとに 4 文字含まれるファイルを絞り込みましょう。
問10. host
のあとに 3 文字 + 最後の文字が e
であるファイルを絞り込みましょう。
問11. find
というコマンドを使って /etc
の中にある hosts
という名前のファイルを検索してください。
問12. find
というコマンドを使って /etc
の中にある host
がファイル名に含まれているファイルを検索してください。
問13. 下記の内容のファイルを today
というファイル名で作成してください。
#!/bin/sh
echo "今の時間は `date` です"
問14. 作成した today
というファイルに Owner の実行権限を付けてください。
問15. today
ファイルを実行してください。
今の時間は 2016年 4月11日 月曜日 21時27分17秒 JST です
このような表示になれば成功です。
問16. today
のあるディレクトリを環境変数 $PATH
に追加してください。
下記コマンドが実行できれば成功です。
$ today
今の時間は 2016年 4月11日 月曜日 21時27分17秒 JST です
問17. grep
コマンドでは簡単な正規表現を使う事ができます。
記号 | 意味 |
---|---|
^ | 行頭を表す |
$ | 行末を表す |
. | 任意の一字を意味する |
* | 直前文字の 0 回以上の繰り返しを意味する |
[...] | .. の中の任意の一字を意味する |
... | .. の文字が含まれないことを意味する。 |
\ | 正規表現の記号をエスケープする。 |
利用例
記号 | 意味 |
---|---|
^a | a で始まっている行 |
b$ | b で終わっている行 |
a.b | a と b の間に 1 文字入っている |
[ab]ab | a もしくは b に続く ab(aab,bab) |
abab | a もしくは b で始まらない (not) で、ab が続くもの (例: xab, zab 等) |
grep
コマンドを使用して /etc
ディレクトリの中にある host
で始まるファイルを出力してください。
問18. /usr/bin
のディレクトリの中にある d
で終わるファイルを出力してください。
問19. touch
コマンドを使って test
という名前のファイルを作ってください。
問20. touch
コマンドの本来の利用目的はファイルのタイムスタンプを変更するコマンドです。
作成した test
ファイルのタイムスタンプを 2000年1月1日の0時0分0秒
に変更してください。
問21. tail コマンドは -f オプションを付けるとリアルタイムでファイルの中を標準出力へ出力し続ける事ができます。 -f オプションを使って test ファイルの中を標準出力へ出力し続けてください。
問22. アクティビティ → 端末 → 右クリック → 新しいウィンドウで開く をクリックしてもう一つ起動してアクセスしてください。 先ほど作成した test ファイルに echo で名前を書き込んでください。 その際ファイルには上書きではなく追記とします。
問23. tail コマンドを実行した端末をチェックして test に書き込んだ内容が表示されている事を確認してください。
問24. 標準入力やファイルの中身などを順序よく並べるためには sort
コマンドが使用できます。
下記のファイルを datafile
という名前で作成してください。
yoshinori kawazu 85
keiichi oka 70
toru minemura 100
sort
コマンドを使って datafile
の中の順序をアルファベット順に並べかえてください。
問25. sort
のオプション -k
を利用して2つめの項目 kawazu
oka
minemura
を対象にアルファベット順に並べかえてください。
問26. 問25 の結果を逆にしてください。
問27. sort
のオプション -k
を利用して3つめの項目を対象に数字順に並べかえてください