中古のWindowsマシンを Linuxマシンに変身

中古のWindowsマシンを Linuxマシンに変身

中古Windowsマシンを購入

FUJITSU LIFEBOOK A572/E の中古品をネットで検索してポチしました。
送料を含めて 28.188円なり。
 

届いた A572/E の梱包を解いて電源オンした状態。
届いた A572/E の梱包を解いて電源オンした状態。

 
購入目的は、この中古WindowsマシンをLinuxマシン(Ubuntu)に変身させるためです。
購入時に、このLIFEBOOK A572/E を選んだ理由は CPU が Core i5を搭載した CPU だったからです。

中古WindowsマシンをLinux(Ubuntu)に変身!

あらかじめ用意しておいた Ubuntu インストール用DVDで起動し、インストールをしました。

* → Ubuntu の入手先(書籍などに付属しているDVDを使うと簡単です。)
アマゾンのサイトで「本 ubuntu インストール」を入力するとザクザクと該当する本が出てきます。
インストールDVD付きの本を購入するなら発行年月日が新しいほうが新しいヴァージョンのUbuntuがインストール出来るので手間がへります。

インストールする時は、Wi-Fiではなく有線Lanで繋いでおきましょう

「Install Ubuntu」を選び、表示される選択肢から自分の環境に合わせて選択していきます。
作業が終わったら、インストール作業の間にコーヒーでもいれてのんびりとインストールが完了するのを待ちます。

インストール完了のメッセージが出たら「今すぐ再起動する」をクリックしてインストール完了です。
 


1時間かからずにUbuntuに変身

 
1時間もあればインストール作業が終了し、Windowsマシンが Linux(Ubuntu)マシンに変身します。

インストールしていて感じたのが、4G積まれているメモリを8Gにすると、ハードディスクのスワップが減りそう・・・。という事でした。
アマゾンで「BUFFALO ノートPC用互換増設メモリ PC3-10600(DDR3-1333) 4GB×2枚組 D3N1333-4GX2/E」(6,980円)を購入しました。

MS Office互換ソフトもすぐ使えます

MS Office互換ソフトもすぐ使えます

 
普通に Ubuntu をインストールすると、MS Office互換のLiverOffce がインストールされています。

    LiberOffice のラインナップ

  • Writer:ワープロソフト
  • Calc:表計算ソフト
  • Impress :プレゼンテーションソフト
  • Draw:ドローソフト
  • Base :データベース管理システム
  • Math:数式エディタ

 
Microsoft Office と LiberOffice の機能比較は
→ 機能比較:LibreOffice – Microsoft Office – The Document Foundation Wiki を参考にしてください。

LiberOfficeはMS Officeと完全互換ではありませんので、あなたがオフィス関連ソフトをどのように使うかによって Ubuntu のインストールの仕方も変わってきます。

参考になるサイト (「ubuntu デュアルブート」で検索 )
Windows10とUbuntu18.04をデュアルブートする

メモリを増設しました

アマゾンから 4GB×2枚のメモリが届いたので、古いメモリと交換しました。
(BUFFALO ノートPC用互換増設メモリ PC3-10600(DDR3-1333) 4GB×2枚組 D3N1333-4GX2/E )

 
ハードウェアに関しては全然ダメダメなので youtube で メモリ交換の動画を探してやり方をリサーチしてからの交換作業。5分で作業終了しました。(ホッ)
ソケットに完全に挿入するのが大事です。

 
メモリ増設後、ノートパソコンのBIOS画面でメモリをチェック。
 
4GB → 8GB 増設で、スピードアップの効果絶大です。

コンパイル言語とインタープリタ言語

コンパイル言語とインタープリタ言語

コンパイラ言語とは?

コンパイル言語とは?
vi などでテキストのソースコードを書いた後に、機械語に変換するためにコンパイルします。(C言語、C++やJavaなど)

C言語で「hello world!」を標準出力するプログラムを作る。

 

1 vi エディタで hello.c というソースプログラムを書く。
2 コンパイルして hello という名前の実行ファイルを作成する。
3 コンパイルされた hello を実行する。

 
・ コンパイルされたプログラムは機械語に変換されます。プログラムを実行するとインタプリタ言語と比べて高速で処理をする事が出来ます。
・ ソースファイルと実行ファイルが分離しているので、ソースコードを見られない。解析されにくいという面もあります。

インタープリタ言語とは?

インタープリタ言語とは?
プログラム実行時にソースコードを1行ずつ解析して機械語に変換するインタプリタ型の言語です。(PHP言語、Ruby、JavaScriptやPythonなど)

PHP言語で「hello world!」を標準出力するプログラムを作る。

 

1 vi エディタで hello.php というソースプログラムを書く。
2 php hello.php を実行する。

 
・ コンパイルされたプログラムと比べて処理速度が遅いと言われています。
・ コンパイル作業をする手間が省けます。
・ 今のコンピュータは処理速度が速いので、大量の計算が必要ない限りスピードを気にしなくてもよくなっています。

Linux はコンパイル言語もインタープリタ言語も使えます

豊富なプログラミング環境が揃っている linux ですので、コンパイル言語のC言語やインタープリタ言語のPHP、Ruby、Perlなどいくつもの言語が無料で使えます。

linux にはシェルスクリプトとよばれるコマンドラインインタプリタ向けに書かれたスクリプト言語が標準で装備されています。
これは、プログラム開発というよりはコマンドラインから入力する一連の作業をつなぎ合わせてバッチ処理をさせたり、あらたにコマンドを作るような使い方をします。

UNIX/linux の基本思想に「スモール・イズ・ビューティフル」があります。
ひとつのプログラムには1つの事をやらせて、ツールを繋いで処理をさせるという発想があります。(フィルタ やパイプを使いこなす)

仕事の仕様が変わるたびにプログラムの変更が必要になるので、処理スピードより移植性を優先します。

linux プログラマは、人のソースを再利用したり不要な手作業を自動化したりと、ソフトウェアをテコとして使います。

カーニハン氏の「UNIXプログラミング環境 」は、プログラミング初心者はもちろんある程度の経験を積んだ方でも、UNIX の思想が伝わってくる読んでタメになる、楽しめる本です。

linuxのエディタ vi

linux のエディタ vi

vi エディタ

Linux のエディタ

あなたは、どのテキストエディタを使っていますか?

linuxユーザーなら vi か emacs をお使いだと思います。

vi は、遠隔地にあるサーバに ssh でログインして、サーバにあるファルを修正できるので、僕はもっぱら vi を使っています。
vi は、リモートでサーバの管理をされる方には必須のエディタです。

*注) この記事では vi(Visual Editor あるいは Visual Interface が由来 ) のクローン版である vim も、vi と表現しています。

vi エディタの基本的な使い方

  • コマンドモード
  • 編集モード

という2つのモードがあり[Esc]キーでコマンドモードになります。

linux 使いには、必須の vi ですが、GUI に慣れている人は、操作にとまどう事もあるかもしれません。

vi を強制終了したい時は[Esc]キー :q! を押せば、セーブしないで終了する事ができます。

vi の基本的な使い方は下記のサイトを参考にしてください。

linux 以外のvi

linux や Mac には、標準でインストールされています。
Windowsの場合は、下記よりダウンロードしてください。
 → vim/vim-win32-installer
  KaoriYa – Vim

vi を使う理由

linux には豊富なプログラミング環境が備わっています。
効率よく仕事をするための短いシェルスクリプトを vi を使って書く事がよくあります。(何故 vi を使うかというと、「軽い」からです。)

シェルスクリプト(shell script)とは?
OSのシェルまたはコマンドラインインタプリタ向け言語。

 
vi の便利な使い方が書いてあるサイトを紹介します。
これからVimを触る人向け!今まで使っていたエディタのようにVimを使いはじめる

PHP言語やPerl言語などでプログラミングする時は、僕は今でも vi を使っています。
「linux を使い倒したい!!」、「フリーのプログラマーになりたい!!」 と思うのなら vi の操作を習得しましょう。

awk コマンドを使ってデータ抽出し sort コマンドで並び替える

awk コマンドを使ってデータ抽出し sort コマンドで並び替える

awk コマンド

awk コマンドでデータ抽出


全国都道府県庁・市区町村役場データベース【9.全国都道府県庁・市区町村役場データベース 件数表】のページから都道府県コードと都道府県名を抽出します。

9.全国都道府県庁・市区町村役場データベース 件数表 2018年9月現在
都道府県 県庁 政令市 特別区 市役所 区役所 町役場 村役場 総合計
01 北海道 1 1 0 34 10 129 15 190
02 青森県 1 0 0 10 0 22 8 41
03 岩手県 1 0 0 14 0 15 4 34
04 宮城県 1 1 0 13 5 21 1 42
05 秋田県 1 0 0 13 0 9 3 26
06 山形県 1 0 0 13 0 19 3 36
07 福島県 1 0 0 13 0 33 15 62
08 茨城県 1 0 0 32 0 10 2 45
09 栃木県 1 0 0 14 0 11 0 26
10 群馬県 1 0 0 12 0 15 8 36
11 埼玉県 1 1 0 39 10 22 1 74
12 千葉県 1 1 0 37 6 16 1 62
13 東京都 1 0 24 26 0 5 8 64
14 神奈川県 1 3 0 16 28 13 1 62
15 新潟県 1 1 0 19 8 6 4 39
16 富山県 1 0 0 10 0 4 1 16
17 石川県 1 0 0 11 0 8 0 20
18 福井県 1 0 0 9 0 8 0 18
19 山梨県 1 0 0 13 0 8 6 28
20 長野県 1 0 0 19 0 23 35 78
21 岐阜県 1 0 0 21 0 19 2 43
22 静岡県 1 2 0 21 10 12 0 46
23 愛知県 1 1 0 37 16 14 2 71
24 三重県 1 0 0 14 0 15 0 30
25 滋賀県 1 0 0 14 0 6 0 21
26 京都府 1 1 0 14 11 10 1 38
27 大阪府 1 2 0 31 31 9 1 75
28 兵庫県 1 1 0 28 9 14 0 53
29 奈良県 1 0 0 12 0 15 12 40
30 和歌山県 1 0 0 9 0 20 1 31
31 鳥取県 1 0 0 4 0 14 1 20
32 島根県 1 0 0 8 0 10 1 20
33 岡山県 1 1 0 14 4 10 2 32
34 広島県 1 1 0 13 8 9 0 32
35 山口県 1 0 0 13 0 6 0 20
36 徳島県 1 0 0 8 0 15 1 25
37 香川県 1 0 0 8 0 9 0 18
38 愛媛県 1 0 0 11 0 9 0 21
39 高知県 1 0 0 12 0 17 6 36
40 福岡県 1 2 0 27 14 29 2 75
41 佐賀県 1 0 0 10 0 10 0 21
42 長崎県 1 0 0 13 0 8 0 22
43 熊本県 1 1 0 14 5 23 8 52
44 大分県 1 0 0 14 0 3 1 19
45 宮崎県 1 0 0 9 0 14 3 27
46 鹿児島県 1 0 0 19 0 20 4 44
47 沖縄県 1 0 0 11 0 11 19 42
合計 47 20 24 776 175 748 183 1,973

 
いらない行の1行、2行および50行を vi エディタで削除し、ファイル名を sourc.txt とします。

awk コマンドを使って source.txt の 都道府県番号と都道府県名および県庁・市区町村役場の総数だけを抽出します。

cat source.txt | awk ‘{print $1,$2,$10}’

 

01 北海道 190
02 青森県 41
03 岩手県 34
04 宮城県 42
05 秋田県 26
06 山形県 36
07 福島県 62
08 茨城県 45
09 栃木県 26
10 群馬県 36
11 埼玉県 74
12 千葉県 62
13 東京都 64
14 神奈川県 62
15 新潟県 39
16 富山県 16
17 石川県 20
18 福井県 18
19 山梨県 28
20 長野県 78
21 岐阜県 43
22 静岡県 46
23 愛知県 71
24 三重県 30
25 滋賀県 21
26 京都府 38
27 大阪府 75
28 兵庫県 53
29 奈良県 40
30 和歌山県 31
31 鳥取県 20
32 島根県 20
33 岡山県 32
34 広島県 32
35 山口県 20
36 徳島県 25
37 香川県 18
38 愛媛県 21
39 高知県 36
40 福岡県 75
41 佐賀県 21
42 長崎県 22
43 熊本県 52
44 大分県 19
45 宮崎県 27
46 鹿児島県 44
47 沖縄県 42

sort コマンドでデータの並び替え

県庁・市区町村役場総数の多い順番で、都道府県名コード順に表示させたい時は sort コマンドを使います。

sort -n -k 3rn,3 -k 1n,1 target.txt

 

01 北海道 190
20 長野県 78
27 大阪府 75
40 福岡県 75
11 埼玉県 74
23 愛知県 71
13 東京都 64
07 福島県 62
12 千葉県 62
14 神奈川県 62
28 兵庫県 53
43 熊本県 52
22 静岡県 46
08 茨城県 45
46 鹿児島県 44
21 岐阜県 43
04 宮城県 42
47 沖縄県 42
02 青森県 41
29 奈良県 40
15 新潟県 39
26 京都府 38
06 山形県 36
10 群馬県 36
39 高知県 36
03 岩手県 34
33 岡山県 32
34 広島県 32
30 和歌山県 31
24 三重県 30
19 山梨県 28
45 宮崎県 27
05 秋田県 26
09 栃木県 26
36 徳島県 25
42 長崎県 22
25 滋賀県 21
38 愛媛県 21
41 佐賀県 21
17 石川県 20
31 鳥取県 20
32 島根県 20
35 山口県 20
44 大分県 19
18 福井県 18
37 香川県 18
16 富山県 16

 

linux を使っている人なら、awk コマンドと sort コマンドで簡単に処理する事ができます。

sed コマンドを使って整形

sed コマンドを使って各データをWeb表示したいので行頭に<li≶行末に</li>を付加する次の通り実行するだけです。

$ cat source.txt | sed sed ‘s/\/li>/\/li>\n/g’

awk コマンドを使って整形

今回はWebサイト用に表示する時に色を付けたいので、awk コマンドを使ってデータを装飾します。

cat target.txt |awk ‘{print sprintf(“<tr><td bgcolor=\”#e2ffc6\” align=\”right\”>  %3d </td>”,NR), sprintf(“<td bgcolor=\”ffffc6\” align=\”right\”>  %3d </td>”,$1), sprintf(“<td bgcolor=\”ffe2c6\” align=\”center\”>  %11s </td>”,$2),sprintf(“<td bgcolor=\”c6c6ff\” align=\”right\”>  %3d </td></tr>”,$3)}’

 

   1    1    北海道   190
   2    20    長野県    78
   3    27    大阪府    75
   4    40    福岡県    75
   5    11    埼玉県    74
   6    23    愛知県    71
   7    13    東京都    64
   8    7    福島県    62
   9    12    千葉県    62
   10    14   神奈川県    62
   11    28    兵庫県    53
   12    43    熊本県    52
   13    22    静岡県    46
   14    8    茨城県    45
   15    46   鹿児島県    44
   16    21    岐阜県    43
   17    4    宮城県    42
   18    47    沖縄県    42
   19    2    青森県    41
   20    29    奈良県    40
   21    15    新潟県    39
   22    26    京都府    38
   23    6    山形県    36
   24    10    群馬県    36
   25    39    高知県    36
   26    3    岩手県    34
   27    33    岡山県    32
   28    34    広島県    32
   29    30   和歌山県    31
   30    24    三重県    30
   31    19    山梨県    28
   32    45    宮崎県    27
   33    5    秋田県    26
   34    9    栃木県    26
   35    36    徳島県    25
   36    42    長崎県    22
   37    25    滋賀県    21
   38    38    愛媛県    21
   39    41    佐賀県    21
   40    17    石川県    20
   41    31    鳥取県    20
   42    32    島根県    20
   43    35    山口県    20
   44    44    大分県    19
   45    18    福井県    18
   46    37    香川県    18
   47    16    富山県    16

 
target.txt という名前で保存するのならリダイレクトして書き出します。
リダイレクトとは標準出力標準入力標準エラー出力が向かう先を変更する事です。
今回の場合は  > で画面出力をtarget.txt ファイルにリダイレクトしています。

コマンドを組み合わせて処理をする

Linux を使いこなしてくると、複数のコマンドをパイプでつないで処理が行えるようになります。

今回は、sed と awk というプログラムを使って処理をしましたが、linuxにはまだまだ便利なツールが豊富に揃っています。

今回は触れませんでしたが「正規表現」というlinuxを使いこなす上で知っておく決まりがあります。
このサイトでも、今後「正規表現」について取り上げたいと思っています。

Linux のファイルについて理解しよう&フィルタとパイプ

Linux のファイルについて理解しよう

パイプとフィルタ

Linux のはなし

僕らが便利に使っているレンタルサーバーのOSは、大きく分けて Unix/LinuxWindowos Server の2種類があります。
多くのレンタルサーバーが Linux OS を使っています。 → レンタルサーバ20社150以上のプランを比較【料金・仕様の比較表】 を参照してください。

Linux は UNIX互換のOSです。
研究機関で広く使われていた UNIX のファイルシステムなどを参考にしてマイクロソフトの MS-DOS や Windows が作られました。

UNIX/Linux システムにはプログラム開発用ツールが豊富に用意されています。UNIX/Linux の達人達は、これらのツールを組み合わせて効率よくプログラムやデータ、文書の処理を行います。

Linux のファイルについて

Windowsの「フォルダー」は Linux の「ディレクトリ」にあたります。
ディレクトリーはツリー状に配置できます。

今でこそ「ディレクトリー(フォルダー)」は一般的に使われるようになりましたが、この仕組みが作られた時はプログラムやデータ、文書を管理する者にとって画期的なものでした。

Linux のフィルタとパイプ

Linux の入出力は、標準入力からプログラムやデータ、文書を読み込み処理を行い標準出力に結果を出力するプログラムが多数用意されています。これらをフィルタといいます。

フィルタから標準出力に出されたプログラムやデータ、文書をつなぐ機能をパイプと呼び、パイプをつなげて複雑な処理を行います。
文章だけでは理解しにくいので、例を挙げます。

青森県、岩手県、宮城県、秋田県、山形県、福島県 と書かれたファイルがあります。 ( motofile.txt )

というデータ(文書)があります。

cat motofile.txt とコマンドを入力すると

青森県、岩手県、宮城県、秋田県、山形県、福島県

と表示されます。

cat motofile.txt | sed -e ‘s/$/です。/g’ と入力した結果は次のとおりです。

青森県、岩手県、宮城県、秋田県、山形県、福島県です。

cat motofile.txt | sed -e ‘s/$/です。g’ | sed -e ‘s/、/です。\n/g’

青森県です。
岩手県です。
宮城県です。
秋田県です。
山形県です。
福島県です。

cat motofile.txt | sed -e ‘s/$/です。g’ | sed -e ‘s/、/です。\n/g’ > target.txt

で下記の内容の target.txt が作成されます。

青森県です。
岩手県です。
宮城県です。
秋田県です。
山形県です。
福島県です。

 
Linux の標準入力、標準出力やフィルタ、パイプという概念のおかげで、プログラムやデータ、文書処理をする時にいちいちプログラムを作成しなくても簡単にコマンドラインから操作ができるようになっています。

Linux の勉強を一緒にしませんか?

このサイトでは、Linux を便利に使いこなすためのノウハウをお伝えしていきます。

Linux 面白そうだなぁ。

とか

Linux 出来たら便利かも・・・。

と思ったら、是非 またこのサイトを見に来てくださいね。

Linuxの楽しいプログラム xeyes

Linuxの楽しいプログラム xeyes

Linuxの楽しいプログラム

Linux上には、
Windows の オフィスとほぼ互換性のあるビジネス向けのソフトや、プログラム開発言語、プログラム開発環境などフリーのソフトが沢山あります。

実際に役に立つソフトウェアが無料で手に入る Linux ですが、ホッと和(なご)ませてくれるソフトウェアもあります。
僕のお気に入りは xeyes という2つの目玉がマウスカーソルを追いかけてグルグルまわる。それだけのソフトウェアです。
 

Linuxのディストリビューション

僕は Ubuntu というディストリビューションの Linux を使っています。
 ディストリビューションとは?
 Linux カーネルに、様々なソフトウェアやファイルを追加して、簡単に利用できる形にしたものです。( distribyusyon は、もともと配布という意味です。)

Linux を 「日本自家用自動車」、ディストリビューションを「TOYOTA」、「日産」、「三菱」、「HONDA」、「SUBARU」、「マツダ」と考えてください。

FF車だったり、ロータリーエンジンだったり、水平対向エンジンだったり各ディストリビューション毎に特色があり、特徴のあるオプションがメーカーによって違うのと同じように、Linux もディストリビューションによって「味付け」が違っています。

Linuxの起源

大学や学術機関で UNIX というOS(オーエス)が普及していましたが、 UNIX が著作権を強く主張したため、ヘルシンキ大学のLinus Torvards氏がオープンソースのOSを開発した事が Linux が生まれるきっかけになりました。

Linux を語る上で重要なのがオープンソースソフトウェアフリーソフトウェアいう概念です。

オープンソースソフトウェア( Open Source Software ):OSSとは、利用者の目的を問わず(研究でもビジネスでも)ソースコードを使用、再利用、修正、拡張、再配布ができるソフトウェのことをいいます。

フリーソフトウェアとは、利用者の目的を問わず(研究でもビジネスでも)プログラム、ソースコードを使用、再利用、修正、拡張、再配布が自由という意味です。Free Software は無料という意味ではありません。無料で使えるソフトウェアは free software と表現されます。

Linuxを楽しもう!!

とても自由な思想に支えられた Linux です。

あなたも、Linux を使って自由な世界に一歩踏み込んでみませんか?

自動車の運転と同じで、使いこなすためにはある程度の学習が必要です。(僕が使っている Ubuntu というディストリビューションは、Windowsが操作できる人なら使う事は可能になっています。)

あなたが身につけた Linux の知識で、今までの作業時間を100倍近く短縮する事もできるようになります。

Linux という道具を使いこなしたい人は、僕と一緒にこのサイトで Linux の便利な使い方を学んでいきましょう。