近況報告
勉強ってなんのためにするの?って聞かれたら,どう答えるべきなのかって,教師を目指していた時に考えていたことがあります。当時の自分はどう答えてたんだろう。今の自分はこう答えます。 その勉強「は」意味がないよ。
というのも,勉強は手段であって第一の目的になり得ないので,目的がない状態で勉強の意義を問うことを僕はできません。モテるために勉強する,いい大学に進学するために勉強する。。。なんでもいいんです。どんな小さなことでもいいから目的をつくってあげる,きっかけを一緒に見つけてあげるのが,教師。方位磁針,道しるべ、、、教師ってそういうものであるべきなんだろうな。余談ですが,僕の好きな漫画で我が子を叱る父親のシーンでこんなセリフがあるんです。「目的もなしにだらだら手段を行使するのは時間の無駄だし身にならない,そして何よりつまらねぇ」って。鞠山さん大好き。
今回のお題
terminal操作を全くわかってなかった件
背景
techcanp卒業して1週間。過去の復習したりGoの勉強していたりしていると,いつもディスプレイ上でクリックしたりしていたことをテキストでは,教本ではターミナルで行っていたりするんです。フォルダを行ったり来たり,マウスをいじったりするよりターミナルで完結させた方が圧倒的に手軽ですもんね。今回はterminal周りの操作をまとめてみました。
対象
プログラミング初心者
私のようにターミナル操作をおろそかにしていた人
CLIとGUI
はい,ここからわかっていませんでしたorz
・GUI Graphical User Interface
・CLI Comand Line Interface
interfaceはinter(入る)face(面),つまり,境界を示しています。イメージは,プールに飛び込む際の空気と水の境界の部分,水中への入口が水面です。水面は概念的に言えば,人間から見た水の表面です。パソコンでも人間の目から見た入力方法で種別しています。
グラフィックを用いて操作を行う仕組みを グラフィカルユーザインタフェース(GUI) といいます。例えば、「マウスでファイルをダブルクリックして開く」という操作など、普段行う操作のほとんどはGUIで行なっていることが多いでしょう。
コマンドライン (または コマンドラインインタフェース:CLI )とは、コンピュータに対してキーボードからコマンドという文字を打ち込んで操作を行う仕組みです。ちなみにプログラミング言語はほぼこちら側です。
一方の利点はもう片方の欠点でもあるので詳細は省きますが,CLIはターミナル1つ開いておけばパソコンのあらゆる作業ができます。そのコマンドについて本記事ではまとめていきます。
directory(ディレクトリ)
直訳で「住所録」です。CLIにおいて「ここにはこれが入っているよ」という保管場所を示してくれています。よく耳にする,フォルダに関しては,プログラムの集合体もフォルダと言いますが,保存場所という意味合いはディレクトリと同じです。
・ルートディレクトリーーーパソコンの最上層のディレクトリ
移動コマンド cd /
・ホームディレクトリーーー各ユーザーに割り当てられたディレクトリの最上位
移動コマンド cd or cd ~
・カレントディレクトリーーー今いるディレクトリ
確認コマンド pwd(present working directory)
基本的にターミナルを開いた時のディレクトリはホームディレクトリ。Finderを開いた時の初期画面がホームディレクトリと考えて差し支えなし。
コマンド詳細(詳しくは一次ソース)
command | mean | remark |
---|---|---|
cd | 移動 | change directory |
cd .. | 1つ上のディレクトリに戻る | |
rm | 削除 | remove |
ls | ディレクトリ内表示 | list |
mkdir | ディレクトリ作成 | make directry |
touch | ファイル作成,rubyを書くなら.rbを最後につける | |
mv A.rb B.rb | A.rbをB.rbに名称変更 | move |
mv A.rb /projects | A.rbをprojectsディレクトリに移動 | |
history | コマンド履歴表示 |
path
住所へのルートと考えていただければ。絶対パスと相対パスがあります。説明は面倒なので,イメージで覚える。新大塚から後楽園に行きたいとします。絶対パスで説明するなら,池袋/新大塚/茗荷谷/後楽園となり,相対パスでは/茗荷谷/後楽園になります。ディレクトリの位置を俯瞰して見るか,自分の場所から見るかの違いです。
おわりに
まとめているうちにしっかり理解できたー!
プログラミングの技術だけでなくこういった土台の部分も大切にしていきたいです。