TOP書籍連動> コマンドのオプションや書式の違いでハマる




Linux/BSDユーザーのはまり道
Linux/BSDユーザーのはまり道

Linux/BSDユーザーのはまり道
著者:日本UNIXユーザ会  法林 浩之   2005/6/9
前のページ  1  2   3  4  次のページ
コマンドのオプションや書式の違いでハマる

   次に、基本的なコマンドをいろいろ打ってみると、いつも見ているような結果が出ないものがいくつかあることに気がつくと思います。例えば、BSDやLinuxで、稼働しているすべてのプロセスを表示させるときには「ps -aux」などと入力します。これと同じことをSolarisでやってみましょう(図1)。
deadend:~% ps -ax
ps: オプションが正しくありません -- x
使用法: ps [ -aAdeflcjLPyZ ] [ -o <書式> ] [ -t <用語リスト> ]
 [ -u userlist ] [ -U userlist ] [ -G grouplist ]
[ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ]
'format' には次のいずれか一つまたは複数を指定します:
ユーザー 実ユーザー グループ 実グループ ユーザー ID 実ユーザー ID グループ ID 実グループ ID プロセス ID 親プロセス ID プロセスグループ ID セッション ID タスク ID ctid
pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
f s c lwp nlwp psr tty addr wchan fname comm args projid project pset

図1:Solarisにおける「ps -aux」の実行結果

   Solarisのpsに「-x」などというオプションはないと怒られてしまいました。同じUNIXのはずなのにいったいどうなってるの?という感じですが、あわてずに「man ps」でpsコマンドのマニュアルを読んでみると、以下のオプションがあることがわかります。

-a 最も頻繁に要求されるすべてのプロセスに関する情報を表示します。ただし、プロセスのセッションリーダーおよび端末に関連していないプロセスは除きます。
-e 現在実行中のすべてのプロセスに関する情報を表示します。
-f 完全リストを作成します。

   どうやら「-a」はSolarisでは意味が異なるらしく、また「-x」は確かに存在しません。BSDやLinuxにおける「ps -aux」と同等の出力をSolarisで得るには、「ps -ef」と入力します(図2)。

deadend:~% ps -ef
UID   PIDPPID  C  STIMETTYTIMECMD
root   0   03月 22?0:43sched
root   1   03月 22?0:09/sbin/init
root   2   03月 22?0:00pageout
root   3   03月 22?44:51fsflush
 daemon 1971  0 3月 22?0:00/usr/lib/nfs/statd
root216 703月 22console0:00/usr/lib/saf/ttymon
 hourin16747166600 03:43:42pts/60:00ps -ef
root336    103月 22?0:02/usr/sbin/syslogd
root338   103月 22?0:00/usr/lib/ssh/sshd
 hourin16660   166580 03:20:46pts/60:00 -tcsh
 hourin16658   166550 03:20:46?0:00 /usr/lib/ssh/sshd

図2:Solarisにおける「ps -ef」の実行結果

   このように、同じコマンドでもオプションや書式が異なるものは他にもあります。例をいくつか挙げます。

df Solarisでは図3のように表示されます。BSDやLinuxと同等の結果を得るには「df -k」とします。
ping 「ping hoge.jp」と打っても「hoge.jp is alive」としか返ってきません。BSDやLinuxと同様の情報を得たいときは-sオプションを付けます。
shutdown BSDやLinuxでは「shutdown now」などと入力しますが、Solarisでは「-y」「-i」「-g」などを使って制御します(詳しくはman shutdown参照)。
deadend:~% df
/   (/dev/dsk/c0d0s0): 2660504   ブロック   415082   ファイル
/proc   (proc): 0   ブロック   3886   ファイル
/etc/svc/volatile    (swap): 1255456   ブロック   57571   ファイル
/boot   (/dev/dsk/c0d0p0boot ): 17961   ブロック   -1   ファイル
/tmp   (swap): 1255456   ブロック   57571   ファイル
/var/run   (swap): 1255456    ブロック   57571   ファイル
/export/home    (/dev/dsk/c0d0s7): 47484166   ブロック   2999366   ファイル

図3:Solarisにおけるdfの実行結果(抜粋)

   万事がこんな調子では使いにくくて仕方がないのですが、我々のようなユーザーが多数存在することを予想してか、一部のコマンドについてはBSDやLinuxと同じ動きをするものが/usr/ucbや/usr/sfw/binなどに収録されています。例えば「/usr/ucb/ps -aux」と入力すると、慣れ親しんだ形式で結果が出力されます。

   また、/usr/bin/tarにはアーカイブ作成と同時に圧縮するオプション(「z」や「j」)がないのですが、/usr/sfw/bin/gtarを使うと「z」や「j」オプションも利用できます。これを日常的に使いたいなら、.cshrcなどでコマンドパスの最初の方に/usr/ucbや/usr/sfw/binを書いておくと(図4)、同じコマンドでもBSD/Linux 互換のものが優先的に使われるようになります。

set path = (/usr/ucb /usr/sfw/bin /usr/local/sbin
 /usr/local/bin /usr/sbin /usr/bin /sbin /bin)

図4:.cshrcにおけるコマンドパスの記述例

前のページ  1  2   3  4  次のページ

書籍紹介
Solaris 10 完全攻略ガイド
Solaris 10 完全攻略ガイド 本格UNIX OSを無償でパソコンにインストール!
世界中の大規模商用システムで使われている本格UNIX OS「Solaris」が、無償でパソコンにインストールして使える! デスクトップ利用からサーバー設定、Solaris 9からの移行まで解説。ソフトがすべて入ったインストールDVD-ROM&CD-ROM付き。Linuxの次はSolarisに挑戦しよう!
発売日:2005/06/09発売
販売価格:\2,363(本体 \2,250+税)

著者プロフィール
日本UNIXユーザ会  法林 浩之(ほうりんひろゆき)
(株)IRIコミュニケーションズにてシステム構築に従事する傍ら、日本UNIXユーザ会会長として、UNIXやオープンソースなどの普及活動に努める。趣味はプロレス観戦。「ケータイWatch」などに頻出の法林岳之氏は実兄だが、体型は似ていない。
日本UNIXユーザ会:http://www.jus.or.jp/
法林浩之のページ:http://www.suplex.gr.jp/~hourin/


INDEX
Linux/BSDユーザーのはまり道
  はじめに
コマンドのオプションや書式の違いでハマる
  コマンドや設定ファイルの配置の違いでハマる
  BSDやLinuxではデフォルトで用意されているツールが見つからずハマる