こんにちは、ひさだい(@CloudasDK)です。
クラウドエンジニアになるために学ぶべき内容と、おすすめの学習方法・教材を数回に分けて紹介しています。
今回はLinuxの基本の学習ポイントと学習方法について紹介します!
クラウドエンジニア基礎スキル
今回はここ
Linuxの学習ポイント
Linuxはサーバー用OSとして広く使われるOSで、基本操作を習得することがインフラエンジニアにとって重要です。
Linuxでは、CUI(Character-based User Interface)によるコマンド操作が一般的で、ファイルの編集やコピー、プログラムの実行などをすべてキーボードだけで行います。普段使用しているPCではGUI(Graphical User Interface)による直感的な操作になれているため、最初はCUI操作に戸惑うかもしれません。
しかし、このCUI操作こそがLinuxを使用する上での基本であり、インフラエンジニアの仕事に欠かせません。
Linuxの操作方法(コマンド)とLinuxの仕組みについて学習していきましょう!
学習ポイント
身につけておきたい知識のキーワードをまとめました。学習方法で紹介する書籍で学習するか、自分で検索して調べてみてください。
※カッコ内に関連コマンド・用語を記載しています。
- Linux基本
- Linuxとは
- ディストリビューション
- Linuxのインストール方法(VirtualBox, EC2, 物理PCなど)
- ユーザー
- 一般ユーザー
- rootユーザー
- ログイン(ssh)
- ユーザー切り替え(su, sudo)
- ログアウト(exit)
- ファイルとディレクトリ
- ファイルとは
- ディレクトリとは
- Linuxのディレクトリ構造(FHS)
- カレントディレクトリ(pwd)
- ホームディレクトリ
- 絶対パスと相対パス
- 基本コマンドとエディタ
- ファイル・ディレクトリの一覧表示(ls)
- ディレクトリ移動(cd)
- ファイル閲覧(cat, less)
- テキスト表示(echo)
- ファイル・ディレクトリ操作(cp, mv, rm, touch, ln, mkdir)
- テキストエディタの使い方(vim, vi)
- ファイル・ディレクトリ検索(find, which)
- パーミッションの読み方と変更(chmod, umask)
- コマンドのマニュアル閲覧(man)
- シェルとカーネル
- シェルとは
- カーネルとは
- bashとは
- Tab補完機能とPATH変数
- シェル変数と環境変数
- プロセス
- プロセスとは
- スレッドとは
- プロセス一覧表示(ps)
- 標準入力と標準出力
- 標準入力とは
- 標準出力とは
- 標準エラー出力とは
- リダイレクト(>, >>)
- パイプ(|)
- 正規表現
- パターンマッチ(grep)
- テキスト処理(cut, tr, wc, sort, uniq, sed, awk)
- シェルスクリプト
- 変数
- 引数
- 条件分岐(&&, ||, if文, case文)
- 繰り返し(for, while)
- 終了ステータス
- シェルスクリプトの実行方法
- パッケージマネージャー
- Red Hat系(rpm, yum)
- Debian系(dpkg, apt)
- cronによる定期実行
- ブートシーケンス
- BIOSとUEFI
- ブートローダー
- systemd(systemctl)
- ディスク
- ファイルシステムとは
- ファイルシステムの種類(FAT, NTFSなど)
- パーティションとは
- マウントとは
- ログ管理(logrotate)
- 時刻合わせ(NTP)
- syslog
- syslogとは
- /var/log/message
学習方法
おすすめ書籍
- 新しいLinuxの教科書 第2版
-
Linux初学者向けの書籍でありながら、基本コマンドやシェルスクリプト、Gitなど、実際の現場で求められる知識を幅広く学ぶことができます。Linuxの基本操作をマスターするための最初の一冊として、非常におすすめの本です。
- Linux教科書 LinuCレベル1 / Linux教科書 LinuCレベル2
-
LinuCは、Linuxに関する専門知識やスキルを証明できる資格試験です。そのため、LinuCの参考書もLinuxの学習に役立ちます。
解説がとても詳細でボリュームがあります。資格試験用の参考書なので、現場ではあまり使わないような知識も載っていますが、Linuxについてより詳細に学びたいという方にはおすすめです。
Linuxをインストールして触ってみる
Linuxを動かす環境を用意して、実際にコマンドを打ってみるのが一番勉強になります。
LinuxのOSイメージをWebからダウンロードしてきて、マシンにインストールすればLinuxを利用することができます。
- CentOS Stream 9
-
CentOSはRed Hat Enterprise Linux(略してRHEL)を元にして開発されたLinuxディストリビューションです。RHELは有償ですが、CentOSは無償で利用できます。
ここ数年はCentOS 7がよく利用されていましたが、2024年6月30日をもってサポート終了(EOL)となりました。CentOS Stream 9はCentOS7の代替OSの一つです。こちらも無償で利用できるので、学習用としておすすめです。
- Ubuntu
-
UbuntuはDebian系のLinuxディストリビューションです。CentOSと同様に無償で利用できます。
Linuxは基本的にはCUIで操作しますが、UbuntuはGUIでもよく利用されています。普段使いのPCにUbuntuをインストールしている人もいます。
上記のようなOSイメージをできたら、次はインストールします。
物理的なPCやサーバーにインストールすることもできますが、仮想マシンであればもっと手軽にLinuxの動作環境を用意することができます。
仮想マシンは、仮想化ソフトウェア上で独立した物理的なマシンを仮想的に作り出したものです。一台の物理マシン上に、複数の仮想マシンを動作させることができます。
仮想化ソフトウェアには種類がありますが、学習用で使用する場合はVirtualBoxがおすすめです。
資格取得
Linuxに関する資格取得も、効果的な学習方法のひとつです。Linux関連の資格としては先に紹介したLinuCが有名で、幅広い知識を体系的に身につけることができます。
LinuCには、レベル1, レベル2, レベル3試験があり、さらに上位資格としてLinuCシステムアーキテクト試験もあります。
- レベル1: Linuxの基本操作やシステム管理のスキルを証明できる試験です。
- レベル2: サーバーの構築やトラブルシューティングなど、より実践的なスキルを証明できます。
学習方法としては、書籍を活用しながら、実際にLinux環境でコマンドを実行して体験しながら進めるのが効果的です。
また、Ping-tというWebサービスもLinuC学習に非常に人気があります。このサービスでは試験で問われるレベルの問題に挑戦でき、詳細な解説を読みながら理解を深めることができます。
まとめ
今回は、Linuxの学習ポイントとおすすめの学習方法について紹介しました。
Linuxの習得においては、実際に手を動かしてとにかく経験を積むことが何より重要です。サーバーをスクラップアンドビルドするたびに、着実に成長していくと思っています。
VirtualBoxなどの仮想化マシンを活用して、ぜひ実際にLinux環境を用意して色々試してみてください!
コメント