システム関連/UNIX関連/コマンド
Last-modified: 2022-05-05 (木) 09:23:36
date†
日付の表示と設定
- Solaris
使用法: date [-u] mmddHHMM[[cc]yy][.SS] date [-u] [+format] date -a [-]sss[.fff]
と出るので
時間を合わせる場合は以下の様な感じで# date 04231745 2007年04月23日 (月) 17時45分00秒 JST
df†
- ディスクの使用率を表示する。
df -k
- i-nodeを表示
df -i df -oi(Solaris)
groupadd†
グループを追加する
# groupadd グループ名
- GIDを指定するには
# groupadd -g 指定したいGID グループ名
iconv†
文字コードを変換する。
- 変換可能な文字コードの一覧を出す。
# iconv -l
- 文字コードを変換する
# iconv -f EUC-JP -t SHIFT_JIS < infile.txt > outfile.txt -f 入力ファイルの文字コード -t 出力ファイルの文字コード
kill†
kill [-s signal] pid ...
- プロセスおよびジョブを終了させる。終了の方法はシグナルによって決まる。
使用できるシグナルは以下の通り。
通常,よく使うのはSIGHUP(終了して再起動),SIGKILL(強制終了)など。
シグナルの指定には数値か,シグナル名(先頭の SIGを除いたもの)が使用できる。
(kill -9 1234 とか kill -HUP 1234)
よく使うシグナル | |||
1 | SIGHUP | ハングアップ | confの再読み込みとかによく使う |
2 | SIGINT | 割り込み | |
3 | SIGQUIT | 停止 | |
9 | SIGKILL | 強制終了 | やむなく-9 |
15 | SIGTERM | 終了 | デフォルト値 |
mail†
ログインした時に”You have new mail.”と出たら
- mailコマンドをオプションとかなしで起動
- 「 h 」で一覧を出して
- 出てきた番号を入力してそのメールを読む
- 読み終わったら 「d メッセージ番号」で消すこともできる
- 抜ける時は「 q 」
Solarisのmailコマンド ? print this help message # display message number # - print previous + next (no delete) ! cmd execute cmd <CR> next (no delete) a position at and read newly arrived mail d [#] delete message # (default current message) dp delete current message and print the next dq delete current message and exit h a display all headers h d display headers of letters scheduled for deletion h [#] display headers around # (default current message) m user mail (and delete) current message to user n next (no delete) p print (override any warnings of binary content) P override default 'brief' mode and display ALL header lines q, ^D quit r [args] reply to (and delete) current letter via mail [args] s [files] save (and delete) current message (default mbox) u [#] undelete message # (default current message) w [files] save (and delete) current message without header x exit without changing mail y [files] save (and delete) current message (default mbox)
more†
テキストファイルの中身を表示する
コマンド | |
spaceキー | ページ送り |
returnキー | 行送り |
q | moreを終了 |
h | ヘルプを表示 |
netstat†
稼働中のサービスを調べる。
netstat -ntpl
稼働中のサービスを調べる。(ローカル側のポート番号を紐付くサービス名で表示)
netstat -tpl
State†
ESTABLISHED | ソケット接続が確立した状態 |
FIN_WAIT_2 | 接続はクローズされ、ソケットはリモートからの切断を待っている状態 |
TIME_WAIT | ソケットはクローズ後にリモートからの切断が再送されるのを待っている状態 |
CLOSE_WAIT | リモート側はすでに切断され、ソケットがクローズされるのを待っている状態 |
LISTEN | ソケットが接続待ち |
ps†
- 標準的な書式を使ってシステム上の全てのプロセスを表示
ps -ef
- BSD 書式を使ってシステム上の全てのプロセスを表示
ps aux
linuxでよく使うオプション | |
a | すべてのユーザーのプロセスを表示 |
u | ユーザー名、開始時刻等を詳細に表示 |
x | 制御端末のないプロセスも表示 |
w | 1行追加して表示を拡大(表示結果が途中で切れない様に) |
m | スレッドも表示する |
- fオプションで表示される項目
UID ユーザーID PID プロセスID PPID 親プロセスID C CPU使用率 STIME プロセスを起動した時間 TTY プロセスを起動した端末 TIME プロセスが利用したCPU時間 CMD プロセスを起動したコマンド
- uオプションで表示される項目
USER ユーザーID PID プロセスID %CPU CPU使用率 %MEM メモリ使用率 VSZ プロセスの仮想メモリー量 RSS プロセスが使用中の物理メモリー量 TTY プロセスを起動した端末 STAT プロセスの状態 START プロセスを起動した時間 TIME プロセスが利用したCPU時間 COMMAND プロセスを起動したコマンド
- STATについて
D 割り込み不可能なスリープ状態 (通常 IO 中) R 実行中または実行可能状態 (実行キューにある) S 割り込み可能なスリープ状態 (イベントの完了を待っている) T ジョブ制御シグナルまたはトレースされているために停止中の状態 W ページング状態 (2.6.xx カーネルからは無効) X 死んだ状態 (見えるべきではない) Z 終了したが、親プロセスによって回収されなかった、消滅した (ゾンビ) プロセス BSD 形式で stat キーワードが用いられたときは、以下の添付文字が表示されることがある。 < 優先度の高いプロセス (他のユーザーに対して良くない) N 優先度の低いプロセス (他のユーザーに対して良い) L 実メモリのページをロックして利用している (リアルタイム処理やカスタム IO 向け) s セッションリーダ l マルチスレッド化されている (NPTL pthreads が行うように、CLONE_THREAD が使われている) + フォアグラウンドのプロセスグループに含まれている
useradd†
ユーザを追加する
# useradd -g グループ名 ユーザ名
- NFSで同じファイルを別のサーバから参照する時はUIDを合わせておいた方が良さげ
- UIDの採番は/etc/passwdの中で一番大きい数字+1みたいなので一般ユーザに割り当てられた100番以上でどのサーバでも使わなさそうな番号を指定する。(通常100~60000の間 99以下はシステム管理用)
# useradd -u 指定したいUID -g グループ名 ユーザ名
usermod†
登録してあるユーザ情報を変更する。
- ホームディレクトリを変更する
# usermod -d 変更したいディレクトリ名 -m ユーザ名 (mをつけると現在のホームディレクトリの内容が移行される)
- UIDを変更する
# usermod -u 変更したいUID ユーザ名 (ホームディレクトリ以外のUIDは自動では変更されないので手動で変更する必要がある。)
- GIDを変更する
# usermod -g 変更したいGID ユーザ名
sar†
- ある日のCPU負荷状況のチェック
sar -f 読み込むファイル名 RHEL:/var/log/sa/saDD(日付) Solaris:/var/adm/sa/saDD(日付)
- ある日のメモリ使用状況のチェック
sar -r -f 読み込むファイル名 RHEL:/var/log/sa/saDD(日付) Solaris:/var/adm/sa/saDD(日付)
- 当日のsarの統計状況のチェック
sar -f (fオプションに指定日のファイルを指定しなければ当日になる)
- PIDを指定してCPU使用率をチェック
sar -x PID 間隔 回数
- sarの統計間隔等の設定
- /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib/sa/sa2 -A
- /etc/cron.d/sysstat
sort†
n | 先頭の数字や記号("+" , "-" , "." など)を数値とみなして,ソートする。先頭の空白は無視する |
k | ソート・キーの場所を設定する。ただし,先頭は1となる |
r | 逆順(降順)にソート |
ps aux | sort -nk 3 (psの結果を%CPUの項目でソート)
top†
リアルタイムでプロセスの状態を表示する。
- 抜けるには[q]キー
- 表示項目の追加削除を行うには[f]キー
- ヘルプの表示は[h]キー
- 一定間隔でtopの状態を取得する。
top -bd 60 > /tmp/top.log
- bはバッチモードのオプション
- dは実行間隔の指定(秒)
- 止める時は[Ctrl]+[c]で
zip†
zip -r 圧縮ファイル名 圧縮したいファイル
tar と zip の違い†
tarはアーカイブ時にシンボリックリンクをそのままアーカイブするが、zipはリンク先をアーカイブしようとするので
同じ様な動きにするには zip コマンドに -y オプションをつけてやる必要がある。