いづいづブログ

アジャイルコーチになりたい札幌在住SEです。アジャイル札幌スタッフ&ScrumFestSapporo実行委員。Like:パクチー/激辛/牡蠣/猫/初期仏教

Linuxゲリラ戦記を読んでLinuxのことを知る #7〜#25

Linuxゲリラ戦記を読んでLinuxと仲良くなる。まだまだ先は長い・・・。

7.一般ユーザ/rootユーザー

  • Linuxのユーザにはrootユーザーと一般ユーザーがある。

    • rootユーザー 管理者権限をもった人。Linuxにはrootユーザーでなければ行えない操作(パッケージのインストールや削除、権限の変更など)がある。
    • 一般ユーザー Linuxを普通に使う人。
  • 一般ユーザ→rootユーザーに変更するにはsuコマンドを入力。

    • su -と入力してEnter。
    • その後「rootパスワード」を求められるので(Linuxをインストールする時に聞かれる)パスワードを入力。すると、ユーザー@ホストのあとのマークが#にかわる。
    • #はrootユーザーを表す。
user@host#     
  • rootユーザー→一般ユーザに変更するにはexitコマンドを入力。
    • rootユーザー(#マーク)の状態でexitと入力してEnter。すると、#$にもどる。
    • $は一般ユーザーを表す。
user@host$ 


rootユーザーだと結局何でもできてしまうので一見便利に見えるのだが、一方で誤って大事なファイルを消してしまったりなどの間違いも誘発しやすい。なので、必要な時だけrootユーザーに切り替え、やりたいことが終わったら一般ユーザーに戻るというのが正しい使い方である。

ユーザの切り替えにはsu/exitの他、sudoコマンドを使用する方法もある。

8.ソフトウェアの検索・インストール・削除・更新

Linuxの場合ソフトのインストールは、パッケージ(ソフトウェアのこと)のリストから選択し、コマンドからインストールを実行する。

リストはインターネットから常に最新のリストを取得することができ、ソフトウェアの数も相当数ある。

インストールのコマンドは、Linuxのリストリビューションによって違うので注意。 debianはaptコマンド推奨*1

aptコマンドについてはここの記事にまとめてある。

9.manコマンド

ここ参照。

10.pstreeコマンドとついでにsudo

pstreeは現在動いているプログラムをツリー表示する。

やってみようと思ったらpstree入ってなかった。 そしてインストールしようと思ったら、インストールはrootユーザーじゃないとできないので、この機会にsudoインストールしよう。

sudoインストール

sudoはワンオペレーションの間だけrootユーザーで実行できるコマンド。su/exitのように切り替える必要がないので、一般ユーザーへ戻し忘れたりしなくて便利。

まずはrootユーザーになってsudo インストールを実行。

# apt-get install sudo
# adduser {ユーザー名} sudo

sudoの権限を設定するvisudoコマンドを実行して設定ファイルを開きパス設定を記述。

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

pstreeをインストール

まずはpstreeのパッケージを検索。

$ apt search pstree

検索した結果、「psmisc」というパッケージが見つかったので、それをインストールし実行。

$ sudo apt install pstree
$ pstree

f:id:izumii-19:20181117190140p:plain:w300

11.psコマンド

Linuxのコマンド一覧参照。

12.コンソールと端末

さくらのVPSに作ったDebian環境はCUIインストールで作ったCUI環境そのものなので、割愛。

13.topコマンド

現在実行中のプロセスをCPU利用率が高い順に表示。キーボードのqキーで終了する。 よくLinuxのパフォーマンス状態をモニタリングするために利用されているコマンド。

topとpsの違いを検索するとCPU使用率の表示が違うという記事がたくさん出てくるので詳細は今調べないけど心に留めておく

Linux - top, ps コマンドの CPU使用率の違い! - mk-mode BLOG

14.パイプとgrepとless

ps auxだと結果がたくさん表示されすぎるが、マシンがフリーズした場合などはここから特定のPIDを検索したい。 そういうときはパイプとgrepを使用する。

$ ps aux | grep 検索する名称

パイプは、コマンドの入出力結果を次のコマンドに渡すためにつなぎ目のような役割をするもののことで、複数のコマンドをパイプでつなぎ合わせることによってプログラムのような振る舞いを実現することができる。

この場合、ps auxした結果(=大量のプロセスデータの検索結果)を次のコマンドgrepへ渡し、grepを実行した結果を画面に出力している。

また大量の検索結果を全部みる場合にはlessを使って1画面ずつ表示する方法もある。

$ ps aux | less

15.killコマンド

プロセスを殺すコマンド。普段は使わないけどフリーズした場合やゾンビプロセスなど、プロセスが正常に終了しなかった場合、killでプロセスを殺す。

16.wgetコマンド

目的のものをダウンロードするコマンド。wgetコマンドを行ったディレクトリにダウンロードされる。画像以外にも音楽や動画などもダウンロードできる。

$ wget ダウンロードしたいもの

17.CUIで画像を見る方法

CUIでは画像は見れないらしいので割愛。

18〜25.adduser/userdelコマンド、ファイル操作コマンド

Linuxのコマンド一覧参照。

*1:Linuxゲリラ戦記ではインストールの説明はaptitudeで説明しているがDebian9では標準インストールされていない。やるなら「apt install」を実行して先に入れないとできないのでaputitudeコマンドの学習は割愛。