Hit the books!!

プログラミング学習記録

「新しいLinuxの教科書」を読む会 #5

今日は「新しいLinuxの教科書」を読む会 #5 に参加。

「新しいLinuxの教科書」を読む会とは

著者の三宅さん、大角さんが月1回のペースで開催されている勉強会。読み進めながら質問にも答えてくださいます。

「新しいLinuxの教科書」はフィヨルドブートキャンプのLinuxのプラクティスで必読書であったので、私は復習のために第3回から参加している。

今日の学習

範囲:Chapter9の03 スパーユーザ~Chapter10の01 プロセスとは まで

suとsu -の違い

suで# whoamiするとrootになっているが、# echo $PATHすると一般ユーザと変わっていない。(自分のユーザの設定を引きずってしまう) 意図せぬ変更をしてしまうかもしれないためsu -を使ったほうが良い。

su -で# echo $PATHをするとrootユーザ用のパスしかない。

※自分で実行した結果を貼ろうと思ったらrootのパスワード忘れちった!シングルユーザモードで起動して設定しなおせばいいみたいだけどまだやってない!

su -とsudo

su -とsudoのどちらがセキュアかは議論の余地があるがsudoを使うのが一般的。

sudoでは設定で実行できるコマンドを絞ることができるので、その機能を使って管理するのがセキュリティ的にはいいやり方だが、実際に細かく設定するのは管理が煩雑になり現実的ではなさそう。

tmux

tmuxを使うとターミナルをいっぱい起動しなくてすむ。良さそうなのでさっそくインストールした。

% brew install tmux

% tmuxで起動、% exitで終了する。

% tmux -Vでバージョン確認。

基本操作

◆ウィンドウ系

  • Ctrl+b c:新しいウィンドウを作成して切り替える

(Ctrl+bを押した後に離してcを押す)

  • Ctrl+b n:次(右)のウィンドウに移動
  • Ctrl+b p:前(左)のウィンドウに移動
  • Ctrl+b 番号:指定した番号のウィンドウに移動

※ウィンドウには0からはじまる番号が割り当てられる

◆ペイン系(ペイン=ウィンドウ分割)

  • Ctrl+b ":横方向に分割して新しいペインを作成する
  • Ctrl+b %:縦方向に分割して新しいペインを作成する

  • Ctrl+b o:次のペインに移動する

  • Ctrl+b ;:直前に選択していたペインに移動する
  • Ctrl+b q:ペインの番号を表示する。続けて数字を入力するとその番号のペインに移動する

tmuxの設定ファイル

デフォルトのCtrl+bは使いづらいので、自分で設定を変えている人が多数。

設定ファイル.tmux.confを作成して設定を変更しよう。

% touch ~/.tmux.conf

私はCtrl+bをCtrl+tで操作するようにした。

.tmux.confの例↓

# プレフィックスキーをCtrl+tに変更する 
unbind-key C-b
set-option -g prefix C-t
bind-key C-t send-prefix

# Ctrl+h,j,k,lでペインを切り替える
# h = 左、j = 下、k = 上、l = 右
bind-key h select-pane -L
bind-key C-h select-pane -L
bind-key j select-pane -D
bind-key C-j select-pane -D
bind-key k select-pane -U
bind-key C-k select-pane -U
bind-key l select-pane -R
bind-key C-l select-pane -R

設定後は以下を実行すれば即座に反映される。

% tmux source-file ~/.tmux.conf

psコマンドのオプション

auxとauxwwというすべてのユーザのプロセスを詳細情報を合わせて表示するオプションがあるが、auxの場合はターミナルの右端で切れてしまう可能性があるため、常にauxwwを利用すべき。