はじめに
ネットワークの記事をどうするか迷いながらも、一旦OSについても書いていこうかなと迷いつつ、、とりあえず始めてみようと思います!
今回からLinuxに関してまとめていきます!本シリーズではLinuxについて難しいところを感覚的に理解しつつ、どのようにlinuxシステムを使っていくかについてかけたら良いな〜と思っています!
早速始めていきましょう!
なぜLinuxを学ぶのか?
Linuxについて学習する前に、「Linuxを学ぶことで何ができるようになりたいか」を整理します。Oracleシリーズ第一話では、ITインフラの役割を「ITシステムを使いやすく・安定的に使えるようにすること」と説明しました。
そしてITインフラは主にサーバとネットワークによって成り立っています。Linuxはこの2つの要素のうちサーバを構成するために必要不可欠なOSです。つまり、インフラエンジニアとしては、さまざまな機能を提供するサーバを構築し、安定的にサービスを提供するためにLinuxを学習することが必要になるわけです。
また、OSはコンピュータ同士を接続し、コンピュータリソース(CPU、メモリ、ディスク等)をうまく利用するための機能をユーザに使い勝手が良い形で提供してくれます。そのような便利機能をしっかりと活用していくためにも、linuxを学習することが不可欠です。
さて、Linuxの重要性が判明したところでOSの基本について見ていきましょう!
ファイルを理解してLinux操作に慣れよう!
Linuxの操作に慣れるためのファーストステップがファイル操作です!
Linuxシステムでは、ディスクやメモリに保存されたデータやプログラムをファイルという形で扱います。そして複数のファイルはディレクトリによって階層化されています(ディレクトリもファイルの一種です)。ユーザ視点では、ファイルは以下のようなツリー構造の形でとらえることができます。
ファイルが上記のようなツリーになることで、ユーザはファイルの位置を明確に特定することが可能です。その位置の特定方法には絶対パスと相対パスがあります。
絶対パス
木構造のルートの部分からファイルの位置を特定する方法が絶対パスです。
ファイル構造におけるルートはルートディレクトリと呼び、記号で「/」と表します。
そのため、絶対パス名は必ず「/」から始まります。
例えば、先ほどの図で「dev」ディレクトリに移動したい場合は以下のようなコマンドを発行します。
cd /dev
また、「ls」ファイルの中身を表示したい場合には以下のようなコマンドを発行します。
cat /bin/ls
相対パス
ユーザが作業しているディレクトリ(カレントディレクトリ)からファイルの位置を特定する方法が相対パスです。相対バス名は「/」以外の文字から始まります。
例えば、カレントディレクトリが「bin」で、「dev」ディレクトリに移動したい場合には以下のようなコマンドを発行します。
cd ../dev
また、カレントディレクトリが「bin」で、「ls」ファイルの中身を表示したい場合には以下のようなコマンドを発行します。
cat ls
このようにパスを指定することで、ディレクトリ移動やファイル内容の確認を行うことができます。
ファイルシステムとは
ここで一度、ファイルシステムについて説明したいと思います。
まず、普段私たちが扱っているファイルですが、ハードディスク上では「ファイル」として保存されているわけではありません。ディスク上ではデータブロックという区画が存在し、ブロック単位で読み書きを行っています(DBの物理構造の話でも似たようなのがありましたね!)。
そのため、ディスク上にあるバラバラなデータをファイルという論理構造で扱うたためのシステムが必要になります。これがファイルシステムです。
ファイルシステムについて確認するためには以下のコマンドを発行します。
df -T
このコマンドを発行することで、デバイス名や使用しているファイルシステム、マウント位置、その他統計情報が表示されます。
ファイルシステムは1つのディスクに対して1つ割り当てます。そのため、実際にユーザがディレクトリ移動やファイルの読み書きを行う際、複数のファイルシステムを横断した操作が行われます。このように、ディスクの特性に合ったファイルシステムを用いることにより、I/Oの最適化が可能になります。
まとめ
・サーバ構築やコンピュータリソースを上手につかうためにLinuxの学習が必要
・ファイル構造はツリーになっている
・ファイルの位置指定には絶対パスと相対パスがある
・ディスクに書き込まれたデータをファイルとして扱うために、ファイルシステムが必要である
・各ディスクの特性に合わせて異なるファイルシステムを用いることでI/O性能が向上する



