UNIXコマンドガイド

UNIX一般

grep [検索文字列] [ファイル名]
テキストファイルの内容をスキャンし、特定の検索文字列を出力します。
-v
一致しないものを出力します。
-i
大文字と小文字を区別しない。
-n
行番号をあわせて表示する。

nohup [コマンド]
ログオフした後もプロセスを実行しつづけます。

top
solarisには付属していませんが システムの状況を一覧できます。コマンドと言うよりも アプリケーションです。

mkdir
ディレクトリを作成します。
-p
親ディレクトリがなければ、それを作成します。
mkdir -p /export/home1/guest/pub の場合
mkdir /export/home1
mkdir /export/home1/guest
mkdir /export/home1/guest/pub
まで一度に作成してしまうということです。
-m
新しい親ディレクトリのアクセスモードを設定します。
mkdir -m 444 read の場合
mkdir read
chmod 444 read
を、一度に実行することになります。

rm
指定した対象を消去します。使い方によりますがファイルを消去するコマンドと言う紹介はあえてしません。
-f
書き込み保護されたファイルも報告なしに削除します。
-i
削除する直前に警告を発します。Linuxでは rm=rm -i になっていたはずです。
-r
対象物すべてを削除します。ファイル、ディレクトリ、サブディレクトリ、等すべて削除します。
--
オプションの末尾を示します。[-ファイル名] や[-ディレクトリ名]などの場合 オプションとファイル名の仕切りに使用します。

df
マウントされている全てのファイルシステムを表示します。
-b
空き容量だけをKBで表示します。
-e
利用可能なファイルの数(inode)だけ表示します。
-v 又は -f
inode以外の情報を表示します。 -fはSVR3の場合です。
-F type
typeで指定されるアンマウントされた情報を表示します。
-k
割り当てられたサイズをKBで表示します。
-V
コマンドラインをechoするだけでコマンドを実行しません。

diff [ファイル1] [ファイル2]
2つのファイルを比較し異なる行を出力します。
-b
連続するブランクと行末のブランクを無視します。
ーh
おおまかな比較を行います。
-i
大文字と小文字を区別しません。
-w
-bと似ていますが タブを無視します。

diff3
3つのファイルを比較して一致、不一致の報告をします。diffと違い異なる個所は出力されません。

comm [オプション] [ファイル1] [ファイル2]
ソートされている2つのファイルファイル1とファイル2の共通な行、共通でない行を表示します。
-1
ファイル1にのみ存在する行を出力しません。
-2
ファイル2にのみ存在する行を出力しません。
-3
ファイル1とファイル2の両方に存在する行を出力しません。
-12
ファイル1とファイル2の両方に存在する行を出力します。
-13
ファイル2にのみ存在する行を出力します。
-23
ファイル1にのみ存在する行を出力します。
例えばhoge1とhoge2があるとします。hoge1 に存在する行のみを表示したい場合は次の様に実行して下さい。
$ comm -23 hoge1.txt hoge2.txt

date
時刻を表示、設定します。
date
と入力すれば現時刻を表示します。
date 0504020301
は 時刻を2001年05月04日午前02時03分に書き換えます。
date +"DATE is %D " とした場合
DATE is 05/04/01
と,年月日が出力されます。
%Tは時刻の出力です。

crontab
cronデーモンの設定などを行うコマンドです。
-l
crontabテキストを表示します。
-e
エディタで編集します。
標準のエディタを変更したい場合は環境変数を変えましょう。
setenv EDITOR emacs (Cシェルの場合)
EDITOR=emacs; export EDITOR (Bシェルの場合)

man
コマンド、ファイル名などのマニュアルを呼び出します。複数のnameを必要とする場合はスペースで区切って下さい。
-a
指定のnameに一致する全てのマニュアルページを表示します。
-d
指定のnameに対するマニュアルページを探すために使ったデバック情報を表示します。
-f file
指定のfileが参照されているマニュアルページを一覧に表示します。複数のファイルを選択する場合はスペースで区切ってください。
-F
windexデータベースを用いてマニュアルページを探す代わりに、全てのマニュアルセクションでnameを検索します。

-k keyword
指定したkeywoodを含む全てのwindexデータベースエントリの概要を出力します。
-l
指定のnameに一致する全てのマニュアルページの一覧を表示します。
-M path
マニュアルページファイルの別ディレクトリを指定します。
-r

指定のnameのマニュアルページを再整形します。出力は表示しませんので、後のmanコマンドを使うためにファイルを保存します。
-s
指定のセクションのみを検索します。複数のセクションを空白で区切る事もできます。

 

Solaris用

マウント、ファイルシステム系
mount [オプション] [デバイス名] [マウントポイント]
-p
現在のマウント情報を /etc/vfstabにあわせて表示します。以下のようにすれば容易に現在のマウント状態とあったvfstabを作成することができます。
# mount -p > /tmp/vfstab.sample
-a
ブート時にマウントするファイルシステム(/etc/vfstabのmount_at_bootフィールドがYESになっているファイルシステム) をマウントします。
-r
読み込み専用でマウントします。
-o
細かなアクセス制限を指定をするためのオプションです。 詳細は以下のとうりです。
rw 読み書きできるファイルシステム。
ro 読み出し専用
suid SetIDプログラムを実行する。
quota クオーターを指定する。

<補足>
/をrwモードに変更する場合は下記の様に-o remountオプションを使います。、
# mount -wn -o remount /
/をroモードに戻すには、下記の様になります。
# mount -rn -o remount /


umount [マウントポイント]
マウント解除
-f
強制的にマウント解除すします。

umountall
複数のマウントをまとめて解除します。
-r
リモートもマウントポイントを全て解除します。
-k
マウント解除前にそのファイルにアクセスがあればkillシグナルを送ってからマウント解除します。
-h [ホスト名]
指定したホストからのマウントを全て解除します。
-l
ローカルのマウントを全て解除します。
-F [ファイルシステム]
指定したタイプのファイルシステムを全てマウント解除します。

マウント解除できない場合
fuser -u [マウントポイント]
今、現在そのファイルを使用しているユーザーを表示します。

fsck [デバイス名]
ファイルシステムの整合性をチェックします。
-y
すべての問いにYesで答えます。
-F ufs
ufsファイルシステムを指定します。
# fsck -F ufs /dev/rdsk/c0t0d0s0
-o b=[代替ブロック番号]
代替ブロック番号を指定してファイルシステムを修復します。
fsck -F ufs -o b=32 /dev/rdsk/c0t0d0s0

newfs
新たなufsファイルシステムを作ります。 このコマンドも、全てのデータを消しさる非常に危険なコマンドです。ミスオ ペレーションのないように十分注意して下さい。
# newfs /dev/rdsk/c0t0d0s7
-N
代替のスーパーブロックを探す時に使います。実際にファイルシステムの内容は変更しません。
# newfs -N /dev/rdsk/c0t0d0s7

パッケージ、パッチ系
pkgadd
パッケージを追加します。
-d デバイスのマウントポイントの指定
-n 非対話式モード
-s パッケージをインストールせずにオプションで指定したディレクトリにスプールファイルを作成します。

pkgrm
パッケージを削除します。

pkginfo
パッケージ情報を表示します。
-d
メディア上のパッケージを確認する場合、パッケージの所在ディレクトリを指定して確認できます。
-x
パッケージの詳細情報を調べる事ができます。

pkgchk
インストール後のパッケージ情報を表示します。
-a
インストールしたパッケージのファイルの内容や属性をチェックできます。
-l
ファイルディレクトリ、所有者、グループなどに関するデフォルトの設定を確認できます。
-f
時と場合によってはパッケージ内容修正できる場合があります。

pkgmap
CD-ROMなどのインストールメディアの内容と比較する場合、メディア内に含まれているpkgmapファイルを参照することができます。

patchadd
パッチをインストールします。
-p
システムにインストール済みのパッチを一覧表示します。
-M
各パッチが入っているディレクトリと、各パッチ番号をリスト指定すると、一つのpatchaddコマンドで複数のパッチをインストールできます。
-C
ネットワーク経由でシステムのインストールに使用したイメージのミニルートにパッチを当てる事ができます。
-R
ディスクレスクライアントまたはAutoClientのブート可能なルートイメージにパッチをインストールすることができます。
-S
オペレーションシステムサービスにパッチを当てる時に使用します。

showrev
システムの情報を一覧表示します。
-p
システムにインストール済みのパッチを表示します。

patchrm
パッチをアンインストールします。

デバイス系
mt
指定されたコマンドをテープドライブに送ります。

fsf
指定された回数だけファイルの読み取り位置をすすめます。

status
テープドライブのステータス表示

remind
テープを巻き戻します。

du
ディレクトリの使用量を確認します。
-a
指定されたディレクトリに含まれる全てのファイルの容量を表示します。
-k
KB単位で表示します。
-s
ディレクトリ全体の総合計サイズのみを表示します。

ユーザーとグループの追加
useradd
-u
任意のuidをセットできます。(0から100のuidはシステムユーザーが使うとされていますので実際は100以上)
-o
ユーザーIDの重複を許可して使用することができます。
-g
ユーザーアカウントの一次グループのGID又はグループ名を指定します。
-G
ユーザーアカウントの二次グループのGID又はグループ名を指定します。
-P
1つ又は複数のプロファイルを指定できます。
-d
ユーザーディレクトリを指定できます。
-s
ログインシェルを指定できます。
-k
テンプレートディレクトリ(環境設定ファイルの格納ディレクトリ)を指定する事ができます。
-m
ホームディレクトリがまだなければ作成します。
-b
ホームディレクトリ(-d)を指定しないとアカウント名をベースディレクトリに追加した名前がホームディレクトリになります。
-D
承認名、ベースディレクトリ(-b)、グループ、有効期限(-e),最長非使用日数(-f)、実行プロファイル(-P)、ロール(-R)にデフォルト値をセットすることができます。これによりユーザー追加を多少楽にすることができます。

usermod
ユーザーを追加したその後、ユーザーデータを変更する場合にusermodを使います。基本的にはuseraddコマンドと同じですが異なる点もありますので下にまとめました。
ベースディレクトリ(-b)は使えません。
デフォルト値(-D)は使えません。
テンプレートディレクトリ(-k)は使えません。
アカウント名を変更する場合は -lを用いて新しいユーザー名をセットして下さい。

userdel
ユーザーデータを削除することができるコマンドです。唯一のオプションは-rで、ユーザーのホームディレクトリを削除する事ができます。

groupadd
新しいグループ名を追加します。
-g
任意のgidをセットできます。
-o
重複したgidをグループに割り当てる場合に使います。

groupmod
既存のグループデータを変更できます。
-n
グループアカウント名を更新する場合に用います。

groupdel
引数に指定したグループデータを削除します。

passwd
引数に一般ユーザー名を指定すると一般ユーザーのパスワードを更新する事ができます。ただし一般 が実行する場合はいくつかの制約がありますのでメインページのUNIXシステム管理を参照してください。
-as
変更するパスワードの持ち主であるユーザーアカウントの名前をセットできます。
-d
指定したアカウントのパスワードを削除できます。
-l
指定のアカウントをロックし、アクセスできないようにします。

システム設定系
sys-unconfig
システムの設定を初期化します。実行後、リブートしてホスト名や ネットワークの再設定ができるようになります。

kdmconfig
Xsun(画面設定)の再設定ができるようになります。

crle
LD_LIBRARY_PATH 変数設定をセットします。Linuxのld.confにパスを追加する際と同じことになります。
-l
基本的なライブラリーのパスを -l オプションで指定し登録します。
-c
新規登録の場合、以下のように設定ファイル(/var/ld/ld.config)を指定します。
# crle -c /var/ld/ld.config -l /usr/lib
-u
別のパスを追加するには、-u オプションを使用します。
# crle -u -l /usr/local/lib

システム監視系
sysdef
詳細な デバイス情報一覧を表示します。

prtconf
詳細なシステム設定情報やドライバ情報を表示します。

psrinfo
CPU モニタを表示します。

iostat [間隔秒数] [回数]
I/O使用率を表示します。

vmstat [間隔秒数] [回数]
CPU・メモリ使用状況を表示します。
このコマンドにより、プロセス・仮想メモリ・ディスク・トラップ・CPUアクティビティに関する統計を表示してくれます。

prstat
プロセスリソース使用状況を表示します。
このコマンドは、Solaris8で使用可能となっています。

mpstat [間隔秒数] [回数]
複数プロセッサCPU使用率を表示します。
このコマンドにより、各プロセッサ統計を表示してくれます。

prtdiag
システムの diag情報を表示します。

snoop
パケットの内容を表示します。

sysdef
swapの場所やサイズ、カーネル変数、カーネルの設定を表示します。

 

vi編集

置換
:s/word1/word2/
カーソルのあった行の中の、文字列1を文字列2に置き換えます。

:s/word1/word2/g
実際には、置換をしたい行を見つけるのが重要です。そこで、sコマンドは、たいてい検索コマンドと組み合わせて用います。

:/word1/s/word2/word3/
文字列1を(テキストの下向きに)検索し、その行にある文字列2を文字列3に換えます。

:/word1/s//word2/
文字列1を含む行を捜して、文字列1を文字列2に置き換えます。

:g/word1/s//word2/g
グローバルな置換(全ての行に対して置換を行う)


<戻る>