brand new note

ジャズ屋が技術の話をするところ

manの素晴らしさに気づいた話

これを書くことによって,この情報を必要としてる人がいい影響を受けてすぐ変化するかというとそれは違う気もしますが,メモです.

UNIXコマンドを学ぶならmanをちゃんと読んだほうがいいよ,という話です.

なんで

なぜ改まってこんなことを言うのかというと,「読みやすい入門webサイトを差し置いて,なぜ初心者にとっては読みにくいmanを読むことにメリットがあるのか」という話が今回の本来の主旨だからです.

その理由は,「間違いがないから」です.

なんだそんだけかと思うかもしれませんが,読みやすいwebサイトから情報を仕入れて学びを進めている人ほど,公式ドキュメントの「間違いのない情報」を読むことには価値があります.

ここで勘違いしないで頂きたいのは,入門サイトの情報が間違っているということを言いたいのではありません.情報としてはほぼ正しいと思っていただいていいですし,独学にケチをつけたいわけでも,書き手の方をどうこう言うつもりもありません.ただ,「文章の洗練度合いによって,読み手が掴むべき情報を間違った解釈,あるいは間違った順番で解釈してしまう危険性がランダムに発生する」のです.これは有り余るインターネット上の情報から自分にとって見やすいものだけを見ているとどうしても陥りやすい現象です.

例えば

こちらの説明を見てみます.

touchはファイルのタイムスタンプを変更するコマンドだ。

また、存在しないファイル名を指定することで、内容の入っていないファイルを新規作成する機能も持っている。

タイムスタンプには3種類の日時がある。

日時はファイルの内容を書き換えた日時がmtimeと呼ばれる更新日時がある。

更新日時にプラスして、ファイルのアクセス権設定などを変更した日時ctimeがある。

最後にatimeという、所有者がファイルを読み取り以外の操作をした場合に変更となる日時がある。

touchコマンドは、mtimeとctimeを書き換える。

この情報は全て正しいのです.では,この文章に対して脳内で相槌を打ってみたらどうでしょうか.

touchはファイルのタイムスタンプを変更するコマンドだ。

ほう.

タイムスタンプには3種類の日時がある。

ほう.

日時はファイルの内容を書き換えた日時がmtimeと呼ばれる更新日時がある。

ほう.

更新日時にプラスして、ファイルのアクセス権設定などを変更した日時ctimeがある。

ほう.

最後にatimeという、所有者がファイルを読み取り以外の操作をした場合に変更となる日時がある。

ほう.

touchコマンドは、mtimeとctimeを書き換える。

ほう.

お判りでしょうか,読み手が思考を途中から放棄していることが....すごくわかりやすく情報が端的に抜き出されており,なんもわからん状態の読み手にとってこの上ないほどありがたい文章になっています.ゆえにトラップなのです.この伝え方になるともう学習者にとっては暗記ゲーと同じで,学習効率はその学習者の短期記憶のスペックと気合に依存するのです.暗記ゲーで習得しても,使わなければいずれ忘却してしまい,学習の積み上げ効果は薄くなります.これが積もり積もって挫折になる経験を自分自身が何度も経験しています.まあ...勉強の仕方を理解する為にはその経験も必要だったんですが,いかんせん無駄が多すぎました....

じゃあどうすんの...

これを踏まえて.man touch(1)を上から順に眺めてみます.

f:id:frazz:20200609000452p:plain

touch - ファイルのタイムスタンプを変更する

ん???これしか書かれてないの…?まあこれが一番上に来るってことは一番大事な挙動はこれなんだろうな(タイムスタンプってなんだ).

touch [OPTION]..[FILE]...

ん???まあコマンドを最初に書いて,次にオプションを書いて(オプションってなんだ),ファイルを書くのか(ファイルって自分であるやつを指定する感じだよな).この書式ってのは他のコマンドでもだいたい共通な気がする.

各FILEのアクセス日時と更新日時を現在時刻に更新します.

ん???あ,この日時って一番上で言ってたタイムスタンプのことっぽいな.しかもなんか2個あるな.それぞれの日時に更新する方法とそれを確認する方法がほしいから,少なくとも手を動かして確かめるために4通りくらい実行パターンあるなたぶん.

引数FILEが存在しない場合...(中略)...からファイルが作成されます.

ん???あ,ファイルがないってことは時刻情報もなにもそもそも情報を付与する対象がないから,1から作るってことなのか.


お判りでしょうか,わからないなりに読み手の思考が連鎖していることが.これがmanおよびあらゆる公式ドキュメントの強さです.上から読めば一番大切な本質情報から順に理解でき,わからないことはそのあとから解決できるように文章構成がされているのです.これは良いドキュメントですね!!!ぼくはこれを真の学習と呼ぶのだと腹落ちして深く感動しました.

え?しませんか??

公式DOCを読もう

最初はね,ぼくも皆さんが築き上げた読みやすい記事をひたすら読んでいたのです.しかし学習は積みあがらず,なぜか実力は伸び悩んでいました.

Terraform

インフラストラクチャをコードとして使用して、クラウド、インフラストラクチャ、またはサービスをプロビジョニングおよび管理する

こんなトップページの売り文句もなんだかぱっとわからなくて, すごく苛立ちを感じていたのですが,今となってはこの文章が最も大事な本質情報であるとわかります.この大切さに気付けると一歩進めますよ.というお話でした.