「Linux」コマンドの解説を始める前に、明確にしておきたいことがある。Linuxを使う上でコマンドラインの使用は必須ではない。このことに言及したのには理由がある。新しいユーザーはコマンドの入力という概念を敬遠することが多く、筆者は長年、Linuxを人々に紹介することを目標としてきたからだ。
とはいえ、筆者は特定のLinuxコマンドを毎日利用している。これらのコマンドは、筆者がさまざまな作業を実行したり、システムの正常な稼働を維持したり、マシン上で起きていることを把握したりするのを助けてくれる。
もちろん、コンピューティングの経験は人それぞれなので、読者が必要とするコマンドは、筆者が頼りにしているコマンドと異なるかもしれない。とはいえ、本記事で紹介する6つのLinuxコマンドは、筆者がほぼ毎日キーボードから実行しているものばかりだ。
1. top
筆者は、バックグラウンドで起きていることを常に把握しておきたい。何らかの違和感があるときは、特にそうだ。そういうときに真っ先に使用するコマンドが「top」である。topを実行すると、アプリケーションやコマンドがシステムリソースをどれだけ使用しているのかを瞬時に把握できる。必要に応じて、そのコマンドやアプリケーションに関連付けられているPID(プロセスID)を確認し、PIDを使用して、そのアプリケーションを強制終了することも可能だ。
筆者がGUIアプリではなくtopを使用するのは、ターミナルからマシンにリモートアクセスして、情報を確認できるからだ。topは高速で使いやすい。このコマンドが期待に応えてくれなかったことは一度もない。
topを開くには、以下のコマンドを実行する。
top
2. ssh
「ssh」は、今回紹介するコマンドの中で最も重要なものかもしれない。それはなぜか。これから説明することを考えてみてほしい。「VirtualBox」が正常に機能しなくなって、ゲストVMの挙動がおかしくなり、システムがロックされてしまうことが時々ある。そういうときは、sshを使用してシステムにアクセスし、topを実行してVMに関連付けられたPIDを見つけた後、kill PID(PIDはVirtualBoxゲストのプロセスID)コマンドでそのVMを強制終了すれば、問題は解決する。
特定の作業(サーバーの更新など)を実行するために、ネットワーク上(またはネットワーク外)のほかのマシンにリモート接続しなければならないことがよくある。scp(sshの一部)を使用して、ネットワーク上でファイルを移動することも頻繁にあるので、sshは非常に重要だ。
sshを使用するのは簡単である。例えば、LAN上のサーバーにリモート接続したいときは、以下のようなコマンドを実行する。
ssh jack@192.168.1.100
3. sudo
筆者が最も頻繁に実行するのは、おそらくこのコマンドだろう。ソフトウェアのインストール、アプリケーションの更新、プロセスとサービスの管理など、管理者権限を必要とするさまざまなタスクを頻繁に実行するからだ。もし「sudo」がなかったら、最初にルートユーザーに変更することを余儀なくされるだろう。これは、セキュリティ上の問題になる可能性がある。sudoを使えば、管理者権限を一時的に取得して、コマンドやアプリケーションを実行することが可能になる。それらの管理者権限は、設定した時間が経過すると、自動的に無効になる。sudoはLinuxに追加された非常に効果的な機能であり、筆者がこれまでに実行してきたコマンドの中で最も重要なものの1つだ。
sudoを使うのは簡単である。以下のように、管理者権限を必要とするコマンドの先頭にsudoを追加するだけでいい。
sudo apt install upgrade -y