Linux入門:コマンド操作のきほん
エンジニアにLinuxが必要な理由
この回でやること
エンジニアがLinuxを学ぶ必要性について解説します。開発環境やサーバー管理でのLinuxの重要性を理解しましょう。
- 読む 約 5 分
書いたプログラムが、手元を離れて動く
自分のパソコンで動いたプログラムを、ほかの人にも使ってもらうには、公開先のコンピューターで動かす必要があります。公開先のコンピューターをサーバーと呼びます。サーバーでは Linux がよく使われるため、手元が Mac や Windows でも Linux の基本操作が役立ちます。
開発から公開までは、次のような流れです。
- 手元でプログラムを書く
- コードを保管する場所であるリポジトリへ変更を送る。この操作を push と呼ぶ
- CI と呼ばれる仕組みが、変更のたびに自動でテストする
- 必要なファイルや道具をまとめて、サーバーでプログラムを動かす
いまは、この流れの名前を覚えきる必要はありません。Linux の操作を学ぶと、公開先でもファイルを探したり、動いているものを確かめたりできる、と押さえましょう。
手元と公開先では OS が違うことがあります。公開先が Linux なら、その場所でファイルを探すときに Linux のパスの知識を使います。
困ったときは、状態を確かめる
サービスが止まったときには、サーバーの状態やログを確かめます。ログとは、プログラムが動いた経過を記録したものです。状態を見る操作と、設定を変更する操作は別です。このコースでは、まず現在地やファイルを確認する基本操作から学びます。
動かす道具をまとめる、コンテナ
コンテナは、プログラムと必要な道具をひとまとめにして動かす仕組みです。その元になるファイルのまとまりをコンテナイメージと呼びます。Docker はコンテナを扱う道具の一つです。次はイメージの作り方を記した Dockerfile の例です。実行したり、同じものを書いたりする必要はありません。
dockerfile
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates
COPY app /usr/local/bin/app
CMD ["/usr/local/bin/app"]FROMは土台にする Linux を選びます。Debian は Linux の配布形態の一つですRUNはイメージを作る途中でコマンドを実行します。例のapt-get updateは追加できる道具の一覧を更新し、apt-get install -y ca-certificatesは安全な通信に使う証明書を入れます。&&は前が成功したら次を実行するつなぎ方ですCOPYは手元のappを、イメージ内の/usr/local/bin/appへコピーしますCMDはコンテナを起動したときに動かすプログラムを指定します
土台やファイルの置き場所にも Linux の知識が使われています。これらの設定を一度に覚える必要はありません。
まずは OS の情報を一つずつ見る
ターミナルはコマンドを書いて実行する画面です。コマンドは通常、1 行に一つ書きます。次の例ではカーネルの版を表示します。
ターミナル
uname -r
# 6.8.0(表示は環境によって変わります)uname だけでも OS の名前が出ます。uname -r は OS の中心であるカーネルの版、uname -m は CPU の種類を表示します。空白の後ろに付ける -r や -m のような指定をオプションと呼びます。版や CPU の表示は環境によって変わります。