bc - コマンドライン計算機

ターミナル上でちょっと計算したい。
そんなときに使えるコマンド。

bc

とだけ打つと、対話モードになる。
対話モード時にプロンプトとかないので、貼ってもわかりにくいが、手元の環境だと以下のような感じ。

quiche@virtue:~$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
scale=2 # <= 入力
35*2    # <= 入力
70      # <= 実行結果
30/3    # <= 入力
10.00   # <= 実行結果

こんな感じで簡単な計算機として使える。

scale=2

は小数点以下の桁数(=精度)を指定している。

詳しい使い方は man とか見るといいでしょう。

Debianにおけるサービスのランレベルの制御

RedHat系のOSではchkconfigというコマンドで、サービスのランレベルを制御することができるのだが、Debianで相当するコマンドは update-rc.d である。

# update-rc.d apache2 defaults // OS起動時に実行
# update-rc.d apache2 remove   // OS起動時に実行しない

…が、chkconfig --listに相当するオプションがなさそう。
そこで、sysv-rc-conf というパッケージをインストールすると、chkconfigとほぼ同じ使い方ができるsysv-rc-conf コマンドを使えるようになる。

# apt-get install sysv-rc-conf // インストール
# sysv-rc-conf --list // 一覧
# sysv-rc-conf apache2 off // apacheを自動起動しない
# sysv-rc-conf --list | grep gdm3
gdm3         0:off      1:off   2:on    3:on    4:on    5:on    6:off
# sysv-rc-conf --level 234 off // ランレベル234ではGNOMEを起動しない
gdm3         0:off      1:off   2:off   3:off   4:off   5:on    6:off

デフォルトで起動するサービスの停止

以下のようなサービスは停止しておいてもよいかもしれない。

  • portmap, nfs-common ... NFSを使わないなら要らない
  • anacron, cron ... cronを使わないなら要らない
  • atd ... atコマンドを使わないなら要らない
  • exim4 ... メール送信しないなら要らない
  • bluetooth ... Bluetoothデバイスを使わないなら要らない
  • cups ... プリンタ使わないなら要らない

setコマンド

set -e

シェルスクリプト内で、コマンド実行時に直ちに終了したいときに使う。

#!/bin/sh

set -e
/path/to/test1.sh
/path/to/test2.sh

set -eをつけていないと、test1.sh, test2.sh両方が実行されてしまう。
set -eをつけていると、test1.shが失敗した時には、test2.shを実行せずにこのスクリプト自体が終了してくれる。

ssコマンド

netstatと同じような使い方ができるコマンド。
netstatより動作が軽いらしい。

オプションもよく似ている。

ss -a # すべてのソケットを表示
ss -t -a # TCPのすべてのソケットを表示
ss -u -a # UDPのすべてのソケットを表示
ss -anp # -n: 名前解決しない -p: プロセス表示