概要
LinuxカーネルのOSを始めて使う人向けに、インフラエンジニア目線でよく使うコマンド・便利なコマンドをまとめました。
よく使うコマンドたち
以下、自分がよく使うコマンド・便利なコマンドのまとめです。この次の章から特に使うコマンドに関する注意を書きたいと思います。
ファイル・ディレクトリ操作関連
cd | ディレクトリ移動 |
ls | 指定したディレクトリ内のファイルを表示 |
pwd | 現在いるディレクトリのパスを表示 |
mkdir | 新規ディレクトリ作成 |
rm | ファイル・ディレクトリの削除 |
cp | ファイル・ディレクトリのコピー |
mv | ファイル・ディレクトリの移動、リネームにも使用 |
上記のコマンドたちは、特にLinuxカーネルのOSを使ってるとよく使うコマンドたちです。
ディレクトリ移動や、カレントディレクトリ・特定のディレクトリ内にどんなファイルが有るかなどで何回も使うので慣れておきましょう。
ファイル閲覧・編集関連
cat | ファイルの内容をすべて表示 |
less | ページ送り形式でファイルの内容を表示 |
head | ファイルの先頭から指定した行数分表示する。デフォルトでは先頭から10行表示 |
tail | ファイルの末尾から指定した行数分表示する。デフォルトでは末尾から10行表示 |
vi/vim | ファイル編集 |
diff | 指定したファイル同士の差分を表示 |
ファイルの内容を表示したり編集する際に使用するコマンドたちです。数千行のファイルを開く場合はcatを使うと見づらいのでlessを使ったり、先頭や末尾から数行見たいのであればheadやtailを使います。vi/vimはLinuxカーネルのOSに標準的に入ってるエディタです。
特に、diffコマンドはめちゃくちゃ重要です!ミドルウェアの設定ファイルを編集前にコピーでとっておき、編集後にコピーしたファイルと現在のファイルの差分をdiffで確認。想定通りの編集ができているかの確認だったり、作業の証跡としてお客さんに提出したりなどでよく使います。
権限・ユーザ関連
chmod | ファイル・ディレクトリの権限を変更 |
chown | ファイル・ディレクトリの所有者・所有グループを変更 |
whoami | 現在のユーザ名を表示 |
sudo | sudo 以下に指定したコマンドを管理者権限で実行 |
特にchmod、chownによって権限を適切に設定することは大切です。例えば、もし削除してはいけないあるファイルの権限がどのユーザからでも操作できた場合、誤ったコマンドによって該当のファイルが削除されてしまう可能性があります。
管理者しか削除・編集できないようにしておくと、一般ユーザが誤って削除してしまう可能性はかなり低くなるため、適切な権限を設定しておくようにしましょう。
プロセス・システム関連
ps | コマンド実行時点で実行中のプロセスを表示 |
top | 実行中のプロセスや各プロセスが使用しているCPU使用率、メモリ使用率をリアルタイムに表示 |
kill | 指定したプロセスの終了 |
uptime | 連続稼働時間の表示 |
df | ディスク容量の確認 |
free | メモリ使用量の確認 |
インフラエンジニアでは、上記のコマンド群をよく使います。特に運用・監視をしている場合、サービス障害が発生したりすると、まずpsコマンドで該当のプロセスが動いているか確認し、動いてなければ起動、動いてるけど動作が不安定そうであれば再起動などをします。topコマンドでどのプロセスが負荷をかけてるかもわかるので、こちらも重宝しますね。
ネットワーク関連
ping | ICMPプロトコルを使った機器との疎通確認 |
curl | HTTP、HTTPSプロトコルなどを用いて、サーバからの応答を確認 |
ifconfig/ip | IPアドレスの確認 |
netstat | 使用しているポートやポート応答の確認 |
pingやcurlは監視を実現するためによく使われます。特定のURLからの応答がcurlを使って指定時間毎(5分間隔等)で確認して、指定された応答が帰ってこなければ障害状態と判定したり、ping応答がなくなったら障害状態と判定したり、という使われ方をします(もちろん他の用途でも)。
まとめ
今回はインフラエンジニア目線でよく使うコマンドを紹介しました。LinuxカーネルのOSをCLIで初めて使う場合は、コマンドから覚えないといけないのでなかなか大変です。しかし慣れてくると、逆にGUIで作業するのがめんどくさくなってきたりするので不思議なものです・・・・
今回の記事が、LinuxカーネルのOSを初めて使う・経験が浅い人の助けになれば幸いです。