Linux/BSDユーザーのはまり道 (2/4)

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    PID PPID   C   STIME TTY TIME CMD
root    0    0 3月 22 ? 0:43 sched
root    1    0 3月 22 ? 0:09 /sbin/init
root    2    0 3月 22 ? 0:00 pageout
root    3    0 3月 22 ? 44:51 fsflush
 daemon 197 1   0  3月 22 ? 0:00 /usr/lib/nfs/statd
root 216  7 0 3月 22 console 0:00 /usr/lib/saf/ttymon
 hourin 16747 16660 0  03:43:42 pts/6 0:00 ps -ef
root 336    1 0 3月 22 ? 0:02 /usr/sbin/syslogd
root 338    1 0 3月 22 ? 0:00 /usr/lib/ssh/sshd
 hourin 16660    16658 0  03:20:46 pts/6 0:00 -tcsh
 hourin 16658    16655 0  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ではデフォルトで用意されているツールが見つからずハマる
Solaris 10 完全攻略ガイド
Solarisがオープンソースになる 〜 サンの戦略を読み解く
第1回 Solarisとオープンソース
第2回 コミュニティとロードマップ
Sun Java Studio CreatorでWebアプリケーションを作ろう
第1回 Sun Java Studio Creatorをインストールする
第2回 Webアプリケーションを作る前に
第3回 Webアプリケーションを作ってみよう
第4回 データベースへの登録処理を作ろう
徹底比較!! Solaris/Linux/BSD
第1回 歴史とアーキテクチャを比較してみる
第2回 ファイルシステムを比較してみる
第3回 その他の機能を比較してみる
Linux/BSDユーザーのはまり道
  Linux/BSDユーザーのはまり道

人気記事トップ10

人気記事ランキングをもっと見る