プログラミング奮闘記

難しいと評判!初心者がN予備校でプログラミングを学んだ感想と備忘録!
No. 10: PC構成要素について

N予備校 プログラミングコース 第10回

あなたは2019年の目標って立てましたか?
どんな目標を立てたか覚えていますか?

私は2018年末に2019年の目標を立てました。
その一つにプログラミングを学び仕事として使えるようにすることをあげました。
そして、思い立ったが吉日と「N予備校のプログラミングコース」を申し込みました。

そして受講と同時に自身の振替と、これから始めようと考えている人の参考になればとブログを書き始めました。
今回ブログの移設にともない、再度そのブログを読み返しながら、今思うことを加えて記載していきたいと思います。

また私が受講したのは【2018年度】で、現在公開されている【2019年度】との違いについても書いていきたいと思います。

このブログは、初心者が学びながら書いているため、間違っている場合があります。
分かり次第修正していくつもりです。

そのあたりも含め楽しんでいただければと思います。 

最後に進めていてわからなかったところや気になったところをまとめています。

プログラミング入門 webアプリコース 第10回

前回は仮想環境(仮想パソコン)内にLinuxを導入しました。

今回は、Linuxを通してコンピューターの中身(メモリ、CPU等)について学び、その後基本的なコマンドを扱います。

  • 今回の内容まとめ(第1章 15~17)  
    ・コンピューターの構成要素について
    ・Linuxのコマンドについて
    ・共有フォルダの作成

  • 今回の目標
    Linuxを通じて、コンピュータの構成要素について知り、Linux上でファイル操作ができるようになる

  • 今回新しく扱っているコマンド等
    ・pwd
    ・ls
    ・rm
    ・cp
    ・mv
    ・find
    ・man
    ・sudo
    ・lshw
    ・lshw -short

コンピューターの構成要素について

Linuxを使って、コンピューターの性能を調べます。

RLoginを起動し、

sudo lshw -short 
と入力します。(コマンドの意味については後述)

すると、

H/W path Device Class    Description
= = = = = = = = = = = = = = = = = = = = = = = =
という見出しから始まる内容が出力されます。

この中に書かれている、CPU、メモリ、ストレージ、ネットワークデバイスについて学びます。

CPU

Central Processing Unit (中央演算処理装置)の略称で、コンピューターの頭脳として、計算と制御を行います。

メモリ

メモリとは、CPUから直接アクセスされる、プログラムやデータを記憶するための媒体で電源を切るとメモリの内容は消えてしまいます。

メモリはよく、作業をする机の大きさにたとえられます。

机が大きい方が色々な作業を同時に処理できるように、メモリサイズが大きい方が処理が早くまた大きなデータを扱うことが出来ます。

ストレージ

ストレージとは、データを記録する装置です。

メモリと異なり、電源を切っても内容は消えませんが、メモリにくれべて読み書きの速度が遅いです。

ストレージとして、長年HDD(ハードディスクドライブ)が使われてきましたが、近年ではSSD(ソリッドステートドライブ)が普及してきています。

HDDとSSDのメリット・デメリット

  • HDD
    <メリット>
    保存できるデータ量が大きい(データ量に対する単価が安い)
    <デメリット>
    衝撃に弱い、消費電力が大きい(持ち運びに弱く、バッテリーの持ちが悪くなる)

  • SSD
    <メリット>
    ・衝撃に強く、消費電力が小さい
    ・読み書きの速度が非常に速く、作業音がない
    ・HDDより小さく、軽い
    <デメリット>
    保存できるデータ量が少ない(データ量に対する単価が高い)

以上の特徴から、ノートパソコンにはSSDが適しており、多くのデータを保存しておきたい場合はHDDが適しているといえます。

ネットワークデバイス

コンピューターを他のコンピューターに接続するためのデバイス(部品)です。

インターネットに接続する際もこのデバイスを使用します。

このほかにもテキストには、ディスプレイ、GPU、バスについての説明もあります。

Linuxを使うことで、コンピューターの部品についての情報を知ることが出来ます。

Linuxのコマンドについて

Linuxを使うことで、上記のようにハードウェアの内容を確認したりすることが出来ます。

また、ファイル操作(ファイル・フォルダの作成など)も行うことが出来ます。

ここでは、それらのコマンドについて学びます。

今回は、以下の図の様な階層でディレクトリが存在していると仮定します。

pwd

Print Working Directoryの略で、現在開いているディレクトリ(Current Directory:カレントディレクトリ)を表示します。

cd A
pwd 
cd Aで、Aというディレクトリに移動しているので、上記の結果は

/A
と表示されます。

 

ls

Listの略で、現在開いているディレクトリ内にあるディレクトリとファイルの一覧を表示します。

ここで、以下のように入力します。

cd A
ls
cd Aで、ディレクトリAに移動しているので、Aの中に保存されているのはディレクトリBおよびCですので

B C
と表示されます。

 

rm

ReMoveの略で、ディレクトリやファイルを削除します。
ディレクトリを削除する際は、rm -r (もしくは rmdir)用います。 

cd A
rm -r C
ディレクトリCを削除します。この際、Cの中にあるFも同時に削除されます。

その結果、以下のようなイメージになります。

cp

CoPyの略で、ディレクトリやファイルをコピーすることができます。
ディレクトリの中身も含めてコピーする際は -r を記入します。

cd B
cp -r D A
 ディレクトリBに存在するディレクトリDを、ディレクトリAの中にコピーします。

 

mv

MoVeの略で、名前の変更、およびファイルやディレクトリを移動をします。

<名前の変更>
cd D
mv G H
 ディレクトリDに存在するディレクトリGがディレクトリHに名前が変更されます。

 
<フォルダの移動>

cd D
mv H A/B/E
 ディレクトリDの中にあるHをディレクトリEの中に移動します。

find

ファイルを検索することができます。

cd A
find -name H
 cd AでAフォルダに移動し、Aフォルダ以下に存在する名前Hというファイルとディレクトリが検索されます。

./B/E/H
 

man

 コマンドの使い方を知るためのコマンド。

man mkdir
 mkdirの使い方について表示されます。

sudo

substitute user ( switch user)の略のようです。

スーパーユーザー(rootユーザー)の特権レベルで実行する際に使用するコマンドです。

rootユーザーとは、あらゆる権限を持っているユーザーのことで、rootユーザーとしてプログラムを実行することですべての機能を実行できます。

ただし、PCを壊すようなプログラムも実行可能なので注意が必要です。

 

lshw

ハードウェアの一覧を表示することができます。

lshw -short

ハードウェア情報を短縮して表示します。

  

共有フォルダの作成

ゲストPC内のOS(Ubuntu)とホストPC内のOS(Windows)との間で共有ディレクトリを作成します。

この共有フォルダ内で作業を行うことにより、Windows側でUbuntu側の作業を確認できるようになります。

この方法についてですが、テキスト通りに進めれば問題なく作成できると思います。


今回はLinuxを通してコンピューターの中身(メモリ、CPU等)について学び、その後基本的なコマンドを扱いました。

テキストを読みながらであれば問題なく進むと思います。
ただ、その内容について調べてみたのですが現段階ではあまりよく理解できませんでした。

今後も調べて、理解できた時点で更新するようにします。

ABOUT ME
GoodAmbition
オンライン塾経営者(大阪大学工学部出身の元開発技術者) 自身も家庭教師や塾講師として働きつつ、後輩の育成やオンライン塾を経営しています。 私自身も約10年にわたり家庭教師や塾講師として100人以上の受験生と向き合ってきました。 色々な学生、保護者の方とかかわる中でよく質問される内容や、受験に必要な内容について書いています。 独学で頑張っている人たちへ勉強計画や悩み相談なども受け付けていますので気軽にお問い合わせください。 就職活動や資格の勉強などで悩んでいる方もご連絡ください。 教育・就活、書籍、食べ歩きに関するお話がメインです。 最近取り組んでいること プログラミング、筋トレ、マラソン、ライティングスキル向上etc. 苦手なことを克服しようと頑張っています。