Comments
Description
Transcript
emr_na-c01976051 - HPE Support Center
HP-UX リファレンス セクション 1 : ユーザーコマンド (A~M) HP-UX 11i v3 Vol. 1 / 10 Manufacturing Part Number : B2355-91027 2007 年 2 月 Printed in U.S.A. © Copyright 2007 Hewlett-Packard Development Company, L.P. ご注意 1. 本書に記載した内容は、予告なしに変更することがあります。 2. 本書は内容について細心の注意をもって作成いたしましたが、万一ご不審な点や誤り、記載 もれなど、お気付きの点がございましたら当社までお知らせください。 3. 当社は、お客様の誤った操作に起因する損害については、責任を負いかねますのでご了承く ださい。 4. 当社では、本書に関して特殊目的に対する適合性、市場性などについては、一切の保証をい たしかねます。また、備品、性能などに関連した損傷についても保証いたしかねます。 5. 当社提供外のソフトウェアの使用や信頼性についての責任は負いかねます。 6. 本書の内容の一部または全部を、無断でコピーしたり、他のプログラム言語に翻訳すること は法律で禁止されています。 7. 本製品パッケージとして提供した本書や媒体は本製品用だけにお使いください。プログラム をコピーする場合はバックアップ用だけにしてください。プログラムをそのままの形で、あ るいは変更を加えて第三者に販売することは固く禁じられています。 U.S. Government License Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data forCommercial Items are licensed to the U.S. Government under vendor’s standard commercial license. 著作権 この文書およびこの文書に記されたソフトウェアは下記のような著作権により保護されていま す。一部のマンページでは個別の著作権情報が確認できます。 Copyright © 1979, 1980, 1983, 1985-1993 The Regents of the University of California. Copyright © 1980, 1984, 1986 Novell, Inc. Copyright © 1985, 1986, 1988 Massachusetts Institute of Technology Copyright © 1986-2000 Sun Microsystems, Inc. Copyright © 1988 Carnegie Mellon University Copyright © 1989-1991 The University of Maryland ii Copyright © 1989-1993 The Open Software Foundation, Inc. Copyright © 1990 Motorola, Inc. Copyright © 1990-1992 Cornell University Copyright © 1991-2003 Mentat, Inc. Copyright © 1996 Morning Star Technologies, Inc. Copyright © 1996 Progressive Systems, Inc. 商標 Intel® および Itanium® は、米国ならびに他の国における Intel Corporation またはその関連会社の 商標または登録商標です。 Java™ は、米国における Sun Microsystems, Inc の商標です。 Microsoft®、MS-DOS® は米国 Microsoft Corporation の登録商標です。 OSF/Motif™ は米国および他の国における The Open Group の登録商標です。 UNIX® は The Open Group の登録商標です。 X Window System™ は The Open Group の登録商標です。 iii 出版履歴 出版の日付と部品番号は、最新版ができるたびに変更します。内容の小さな変更に対しては増刷 の際に対応し、出版日の変更は行いません。マニュアルの部品番号は、改訂が行われるたびに変 更します。 新版の作成は、記載内容の訂正もしくはドキュメント製品の変更にともなって行われます。お手 元のマニュアルが最新のものかどうかは、当社の営業担当に確認してください。 日付 部品番号 2007 年 2 月 第 1 版、B2355-91027~91036 (10vol) (英語版: B2355-91017~91026) 重要 本書の発行後も、新しい情報が発生する可能性があります。最新の情報について は、HP ドキュメント Web サイト(以下のURL)で確認してください。 英語版 http://docs.hp.com/ 日本語版 http://docs.hp.com/ja 原典 iv 本書は 『HP-UX Reference Section 1 : User Commands(A~M) HP-UX 11i Version 3, February 2007 Volume 1 of 10』(HP Part No. B2355-91017) を翻訳したものです。 表記規約 本書では、次の表記規約を使用します。 audit (5) HP-UX マンページ。audit はマンページ名で、5 は HP-UX リファレンスのセク ション 番号です。HP-UX コマンド行からマンページを表示するには、“man audit”、または “man 5 audit” と入力します。man (1)を参照してください。 『マニュアル名』 マニュアルの名前です。web ページや Instant Information CD では、そのマニュ アルへのリンクになっていることがあります。 KeyCap キーボード上のキーです。Return と Enter は同じキーを指しているので注意し てください。 強調 強調したいテキスト文字列を示します。 強調 特に強く強調したいテキスト文字列です。 ENVIRONVAR 環境変数の名前を表します。 [ERRORNAME] エラー番号の名前を表します。通常、errno 変数にその値が設定されます。 Term 重要な単語や表現で、定義されたものです。 ComputerOutput コンピュータが表示するテキスト文字列です。 UserInput 入力するコマンドなどのテキスト文字列を示します。 Command コマンド名か修飾子付きコマンド名を示します。 Variable コマンドや関数、情報内で、とりうる値の 1 つに置き換えられることを示す変 数の名前です。 [ ] 形式やコマンドの説明でオプションの内容を示します。内容が"|" で区切られ ているときにはその項目のうち 1 つだけ選べることを示します。 { } 形式やコマンドの説明で必須の内容を示します。内容が"|" で区切られている ときにはその項目の 1 つを選ぶ必要があります。 ... 前にある要素を任意の回数だけ繰り返すことを示します。 | 選択リスト内の項目の区切りを示します。 v vi はじめに HP-UX は、さまざまな業界標準との互換性があるオペレーティングシステムを、HP 社が実現し たものです。UNIX® システム V リリース 4 オペレーティングシステムを基本とし、Fourth Berkeley Software Distribution の重要な機能を取り入れています。 本書は、HP-UX の個々のマンページをまとめたシステム参照ドキュメントです。 一般情報 HP-UX の一般的な紹介及びマンページの構成とフォーマットについては、introduction (9) マン ページをご参照ください。 セクション紹介 マンページはセクション別に分けられており、各セクションには概要 (intro) マンページがありま す。 intro (1) セクション 1: ユーザー コマンド (vol. 1: A~M、vol. 2: N~Z) intro (1M) セクション 1M: システム管理コマンド (vol. 3: A~M、vol. 4: N~Z) intro (2) セクション 2: システム コール (vol. 5) intro (3C) セクション 3: ライブラリ (vol. 6: A~M、vol. 7: N~Z) intro (4) セクション 4: ファイル フォーマット (vol. 8) intro (5) セクション 5: その他の機能 (vol. 9) intro (7) セクション 7: デバイス特殊ファイル (vol. 10) intro (9) セクション 9: 一般情報 (vol. 10) vii viii Vol. 1 目次 セクション 1 Vol. 1 目次 セクション 1 目次 Vol. 1&2 セクション 1: ユーザーコマンド エントリ 名(セクション): 名称 説明 intro(1): intro…………………………………………コマンドユーティリティおよびアプリケーションプログラムの概要 adb(1): adb………………………………………………………………………………………………アブソリュートデバッガ adjust(1): adjust……………………………………………………………………………………簡単なテキストフォーマッタ admin(1): admin……………………………………………………………………………………SCCS ファイルの作成と管理 alias: コマンドおよび (または) ファイル名の置き換え……………………………………………………sh-posix(1)参照 alias: コマンドおよび (または) ファイル名の置き換え……………………………………………………………csh(1)参照 alias: コマンドおよび (または) ファイル名の置き換え…………………………………………………………ksh(1)参照 alloc: 動的メモリー使用の表示………………………………………………………………………………………csh(1)参照 answer(1): answer……………………………………………………………………………電話メッセージ応答送信システム ar(1): ar…………………………………………………………………接続可能なアーカイブとライブラリの作成および保守 as(1): as………………………………………………………………………………アセンブラ (プレシジョンアーキテクチャ) as: Integrity システム用アセンブラ……………………………………………………………………………………ap_ia(1)参照 as: PA-RISC システム用アセンブラ…………………………………………………………………………………as_pa(1)参照 as_ia(1): as…………………………………………………………………………………………Integrity システム用アセンブラ as_pa(1): as………………………………………………………………………………………PA-RISC システム用アセンブラ asa(1): asa………………………………………………………………………………………ASA キャリッジ制御文字の解釈 at(1): at, batch………………………………………………………………バッチコマンドの即時および指定時刻での実行 attributes(1): attributes…………………………………………………………………………音声ファイルについての説明 awk(1): awk…………………………………………………………………………………………パターン指向の走査処理言語 banner(1): banner………………………………………………………………………………拡大文字によるポスターの作成 basename(1): basename, dirname…………………………………………………………………パス名の一部の取り出し batch: コマンドの即時実行………………………………………………………………………………………………at(1)参照 bc(1): bc……………………………………………………………………………………………………任意の精度の算術言語 bdiff(1): bdiff………………………………………………………………………………………………ラージファイルのdiff break: for/nextループからの抜け出し……………………………………………………………………………………csh(1)参照 break: for/nextループからの抜け出し……………………………………………………………………………………ksh(1)参照 break: for/nextループからの抜け出し………………………………………………………………………………sh-bourne(1)参照 break: for/nextループからの抜け出し………………………………………………………………………………sh-posix(1)参照 breaksw: endswのあとのswitchとresumeからの抜け出し…………………………………………………………csh(1)参照 bs(1): bs…………………………………………………………中規模の大きさのプログラム用のコンパイラ/インタプリタ cal(1): cal………………………………………………………………………………………………………カレンダのプリント calendar(1): calendar………………………………………………………………………………………………メモサービス cancel: LPプリンタの取消し要求……………………………………………………………………………………lp(1)参照 case: パターンマッチを使用したコマンドの実行………………………………………………………………csh(1)参照 case: パターンマッチを使用したコマンドの実行…………………………………………………………………ksh(1)参照 case: パターンマッチを使用したコマンドの実行……………………………………………………………sh-posix(1)参照 cat(1): cat…………………………………………………………………………………ファイルの連結、コピー、および出力 cc: バンドルされている C コンパイラ………………………………………………………………………cc_bundled(1)参照 cc_bundled(1): cc……………………………………………………………………………バンドルされている C コンパイラ ccat: 圧縮されたファイルのcat…………………………………………………………………………………… compact(1)参照 cd(1): cd……………………………………………………………………………………………………ワークディレクトリの変更 cd: ワーキングディレクトリの変更……………………………………………………………………………………csh(1)参照 HP-UX 11i Version 3: February 2007 Hewlett-Packard Company ix 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 cd: ワーキングディレクトリの変更……………………………………………………………………………………ksh(1)参照 cd: ワーキングディレクトリの変更………………………………………………………………………………sh-bourne(1)参照 cd: ワーキングディレクトリの変更………………………………………………………………………………sh-posix(1)参照 cdc(1): cdc………………………………………………………………………………………SCCS デルタのデルタ注釈の変更 chacl(1): chacl…………………………ファイルのアクセス制御リスト(ACL)の追加、修正、削除、コピー、または要約 chatr(1): chatr……………………………………………………………………………………プログラムの内部属性の変更 chatr: プログラムの内部属性の変更…………………………………………………………………………… chart_ia(1)参照 chatr: プログラムの内部属性の変更…………………………………………………………………………… chart_pa(1)参照 chart_ia(1): chatr……………………………………………………………………………………プログラムの内部属性の変更 chart_pa(1): chatr…………………………………………………………………………………プログラムの内部属性の変更 chdir: ワーキングディレクトリの変更 ………………………………………………………………………………… csh(1)参照 checknr(1): checknr………………………………………………………………………………nroff/troff ファイルのチェック chfn(1): chfn…………………………………………………………………………ユーザー情報の変更、fingerで使用される chgrp: ファイルのグループの変更…………………………………………………………………………………chown(1)参照 chmod(1): chmod………………………………………………………………ファイルモードアクセスパーミッションの変更 chown(1): chown, chgrp……………………………………………………………ファイルの所有者またはグループの変更 chsh(1): chsh…………………………………………………………………………………デフォルトのログインシェルの変更 ci(1): ci……………………………………………………………………………………………RCS リビジョンのチェックイン cksum(1): cksum……………………………………………………………ファイルのチェックサムおよびサイズのプリント clear(1): clear……………………………………………………………………………………ターミナルスクリーンのクリア cmp(1): cmp……………………………………………………………………………………………………2つのファイルの比較 co(1): co………………………………………………………………………………………RCS リビジョンのチェックアウト col(1): col…………………………………………………………………逆ラインフィードおよびバックスペースのフィルタ comb(1): comb…………………………………………………………………………………………………SCCS デルタの結合 comm(1): comm…………………………………………………並べ換えた2つのファイルに共通する行の選択、または拒否 compact(1): compact, uncompact, ccat…………………………………………ファイルの圧縮、展開、およびそれらのcat compress(1): compress, uncompress, zcat, compressdir, uncompressdir…………データの圧縮および展開 compressdir: ディレクトリ内のファイルの圧縮………………………………………………………………compress(1)参照 continue: もっとも近い while あるいは foreach の再開…………………………………………………………csh(1)参照 continue: for/nextループの繰り返し…………………………………………………………………………………ksh(1)参照 continue: for/nextループの繰り返し………………………………………………………………………………sh-bourne(1)参照 continue: for/nextループの繰り返し……………………………………………………………………………sh-posix(1)参照 convert(1): convert…………………………………………………………………………………………音声ファイルの変換 cp(1): cp……………………………………………………………………ファイルおよびディレクトリサブツリーのコピー cpio(1): cpio………………………………………………………………ファイルアーカイブのコピーインおよびコピーアウト cpp(1): cpp……………………………………………………………………………………………………C言語プリプロセッサ crontab(1): crontab…………………………………………………………………ユーザージョブファイルのスケジューラ crypt(1): crypt…………………………………………………………………………………ファイルのコード化/デコード化 csh(1): csh…………………………………………………C 言語スタイルの構文を備えたシェル (コマンドインタプリタ) csplit(1): csplit…………………………………………………………………………………………………コンテキスト分割 ct(1): ct…………………………………………………リモートターミナルへのgettyのspawn生成(ターミナルへの電話接続) ctags(1): ctags…………………………………………………………………………………………………タグファイルの作成 cu(1): cu……………………………………………………………別の(UNIX)システムの呼び出し(ターミナルエミュレータ) x Hewlett-Packard Company HP-UX 11i Version 3: February 2007 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 cut(1): cut………………………………………………………………ファイルの各行から指定のフィールドをカット(抽出) date(1): date………………………………………………………………………………………………………日時の表示と設定 dc(1): dc……………………………………………………………………………………………………………………………電卓 dd(1): dd………………………………………………………(テープ)ファイルの変換、再ブロック化、変換、およびコピー default: switch文のデフォルトのラベル………………………………………………………………………………csh(1)参照 delta(1): delta………………………………………………………………………………SCCSファイルのデルタの作成(変更) deroff(1): deroff…………………………………………………………………nroff、tbl、およびneqnコンストラクトの削除 dhcpv6client_ui(1): dhcpv6client_ui…………………………………………………………………………………………… ………………DHCPv6 サーバーに構成パラメータを要求するための DHCPv6 クライアントインタフェース diff(1): diff…………………………………………………………………………ファイルとディレクトリの差分プログラム diff3(1): diff3………………………………………………………………………………………3つの異なるファイルの比較 diffh: ファイルの差分プログラム………………………………………………………………………………………diff(1)参照 diffmk(1): diffmk…………………………………………………2つの異なったバージョンのファイルの相違のマーク付け dircmp(1): dircmp……………………………………………………………………………………………ディレクトリの比較 dirname: パス名の一部の取り出し……………………………………………………………………………basename(1)参照 dirs: ディレクトリスタックのプリント………………………………………………………………………………csh(1)参照 disable: LPプリンタのディスエーブル…………………………………………………………………………enable(1)参照 dmpxlt(1): dmpxlt…………………………………………………………iconv変換テーブルの読み取り可能形式でのダンプ dnssec-makekeyset(1): dnssec-makekeyset…………………………………………………………DNSSEC鍵セットの作成 dnssec-signkey(1): dnssec-signkey……………………………………………………………DNSSEC鍵セット署名ツール dos2ux(1): dos2ux, ux2dos……………………………………………………………ASCII ファイルフォーマットの変換 dosdf(1): dosdf……………………………………………………………………………未使用ディスククラスタ数のレポート dspcat(1): dspcat…………………………………………………………………メッセージカタログの全体または一部の表示 dspmsg(1): dspmsg………………………………………………………メッセージカタログ内の選択したメッセージの表示 du(1): du………………………………………………………………………………………………………ディスク使用量の要約 dumpmsg: 修正用のメッセージカタログ ファイルの作成………………………………………………………findmsg(1)参照 echo(1): echo………………………………………………………………………………………………引き数のエコー (表示) echo: 引き数のエコー(プリント)………………………………………………………………………………………csh(1)参照 echo: 引き数のエコー(プリント)……………………………………………………………………………………ksh(1)参照 echo: 引き数のエコー(プリント)……………………………………………………………………………………sh-bourne(1)参照 echo: 引き数のエコー(プリント)…………………………………………………………………………………sh-posix(1)参照 ed(1): ed, red…………………………………………………………………………………………行指向のテキストエディタ edit: 初心者用スクリーン指向テキストエディター…………………………………………………………………ex(1)参照 egrep: ファイルのパターン検索………………………………………………………………………………………grep(1)参照 elfdump(1): elfdump……………………………………………………オブジェクトファイルに含まれている情報をダンプ elm(1): elm……………………………………………………………スクリーン指向のインタフェースによる電子メール処理 elmalias(1): elmalias…………………………………………………elm のユーザー別名とシステム別名の表示および確認 enable(1): enable, disable………………………………………………………LPプリンタのイネーブル/ディスエーブル end: foreach あるいは while ルールの終了……………………………………………………………………………csh(1)参照 endsw: switch 文の終了…………………………………………………………………………………………………csh(1)参照 env(1): env…………………………………………………………………………………………コマンド実行のための環境設定 eucset(1): eucset……………………………………………………………ldtermに対するEUCコード幅の設定および取り出し eval: 引き数をシェルの入力として読み結果を実行する…………………………………………………………csh(1)参照 HP-UX 11i Version 3: February 2007 Hewlett-Packard Company xi 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 eval: シェル入力としての引き数の読み取りとコマンドの実行……………………………………………………ksh(1)参照 eval: シェル入力としての引き数の読み取りとコマンドの実行………………………………………………sh-bourne(1)参照 eval: シェル入力としての引き数の読み取りとコマンドの実行………………………………………………sh-posix(1)参照 evmget(1): evmget……………………………………………………………………………………保存済みイベントを取得する evminfo(1): evminfo………………………………………………………………………………EVM に関する情報を提供する evmpost(1): evmpost…………………………………………………………………イベントを EVM デーモンにポストする evmshow(1): evmshow…………………………………………………………………………………EVM イベントを表示する evmsort(1): evmsort…………………………………………………………………………………………イベントをソートする evmwatch(1): evmwatch………………………………………………………………………………EVM イベントを監視する ex(1): ex, edit…………………………………………………………………………………行指向の拡張テキストエディタ exec: 新しいプロセスを生成せずにコマンドを実行する…………………………………………………………csh(1)参照 exec: 新しいプロセスを生成せずにコマンドを実行する…………………………………………………………ksh(1)参照 exec: 新しいプロセスを生成せずにコマンドを実行する………………………………………………………sh-bourne(1)参照 exec: 新しいプロセスを生成せずにコマンドを実行する………………………………………………………sh-posix(1)参照 exit: 終了ステータスとともにシェルを終了する……………………………………………………………………csh(1)参照 exit: 終了ステータスとともにシェルを終了する………………………………………………………………………ksh(1)参照 exit: 終了ステータスとともにシェルを終了する………………………………………………………………sh-bourne(1)参照 exit: 終了ステータスとともにシェルを終了する…………………………………………………………………sh-posix(1)参照 expand(1): expand, unexpand……………………………………………………………タブをスペースに展開およびその逆 expand_alias(1): expand_alias………………………………………………………………sendmail の別名を再帰的に展開 export: 以降のコマンド環境に可変名のエクスポート…………………………………………………………ksh(1)参照 export: 以降のコマンド環境に可変名のエクスポート…………………………………………………………sh-bourne(1)参照 export: 以降のコマンド環境に可変名のエクスポート…………………………………………………………sh-posix(1)参照 expr(1): expr…………………………………………………………………………………………………引き数を式として評価 factor(1): factor, primes……………………………………………………………数値の素因数分解、大きな素数の生成 false: 何もしないで非ゼロの戻り値を返す…………………………………………………………true(1)参照 fastbind(1): fastbind………………………………………高速プログラム起動のための不完全な実行可能ファイルの準備 fastmail (1): fastmail………………………………………………………………………簡易バッチメール インタフェース fc: 前のコマンドの編集と実行…………………………………………………………………………………………ksh(1)参照 fc: 前のコマンドの編集と実行…………………………………………………………………………………sh-posix(1)参照 fgrep: ファイルの指定文字列検索(高速アルゴリズム)…………………………………………………………grep(1)参照 file(1): file…………………………………………………………………………………………………ファイルタイプの判別 find(1): find…………………………………………………………………………………………………………ファイルの検索 findmsg(1): findmsg, dumpmsg……………………………………………修正用のメッセージカタログ ファイルの作成 findstr(1): findstr…………………………………………………………………メッセージカタログに入れる文字列の検索 finger(1): finger……………………………………………………………………………………ユーザー情報参照プログラム fmt(1): fmt…………………………………………………………………………………………………テキストのフォーマット fold(1): fold…………………………………………………………………一定幅の出力デバイスのための長い行の折り返し footprints(1): footprints…………………………………………………コンパイラのフットプリントレコード情報の要約 for: doリストの実行………………………………………………………………………………………………………ksh(1)参照 for: doリストの実行…………………………………………………………………………………………………sh-posix(1)参照 forder(1): forder………………………………………………………………………………………ファイルデータ順序の変換 foreach: 繰り返しループの開始……………………………………………………………………………………csh(1)参照 xii Hewlett-Packard Company HP-UX 11i Version 3: February 2007 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 from(1): from…………………………………………………………………………………………………メールの送信元の表示 ftio(1): ftio……………………………………………………………………………………………………………高速テープI/O ftp(1): ftp…………………………………………………………………………………………………ファイル転送プログラム gcore(1): gcore……………………………………………………………………………実行中プロセスのコアイメージの取得 gencat(1): gencat…………………………………………………フォーマットされたメッセージカタログ ファイルの生成 genxlt(1): genxlt………………………………………………………………………………………iconv変換テーブルの生成 get(1): get……………………………………………………………………………………SCCS ファイルのバージョンの取得 getaccess(1): getaccess…………………………………………(単一または複数の)ファイルに対するアクセス権のリスト getacl(1): getacl…………………………………………………………………ファイルのアクセス制御リストの取得、JFSのみ getconf(1): getconf…………………………………………………………………………………………システム設定値の取得 getopt(1): getopt…………………………………………………………………………………コマンドオプションの構文解析 getopts(1): getopts…………………………………………………………ユーティリティ(コマンド)オプションの構文解析 getprivgrp(1): getprivgrp…………………………………………………………………………グループの特殊属性の取得 glob: ’\\’ エスケープなしでエコー……………………………………………………………………………………csh(1)参照 goto: 指定行への制御の移行…………………………………………………………………………………………csh(1)参照 gprof(1): gprof………………………………………………………………………呼び出しグラフプロファイルデータの表示 grep(1): grep, egrep, fgrep……………………………………………………………………………ファイルのパターン検索 grget: グループ情報の取得…………………………………………………………………………………………pwget(1)参照 groups(1): groups……………………………………………………………………………………グループメンバー権の表示 hash: シェル、標準/制限付きコマンドプログラミング言語…………………………………………………sh-bourne(1)参照 hashcheck: スペリングのリファレンスリストのワードから spell のための 9桁のハッシュコードへの変換…………… ………………………………………………………………………………………………………………spell(1)参照 hashmake: テキストワードから9桁のハッシュコードへの変換……………………………………………………spell(1)参照 hashstat: ハッシュテーブルの効果を示す統計のプリント………………………………………………………csh(1)参照 head(1): head………………………………………………………………………………………………最初の数行のプリント history: イベントヒストリリストの表示……………………………………………………………………………csh(1)参照 hostname(1): hostname……………………………………………………………現在のホストシステム名の設定または表示 hp(1): hp…………………………………………………………HP 2640およびHP 2621シリーズターミナルの特殊機能の操作 hp-mc680x0: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp-pa: プロセッサタイプの識別………………………………………………………………………………machid(1)参照 hp9000s200: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp9000s300: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp9000s500: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp9000s800: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hyphen(1): hyphen…………………………………………………………………………………ハイフン付きのワードの検索 iconv(1): iconv……………………………………………………………………………………………………コードセット変換 id(1): id…………………………………………………………………ユーザーおよびグループの ID および名前のプリント ident(1): ident…………………………………………………………………………………………RCS でのファイルの識別 idlookup(1): idlookup………………………………………………………………………特定のTCP接続のユーザーの識別 ied(1): ied………………………………………………………………対話型プログラムの入力エディタおよびコマンド履歴 if: 式が真のときにコマンドを実行する…………………………………………………………………………………csh(1)参照 if: 前のコマンドが終了ステータス0に戻った場合のコマンド実行…………………………………………………ksh(1)参照 if: 前のコマンドが終了ステータス0に戻った場合のコマンド実行……………………………………………sh-posix(1)参照 HP-UX 11i Version 3: February 2007 Hewlett-Packard Company xiii 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 insertmsg(1): insertmsg…………………………………………………findstr(1)出力を使用してcatgets(3C)の呼び出しを挿入 inv: ファイル内のプリント不能文字および非ASCII文字を不可視状態に変更………………………………………vis(1)参照 iostat(1): iostat…………………………………………………………………………………………I/O 統計情報のレポート ipcrm(1): ipcrm……………………………………メッセージキュー、セマフォセット、または共用メモリ識別子の削除 ipcs(1): ipcs……………………………………………………………………………プロセス間通信機能のステータスの報告 jobs: アクティブなジョブのリスト………………………………………………………………………………………csh(1)参照 jobs: アクティブなジョブのリスト……………………………………………………………………………………ksh(1)参照 jobs: アクティブなジョブのリスト……………………………………………………………………………sh-posix(1)参照 join(1): join…………………………………………………………………………………リレーショナルデータベース演算子 kdestroy(1): kdestroy…………………………………………………………………………………Kerberos チケットの破棄 kermit(1): kermit…………………………………………………シリアルおよびネットワーク接続のための通信ソフトウェア keysh(1): keysh………………………………………………………………………コンテキスト認識型のソフトキーシェル kill(1): kill……………………………………………………………………シグナルをプロセスに送信、プロセス強制終了 kill: プロセスに終了あるいは指定のシグナルを送る………………………………………………………………csh(1)参照 kill: ジョブまたはプロセスの終了……………………………………………………………………………………ksh(1)参照 kill: ジョブまたはプロセスの終了………………………………………………………………………………sh-posix(1)参照 kinit(1): kinit………………………………………………………Kerberos チケット - 認証チケットの取得とキャッシュ klist(1): klist…………………………………………………………………キャッシュされた Kerberos チケットのリスト kpasswd(1): kpasswd…………………………………………………………………ユーザーの Kerberos パスワードの変更 ksh(1): ksh, rksh……………………………………………シェル、標準または制限付きコマンドプログラミング言語 ktutil(1): ktutil……………………………………………………Kerberos keytab ファイルのメンテナンスユーティリティ kvno(1): kvno……………………………………………………………Kerberos プリンシパルのキーバージョン番号の表示 l: ディレクトリの内容のリスト…………………………………………………………………………………………ls(1)参照 last(1): last, lastb…………………………………………………………………………ユーザーおよびttyの最終ログイン lastb: ユーザーおよびttyの最終ログイン…………………………………………………………………………last(1)参照 lastcomm(1): lastcomm…………………………………………………………………実行された最新のコマンドの逆順表示 lc: ディレクトリの内容のリスト…………………………………………………………………………………………ls(1)参照 ld(1): ld……………………………………………………………………………………………………………リンクエディター ld: リ ン ク エディ ター ( Integrity シ ス テム )… …… ………… …… ………… …… ………… …… ……… l d _ i a (1 )参 照 ld: リンクエディター (PA-RISC システム)………………………………………………………………ld_pa(1)参照 ld_ia(1): ld……………………………………………………………………………リンクエディター (Integrity システム) ld_pa (1): ld………………………………………………………………………………リンクエディター (PA-RISC システム) ldd(1): ldd………………………………………………実行可能ファイルもしくは共有ライブラリの動的依存関係をリスト ldd: リンクエディター (Integrity システム)……………………………………………………………ldd_ia(1)参照 ldd: リンクエディター (PA-RISC システム)……………………………………………………………ldd_pa(1)参照 ldd_ia(1): ldd……………………………………………………………………………リンクエディター (Integrity システム) ldd_pa (1): ldd……………………………………………………………………………リンクエディター (PA-RISC システム) leave(1): leave………………………………………………………………………………………………………終了時刻の通知 let: 数値式の評価………………………………………………………………………………………………………ksh(1)参照 let: 数値式の評価…………………………………………………………………………………………………sh-posix(1)参照 liblu62.a: SNAplus2:HP-UXのSNAおよびAPPN communications……………………………………………………sna(1)参照 lifcp(1): lifcp………………………………………………………………………………………………LIFファイル間のコピー lifinit(1): lifinit………………………………………………………………LIFボリュームヘッダのファイルへの書き込み xiv Hewlett-Packard Company HP-UX 11i Version 3: February 2007 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 lifls(1): lifls……………………………………………………………………………………LIFディレクトリの内容のリスト lifrename(1): lifrename…………………………………………………………………………………LIFファイルの名称変更 lifrm(1): lifrm…………………………………………………………………………………………………LIFファイルの削除 limit: カレントプロセスによる使用量の制限………………………………………………………………………csh(1)参照 line(1): line………………………………………………………………………………………ユーザー入力から1行の読出し listusers(1M): listusers…………………………………………………………………………ユーザーログインデータの表示 ll: ディレクトリの内容のリスト…………………………………………………………………………………………ls(1)参照 ln(1): ln…………………………………………………………………………………………ファイルとディレクトリのリンク locale(1): locale………………………………………………………………………………ロケール固有の(NLS)情報の取得 lock(1): lock………………………………………………………………………………………………………ターミナルの予約 logger(1): logger…………………………………………………………………………………システムログのエントリー作成 login(1): login………………………………………………………………………サインオン、ターミナルセッションの開始 login: ログインシェルの終了…………………………………………………………………………………………csh(1)参照 logname(1): logname………………………………………………………………………………………………ログイン名の取得 logout: ログインシェルの終了……………………………………………………………………………………………csh(1)参照 lorder(1): lorder………………………………………………………………………オブジェクトライブラリの順序関係の検出 lp(1): lp, lpalt, cancel……………………………………………………………LP宛先へのプリント/変更/取消しの要求 lpalt: LPプリンタ変更要求………………………………………………………………………………………………lp(1)参照 lpfilter(1): lpfilter, divpage, fontdl, lprpp, plotdvr, printstat, reverse…………………………………………… …………………………………………………………LPインタフェーススクリプトによって呼び出されるフィルタ lpstat(1): lpstat……………………………………………………………………ラインプリンタステータス情報のレポート ls(1): ls, lc, l, ll, lsf, lsr, lsx…………………………………………………………………ディレクトリの内容のリスト lsacl(1): lsacl……………………………………………………………………ファイルのアクセス制御リスト(ACL)の表示 lsf: ディレクトリの内容のリスト………………………………………………………………………………………ls(1)参照 lsr: ディレクトリの内容のリスト………………………………………………………………………………………ls(1)参照 lsx: ディレクトリの内容のリスト………………………………………………………………………………………ls(1)参照 m4(1): m4………………………………………………………………………………………………………マクロプロセッサー machid(1): hp9000s200, hp9000s300, hp9000s500, hp9000s800, pdp11, u3b, u3b5, vax……………………… …………………………………………………………………………………プロセッサタイプの真偽値を与えます machinfo(1): machinfo…………………………………………………………………………………………マシン情報の出力 mail(1): mail, rmail……………………………………………………ユーザーへのメールの送信およびメールの読み出し mailfrom(1): mailfrom…………………………………………………メールのサブジェクトおよび発信者をリストします mailq(1): mailq……………………………………………………………………………………………メール待ち行列を表示 mailstats(1): mailstats…………………………………………………………………メールトラフィックの統計情報の表示 mailx(1): mailx……………………………………………………………………………………対話型メッセージ処理システム make(1): make……………………………………………………プログラムグループの保守、アップデート、および再生成 makekey(1): makekey……………………………………………………………………………………………暗号化キーの生成 man(1): man…………………………………キーワードによるマニュアル情報の検索およびマニュアルエントリーの表示 mediainit(1): mediainit………………………………………………………………ディスクの初期化、DDS テープの分割 merge(1): merge…………………………………………………………………………………3ファイルからのファイルマージ mesg(1): mesg………………………………………………………………ターミナルでのメッセージ受信の許可または拒否 mkcatdefs (1): mkcatdefs…………………………………………………………メッセージソースファイルのプリプロセス mkdir(1): mkdir………………………………………………………………………………………………ディレクトリの作成 HP-UX 11i Version 3: February 2007 Hewlett-Packard Company xv 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 mkfifo(1): mkfifo…………………………………………………………FIFO (名前付きパイプ)スペシャルファイルの作成 mkmf(1): mkmf………………………………………………………………………………………………………makefileの作成 mkmsgs(1): mkmsgs…………………………………………………………………gettxt()が使用するメッセージファイルの作成 mkstr(1): mkstr……………………………………………………………Cソースからファイルへのエラーメッセージの抽出 mktemp(1): mktemp……………………………………………………………………………テンポラリファイルの名前の作成 mkuupath: pathaliasデータベースのアクセスおよび管理……………………………………………………uupath(1)参照 mm(1): mm, osdd……………………………………………………mmマクロでフォーマットされたドキュメントのプリント model(1): model………………………………………………………………………………ハードウェアモデルの情報の表示 more(1): more, page…………………………………………………………………………CRT上でのファイル精読用フィルタ mpsched(1): mpsched……………………特定のプロセスが実行されるプロセッサ、またはローカリティドメインの制御 mt(1): mt…………………………………………………………………………………………………磁気テープ操作プログラム mv(1): mv…………………………………………………………………ファイルおよびディレクトリの移動または名称変更 neqn(1): neqn………………………………………………………………………………nroff の数式テキストのフォーマット netstat(1): netstat………………………………………………………………………………ネットワークステータスの表示 newalias(1): f4newalias…………………………………………ユーザーまたはシステムの新しい elm 別名のインストール newform(1): newform…………………………………………………………テキストファイルの変更または再フォーマット newgrp(1): newgrp…………………………………………………………………………………新しいグループへの切り換え newgrp: exec newgrpに等価の………………………………………………………………………………………sh-bourne(1)参照 newgrp: exec newgrpに等価の……………………………………………………………………………………………csh(1)参照 newgrp: exec newgrpに等価の……………………………………………………………………………………………ksh(1)参照 newgrp: exec newgrpに等価の…………………………………………………………………………………sh-posix(1)参照 newmail(1): newmail………………………………………………………メールボックス中の新規メールのユーザへの通知 news(1): news…………………………………………………………………………………………………ニュース項目の表示 nice(1): nice…………………………………………………………………デフォルト以外の優先順位によるコマンドの実行 nice: コマンドの優先順位の変更………………………………………………………………………………………csh(1)参照 nis: 新しいバージョンのネットワーク情報ネームサービス………………………………………………………nis+(1)参照 nl(1): nl…………………………………………………………………………………………………………行番号付けフィルタ nljust(1): nljust………………………………………………………………………………プリント時の行の左または右揃え nm(1): nm………………………………………………………………コモンオブジェクトファイルの名前リストのプリント nohup(1): nohup………………………………………………………………………ハングアップを無視したコマンドの実行 nohup: コマンド実行中に hangup を無視……………………………………………………………………csh(1)参照 notify: ジョブステータスの変更をユーザーにしらせる………………………………………………………csh(1)参照 nroff(1): nroff……………………………………………………………………………………………テキストのフォーマット nslookup(1): nslookup………………………………………………………………………ネームサーバーの対話型問合わせ od(1): od, xd…………………………………………………………………………………………………8進および16進ダンプ odump(1): odump…………………………………………………………………SOMオブジェクトファイル内の情報のダンプ onintr: 割り込みのシェルによる扱いを指定する……………………………………………………………………csh(1)参照 osdd: マクロでフォーマットされたドキュメントの確認またはプリント……………………………………………mm(1)参照 pack(1): pack, pcat, unpack………………………………………………………………………ファイルの圧縮および展開 passwd(1): passwd………………………………………………………………ログインパスワードと、関連する属性の変更 paste(1): paste………………………………………………複数ファイルの同一行または1つのファイルの次の行のマージ patch(1): patch………………………………………………………diff ファイル内容を元ファイルに貼り付けるプログラム pathalias(1): pathalias………………………………………………………………………………………電子アドレスルータ xvi Hewlett-Packard Company HP-UX 11i Version 3: February 2007 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 pathchk(1): pathchk…………………………………………………………………………………………………パス名の検査 pax(1): pax………………………………………………………………アーカイブファイルの抽出、書き込み、およびリスト pcat: ファイルの圧縮および展開………………………………………………………………………………………pack(1)参照 pdp11: プロセッサタイプの識別…………………………………………………………………………………machid(1)参照 pfiles: プロセスのアドレス空間情報とオープンファイル記述子の表示…………………………………………pmap(1)参照 pg(1): pg………………………………………………………………………ソフトコピーターミナル用ファイル熟読フィルタ pgrep(1): pgrep, pkill…………………………………………プロセス名および属性に基づくプロセスの検索または抹消 pipcrm(1): pipcrm…………………………………………………POSIXメッセージキューやPOSIX名前付きセマフォの削除 pipcs(1): pipcs……………………………………………………………………………POSIXプロセス間通信機能の状態報告 pkill: プロセス名および属性に基づくプロセスの検索または抹消…………………………………………………pgrep(1)参照 pldd(1): pldd………………………………………………………………………………………各プロセスにリンクされているダ イナミックライブラリの表示(dlopen()/shl_load() を用いて明示的に結び付けられた共有オブジェクトも含む) pmap(1): pmap, pfiles……………………………………プロセスのアドレス空間情報とオープンファイル記述子の表示 pppd(1): pppd…………………………………………………………………………………………………………PPP デーモン pppoec(1): pppoec……………………………………………………PPPoE (Point to Point Protocol over Ethernet) クライアント pr(1): pr…………………………………………………………………………………………………………ファイルのプリント praliases(1): praliases…………………………………………………………………システムワイドのsendmailの別名の表示 prealloc(1): prealloc……………………………………………………………………………………ディスク記憶の事前割当て primes: 大きな素数の生成………………………………………………………………………………………………factor(1)参照 print: シェルからの出力………………………………………………………………………………………………ksh(1)参照 print: シェルからの出力…………………………………………………………………………………………sh-posix(1)参照 printenv(1): printenv……………………………………………………………………………………環境のプリントアウト printf(1): printf…………………………………………………………………………引き数のフォーマットおよびプリント printf(1): printf…………………………………………………………………………引き数のフォーマットおよびプリント privatepw(1): privatepw…………………………………………………………WU-FTPDグループ探査ファイル情報の変更 prof(1): prof……………………………………………………………………………………………プロファイルデータの表示 prs(1): prs…………………………………………………………………………………SCCS ファイルのプリントおよび要約 ps(1): ps……………………………………………………………………………………………プロセスステータスのレポート pstack(1): pstack…………………………………各プロセスおよびコアファイル内の各 LWP のスタックトレースの表示 ptree (1): ptree…………………………………………………………………………………………プロセスツリー階層の表示 ptx(1): ptx…………………………………………………………………………………………………………………項目別索引 pty: ターミナル名の取得………………………………………………………………………………………………tty(1)参照 pushd: ディレクトリスタックのプッシュ……………………………………………………………………………csh(1)参照 pwd(1): pwd…………………………………………………………………………………………ワークディレクトリ名の出力 pwd: 現在のワーキングディレクトリのプリント……………………………………………………………………ksh(1)参照 pw d: 現在のワーキングディレクトリのプリント………………………………………………………sh-posix(1)参照 pwd: 現在のワーキングディレクトリのプリント………………………………………………………sh-bourne(1)参照 pwget(1): pwget, grget…………………………………………………………………パスワードおよびグループ情報の取得 quota(1): quota………………………………………………………………………………ディスク使用量および制限の表示 ranlib(1): ranlib………………………………………………………………………アーカイブ シンボルテーブルの再生成 rcp(1): rcp……………………………………………………………………………………………リモートファイルの コピー rcs(1): rcs………………………………………………………………………………………………RCS ファイル属性の変更 rcsdiff(1): rcsdiff…………………………………………………………………………………………RCS リビジョンの比較 HP-UX 11i Version 3: February 2007 Hewlett-Packard Company xvii 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 rcsmerge(1): rcsmerge…………………………………………………………………………………RCS リビジョンのマージ rdist(1): rdist…………………………………………………………………………………リモートファイル配布プログラム read(1): read…………………………………………………………………………………………標準入力からの行の読み出し read: 行の入力と構文解析………………………………………………………………………………………………ksh(1)参照 read: 行の入力と構文解析…………………………………………………………………………………………sh-posix(1)参照 read: 行の入力と構文解析…………………………………………………………………………………………sh-bourne(1)参照 readmail(1): readmail……………………………………受信メールボックスやメールフォルダからのメールの読み取り readonly: 再定義不可能…………………………………………………………………………………………sh-bourne(1)参照 readonly: 再定義不可能………………………………………………………………………………………………ksh(1)参照 readonly: 再定義不可能…………………………………………………………………………………………sh-posix(1)参照 red: 行指向のテキストエディタ…………………………………………………………………………………………ed(1)参照 rehash: 内部ハッシュテーブルの再計算………………………………………………………………………………csh(1)参照 remsh(1): remsh, rexec……………………………………………………………………………リモートシェルからの実行 repeat: コマンドの複数回の実行………………………………………………………………………………………csh(1)参照 return: シェル機能の呼び出しスクリプトへの復帰………………………………………………………sh-bourne(1)参照 return: シェル機能の呼び出しスクリプトへの復帰………………………………………………………………ksh(1)参照 return: シェル機能の呼び出しスクリプトへの復帰…………………………………………………………sh-posix(1)参照 rev(1): rev…………………………………………………………………………………………………ファイルの行の逆順出力 rexec(1): remsh, rexec………………………………………………………………………………リモートシェルからの実行 rksh: 制限付きコーンシェルコマンドプログラミング言語…………………………………………………………ksh(1)参照 rlog(1): rlog………………………………………ログメッセージおよび RCS ファイルに関するその他の情報のプリント rlogin(1): rlogin…………………………………………………………………………………………………リモートログイン rlogin(1): rlogin…………………………………………………………………………………………………リモートログイン rm(1): rm……………………………………………………………………………………ファイルまたはディレクトリの削除 rmail: ユーザーへのメールの送信およびメールの読み出し………………………………………………………mail(1)参照 rmdel(1): rmdel……………………………………………………………………………SCCS ファイルからのデルタの削除 rmdir(1): rmdir………………………………………………………………………………………………ディレクトリの削除 rmnl(1): rmnl………………………………………………………………………………ファイル中の余分な改行文字の削除 rsh: 制限付き POSIX.2 準拠コマンドシェル…………………………………………………………………sh-bourne(1)参照 rtprio(1): rtprio……………………………………………………………リアルタイム優先順位を指定したプロセスの実行 rtsched(1): rtsched…………………………………………………………………リアルタイム優先順位付きプロセスの実行 ruptime(1): ruptime………………………………………………………………………ローカルマシンのステータスの表示 rwho(1): rwho……………………………………………………………ローカルマシンにログインしているユーザーの表示 sact(1): sact…………………………………………………現在のSCCSファイルのエディットアクティビティのプリント samlog_viewer(1): samlog_viewer……………………………………………SAMログファイルの表示および保存用ツール sccs(1): sccs……………………………………………SCCS コマンド用のフロントエンド ユーティリティープログラム sccsdiff(1): sccsdiff…………………………………………………………………SCCSファイルの2つのバージョンの比較 sccshelp(1): sccshelp………………………………………………………………………………SCCS コマンドのヘルプ要求 script(1): script……………………………………………………………ターミナルセッションのタイプスクリプトの作成 sdiff(1): sdiff……………………………………………………………………………………行単位で相違を示すプログラム sed(1): sed…………………………………………………………………………………………ストリーム テキストエディタ send_sound(1): send_sound…………………………………………………………………………………音声ファイルの再生 serialize(1): serialize……………………………………………ターゲットプロセスの他のプロセスとの順次実行を強制 xviii Hewlett-Packard Company HP-UX 11i Version 3: February 2007 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 set: フラッグおよび引き数の設定/定義………………………………………………………………………………csh(1)参照 set: フラッグおよび引き数の設定/定義………………………………………………………………………………ksh(1)参照 set: フラッグおよび引き数の設定/定義………………………………………………………………………sh-bourne(1)参照 set: フラッグおよび引き数の設定/定義…………………………………………………………………………sh-posix(1)参照 setacl(1): setacl…………………………………ファイルのアクセス制御リスト(ACL)の変更(JFSファイルシステムのみ) setenv: 環境変数の定義…………………………………………………………………………………………………csh(1)参照 sffinger: TCP ラッパー用ユーティリティプログラム…………………………………………………………tryfrom(1)参照 sh(1): sh………………………………………………………………………………………………各種のシステムシェルの概要 sh-posix(1): sh …………………………………………………………標準および制限付きの POSIX.2 準拠コマンドシェル shar(1): shar………………………………………………………………………………シェルアーカイブ パッケージの作成 shift: メンバーの1つの位置を左に変更………………………………………………………………………………csh(1)参照 shift: メンバーの1つの位置を左に変更………………………………………………………………………………ksh(1)参照 shift: メンバーの1つの位置を左に変更…………………………………………………………………………sh-posix(1)参照 shift: メンバーの1つの位置を左に変更…………………………………………………………………………sh-bourne(1)参照 shift: メンバーの1つの位置を左に変更…………………………………………………………………………sh-bourne(1)参照 show_patches(1): show_patches………………………………………………HP-UX パッチのディスプレイユーティリティ size(1): size……………………………………………………………オブジェクトファイルのセクションサイズのプリント sleep(1): sleep……………………………………………………………………………………………一定期間の間の実行停止 slp(1): slp……………………………………………………………………非シリアルプリンタのプリントオプションの設定 sna3179g: switch 文の定義……………………………………………………………………………………………sna(1)参照 sna3270g: switch 文の定義……………………………………………………………………………………………sna(1)参照 sna3770g: switch 文の定義……………………………………………………………………………………………sna(1)参照 soelim(1): soelim………………………………………………………………………………………nroff入力からの.soの除去 sort(1): sort………………………………………………………………………………………………ファイルのソート/マージ source: コマンド入力のソースの定義………………………………………………………………………………csh(1)参照 spell(1): spell, hashmake, spellin, hashcheck…………………………………………………………スペルミスの発見 split(1): split………………………………………………………………………………………………………ファイルの分割 ssp(1): ssp…………………………………………………………………………………多重のラインフィードを出力から削除 strings(1): strings…………………………オブジェクトまたは他のバイナリファイルからプリント可能な文字列を検索 strip(1): strip…………………………………………………オブジェクトファイルからシンボル情報と行番号情報を削除 stty(1): stty………………………………………………………………………ターミナルポートに対するオプションの設定 sum(1): sum…………………1つまたは複数のファイルのチェックサムおよびブロックまたはバイトカウントのプリント sysdiff(1): sysdiff………………………………………………HP-UX にインストールされたソフトウェアのコンパレータ switch: switch 文の定義……………………………………………………………………………………………csh(1)参照 tabs(1): tabs………………………………………………………………………………………………ターミナル上のタブ設定 tail(1): tail…………………………………………………………………………………………ファイルの最後の部分の表示 talk(1): talk…………………………………………………………………………………………………他のユーザーとの会話 tar(1): tar……………………………………………………………………………………………テープファイル アーカイバ tbl(1): tbl………………………………………………………………………………………テーブルをnroff用にフォーマット tcpdchk(1): tcpdchk………………………………………………………………………………………TCP ラッパー構成の検査 tcpdmatch(1): tcpdmatch……………………………………………………………………TCP ラッパーサービス要求の評価 tee(1): tee………………………………………………………………………………………………………………パイプの設定 telnet(1): telnet………………………………………………………TELNET プロトコルに対するユーザーインタフェース HP-UX 11i Version 3: February 2007 Hewlett-Packard Company xix 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 telnet(1): telnet………………………………………………………TELNET プロトコルに対するユーザーインタフェース test(1): test………………………………………………………………………………………………………条件評価コマンド test: 条件式の評価…………………………………………………………………………………………………csh(1)参照 test: 条件式の評価…………………………………………………………………………………………………ksh(1)参照 test: 条件式の評価…………………………………………………………………………………………………sh-posix(1)参照 tftp(1): tftp…………………………………………………………………………………トリビアルファイル転送プログラム time, times: プロセス所要時間の要約のプリント……………………………………………………………ksh(1)参照 time(1): time…………………………………………………………………………………………………コマンドの時間の測定 time: シェルおよびその子プロセスにより使われた時間の要約のプリント…………………………………sh-bourne(1)参照 time: シェルおよびその子プロセスにより使われた時間の要約のプリント………………………………………csh(1)参照 time, times: プロセス所要時間の要約のプリント………………………………………………………sh-posix(1)参照 times: シェルおよびその子プロセスにより使われた時間の要約のプリント…………………………………sh-bourne(1)参照 timex(1): timex…………………………………コマンドの時間の計測。プロセスデータおよびシステムの活動のレポート top(1): top…………………………………………システム上の最上位のプロセスに関する情報の表示およびアップデート touch(1): touch…………………………ファイルのアクセス、修正、および変更時刻またはそのいずれかのアップデート tput(1): tput……………………………………………………………………………………terminfoデータベースの問合わせ tr(1): tr……………………………………………………………………………………………………………………文字の翻訳 trap: トラップ指定シグナル………………………………………………………………………………………sh-bourne(1)参照 trap: トラップ指定シグナル……………………………………………………………………………………………ksh(1)参照 trap: トラップ指定シグナル………………………………………………………………………………………sh-posix(1)参照 true(1): true, false…………………………………………………………………それそれ終了ステータス0または1を戻す true(1): true, false…………………………………………………………………それそれ終了ステータス0または1を戻す tryfrom(1): tryfrom, sffinger…………………………………………………TCP ラッパー用ユーティリティプログラム tsm(1): tsm……………………………………………………………………………………ターミナル セッションマネージャ tsm.command(1): tsm.command………………………………………ターミナル セッションマネージャにコマンドを転送 tsm.info(1): tsm.info………………………………………ターミナル セッションマネージャの状態に関する情報の入手 tsort(1): tsort……………………………………………………………………………………………トポロジー的な並び換え tty(1): tty, pty…………………………………………………………………………………………………ターミナル名の取得 ttytype(1): ttytype……………………………………………………………………………………ターミナル識別プログラム type: 前にある空白とパラメータの処理の制御……………………………………………………………sh-bourne(1)参照 typeset: 前にある空白とパラメータの処理の制御…………………………………………………………………ksh(1)参照 typeset: 前にある空白とパラメータの処理の制御……………………………………………………………sh-posix(1)参照 u370: プロセッサタイプの識別……………………………………………………………………………………machid(1)参照 u3b: プロセッサタイプの識別………………………………………………………………………………………machid(1)参照 u3b10: プロセッサタイプの識別…………………………………………………………………………………machid(1)参照 u3b2: プロセッサタイプの識別…………………………………………………………………………………machid(1)参照 u3b5: プロセッサタイプの識別…………………………………………………………………………………machid(1)参照 ul(1): ul…………………………………………………………………………………………………………アンダーライン付け ulimit: サイズまた時間制限の設定………………………………………………………………………………sh-bourne(1)参照 ulimit: サイズまた時間制限の設定……………………………………………………………………………………ksh(1)参照 ulimit: サイズまた時間制限の設定………………………………………………………………………………sh-posix(1)参照 umask(1): umask………………………………………………………………………ファイルモード作成マスクの設定と表示 umask: ファイルの新規作成に対するパーミッションマスクの設定………………………………………………csh(1)参照 xx Hewlett-Packard Company HP-UX 11i Version 3: February 2007 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 umask: ファイルの新規作成に対するパーミッションマスクの設定………………………………………………ksh(1)参照 umask: ファイルの新規作成に対するパーミッションマスクの設定…………………………………………sh-bourne(1)参照 umask: ファイルの新規作成に対するパーミッションマスクの設定…………………………………………sh-posix(1)参照 umodem(1): umodem……………………………………………………………XMODEMプロトコルファイル転送プログラム unalias: 指定のエイリアスの解除……………………………………………………………………………………csh(1)参照 unalias: 指定のエイリアスの解除……………………………………………………………………………………ksh(1)参照 unalias: 指定のエイリアスの解除………………………………………………………………………………sh-posix(1)参照 uname(1): uname………………………………………コンピュータシステムの情報の表示とノード名(システム名)の設定 uncompact: ファイルの圧縮、展開、およびそれらのcat………………………………………………………compact(1)参照 uncompress: 圧縮データの展開……………………………………………………………………………………compress(1)参照 uncompressdir: ディレクトリ内の圧縮ファイルの展開………………………………………………………compress(1)参照 unexpand: タブをスペースに展開およびその逆……………………………………………………………………expand(1)参照 unget(1): unget………………………………………………………………………………SCCSファイルの前回のgetの取消し unifdef(1): unifdef………………………………………………………………………………………プリプロセッサ行の削除 uniq(1): uniq………………………………………………………………………ファイルにおける繰り返された行のレポート units(1): units………………………………………………………………………………………………………換算プログラム unpack: ファイルの圧縮および展開……………………………………………………………………………………pack(1)参照 unset: オプションと引き数の定義/設定を削除………………………………………………………………………csh(1)参照 unset: オプションと引き数の定義/設定を削除………………………………………………………………………ksh(1)参照 unset: オプションと引き数の定義/設定を削除…………………………………………………………………sh-bourne(1)参照 unset: オプションと引き数の定義/設定を削除…………………………………………………………………sh-posix(1)参照 unsetenv: 環境変数の削除……………………………………………………………………………………………csh(1)参照 until: 式の値が0以外になるまでコマンドの実行……………………………………………………………………ksh(1)参照 until: 式の値が0以外になるまでコマンドの実行………………………………………………………………sh-posix(1)参照 uptime(1): uptime, w…………システムの稼働時間の表示やログイン中のユーザーおよび各ユーザーの活動内容の表示 users(1): users…………………………………………………………………システムにいるユーザーのコンパクトなリスト uucp(1): uucp, uulog, uuname, uutry…………………………………………………………………UNIXシステム間のコピー uudecode: uuencodeによってコード化されたファイルのデコード……………………………………………uuencode(1)参照 uuencode(1): uuencode,uudecode……………メールプログラムによる送信用バイナリファイルのコード化/デコード uulog: uucp および uux トランザクションサマリーログへのアクセス…………………………………………uucp(1)参照 uuname: 既知の uucp システム名のリスト…………………………………………………………………………uucp(1)参照 uupath(1): uupath, mkuupath………………………………………………………pathaliasデータベースのアクセスおよび管理 uupick: パブリックUNIXシステム間ファイルコピー………………………………………………………………uuto(1)参照 uustat(1): uustat………………………………………………………………uucpステータスの問合わせおよびジョブの制御 uuto(1): uuto, uupick………………………………………………………………パブリックUNIXシステム間ファイルコピー uutry: リモートシステムへのログインをテスト……………………………………………………………………uucp(1)参照 uux(1): uux………………………………………………………………………………………UNIXシステム間のコマンド実行 ux2dos: ASCII ファイルフォーマットの変換………………………………………………………………………dos2ux(1)参照 vacation(1): vacation…………………………………………………………………"I am not here"というメッセージの返答 val(1): val………………………………………………………………………………………SCCS ファイルの妥当性チェック vax: プロセッサタイプの識別………………………………………………………………………………………machid(1)参照 vc(1): vc…………………………………………………………………………識別用キーワードの割り当てられた値への置換 vedit: 初心者用スクリーン指向テキストエディター…………………………………………………………………vi(1)参照 HP-UX 11i Version 3: February 2007 Hewlett-Packard Company xxi 目次 Vol. 1&2 エントリ 名(セクション): 名称 説明 vi(1): vi, view, vedit…………………………………………………スクリーン指向の (ビジュアル) テキストエディター view : 書き込み禁止スクリーン指向テキストエディター………………………………………………………vi(1)参照 vis(1): vis, inv…………………………ファイル内のプリント不能文字および非ASCII文字を可視または不可視状態に変更 vmstat(1): vmstat……………………………………………………………………………仮想メモリー統計情報のレポート vt(1): vt……………………………………………………………………………………LANによる別のシステムへのログイン wait(1): wait…………………………………………………………………………………………………プロセスの完了を待機 wait: バックグラウンドプロセスの終了を待つ………………………………………………………………………csh(1)参照 wait: 子プロセスを待機…………………………………………………………………………………………………ksh(1)参照 wait: 子プロセスを待機……………………………………………………………………………………………sh-posix(1)参照 wait: シェル、標準/制限付きコマンドプログラミング言語…………………………………………………sh-bourne(1)参照 wc(1): wc……………………………………………………………………ファイル内のワード、行、バイト、文字のカウント what(1): what………………………………………………………………………………………………SCCS 識別情報の取得 whence: コマンド名の解釈の定義……………………………………………………………………………………ksh(1)参照 whence: コマンド名の解釈の定義………………………………………………………………………………sh-posix(1)参照 whereis(1): whereis……………………プログラムのソース、バイナリ、マニュアルまたはそのいずれかの位置の特定 which(1): which……………………………………………エイリアスおよびパスを含むプログラムファイルの位置の特定 while: 式が非ゼロの間にコマンドを実行……………………………………………………………………………csh(1)参照 while: 式が非ゼロの間にコマンドを実行……………………………………………………………………………ksh(1)参照 while: 式が非ゼロの間にコマンドを実行………………………………………………………………………sh-posix(1)参照 who(1): who………………………………………………………………………システムにログインしているユーザーを表示 whoami(1): whoami…………………………………………………………………………………現在の有効ユーザ ID を表示 whois(1): whois……………………………………………………………インターネットユーザー名ディレクトリサービス write (1): write…………………………………………………………………ユーザーに対する対話形式の書き込み(トーク) xargs(1): xargs………………………………………………(単一または複数の)引き数リストの構成およびコマンドの実行 xd: 16進ファイルダンプ……………………………………………………………………………………………………od(1)参照 xxii Hewlett-Packard Company HP-UX 11i Version 3: February 2007 セクション 1 第1部 ユーザー コマンド A~M セクション 1 第1部 ユーザー コマンド A~M intro(1) intro(1) 名称 intro − コマンドユーティリティおよびアプリケーションプログラムの概要 説明 本セクションでは、ユーザーからアクセス可能なコマンドについて説明します。これとは対照的にユーザープ ログラムからアクセス可能なシステムコールについてはセクション (2) で、またライブラリルーチンについて はセクション (3) で説明しています。 コマンドの文法 特に明記されない限り、本セクションで説明するコマンドは、以下の構文に従って、オプションおよびその他 の引き数を受け付けます。 name [ option ( s ) ] [ cmd_arg ( s ) ] 各要素の定義は次のとおりです。 name option 実行可能ファイルの名前です。 コマンド行には、1つまたは複数の option を指定することができます。各オプションは、以 下の形式のいずれかをとります。 -no_arg_letter 引き数をとらないオプションを表す1個の文字です。 -no_arg_letters 1文字のオプションを2個以上つなげた形式の、 1個のコマンド行引き数です。 -arg_letter<>opt_arg 1文字のオプションで、後ろに必須の引き数が付きます。各要素の意味は次のとおりで す。 cmd_arg arg_letter 引き数が必要なオプションを表す1個の文字です。 opt_arg 先行の arg_letter が必要とする引き数 (文字列) です。 <> 空白スペースを表します。これは省略可能です。 先頭が - ではないパス名 (またはその他のコマンド引き数) か、あるいは標準入力を表す単 独の - です。 cmd_arg を2個以上指定する場合は、空白スペースで区切らなければなりませ ん。 マニュアルエントリー フォーマット すべてのマニュアルエントリーは定められたトピックフォーマットに準拠しますが、すべてのトピックが各エ ントリーに含まれるわけではありません。 名称 構文 エントリー名とその目的の概要 説明されたエントリーまたはプログラムエンティティの使用法を要約します。いく つかの規則が適用されます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-1 intro(1) intro(1) Computer font 文字列はリテラルでマニュアルの通りにタイプします(2項と3項のエ ントリー構文にあるパラメータを除いて)。 Italic 文字列は代替可能な引き数名とマニュアルの他の箇所にあるマニュアルエント リー名を表します。 引き数名がブラケット[]で囲まれていれば、その引き数がオプションであることを示 します。 省略符号(...)は以前の引き数を再度指定できることを示します。 最終規則はコマンド自身に依存します。ダッシュ(-)、プラス(+)、等号(=)で始まる引 き数は、ファイル名が来る位置にあっても、オプション引き数の1 つとみなされま す。そのため、 -、+、=のいずれかで始まるファイル名は使用しないようにしてく ださい。 説明 多言語化対応 各エントリーの機能と動作を記述します。 この項における情報は様々な言語のプログラミングに関するものです。通常のエン トリーにはシングルまたマルチバイト文字、システム動作に関する言語関連環境の 影響、その他の関連情報が示されます。 ネットワーク機能 この項の情報は(NFSなどの)ネットワーク機能を使っている場合のみ有効です。 戻り値 プログラム呼び出しの終了後に返される値の種類を説明します。 診断 診断内容を示します。自明のメッセージはリストから除外してあります。 エラー エラーの条件、それに対応するエラーメッセージまたは戻り値をリストします。 例 一般的な使用例を適切な場合に応じて示します。 警告 潜在的な問題点を指摘します。 制約 ユーザーまたは特定のハードウェアまたはハードウェアの組み合せに関するHP-UX 動作のバリエーションを示します。 著者 マニュアルエントリーによってドキュメントされたソフトウェアの作成元を示しま す。 Section 1-2 ファイル プログラムまたはコマンドに組み込まれたファイル名をリストします。 参照 関連情報を示します。 バグ 既知のバグと問題点を示します。その解決方法を示してある場合もあります。 標準準拠 この項では HP-UXコンポーネントが準拠する標準仕様をリストします。 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 intro(1) intro(1) 戻り値 終了時、各コマンドは2バイトのステータスを戻します。 1バイトは終了の原因を表すもので、システムが戻し ます。あとの1バイトは (「正常」終了の場合) プログラムが戻します ( 詳細については、 wait(2) および exit(2) を参照してください)。システムが戻すバイトは、0が正常終了を表します。プログラムが戻すバイトは慣例で は、0が処理の成功を表し、 0以外の値がエラーすなわち処理の失敗を表します。エラーの原因としては例え ば、コマンド行のパラメーター誤り、データ誤り、またはデータへのアクセス不可があります。戻される値は 通常、「終了コード」、「終了ステータス」、「リターンコード」、または「戻り値」など、さまざまな名前 で呼ばれ、特別な規約がある場合のみ各項で説明されます。 警告 コマンドの中には、ヌル文字を含むファイルを処理すると、予想外の結果を生じるものがあります。これらの コマンドの多くは、テキスト入力行を文字列として扱うため、入力行の中でヌル文字 ( 文字列のターミネー ター) を検出すると処理に混乱をきたします。 参照 getopt(1), exit(2), wait(2), getopt(3C), hier(5), introduction(9) 次の Web サイトに HP-UX のドキュメントが用意されています。 http://docs.hp.com (英語)、http://docs.hp.com/ja (日本語) HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-3 adb(1) adb(1) 名称 adb − アブソリュートデバッガ 構文 adb [-h] adb [-n -o] [-w] [-I path] kernelfile memfile adb [-n -o] [-w] [-I path] kernelfile crashdir adb [-n -o] [-w] [-I path] crashdir adb [-n -o] [-w] [-I path] [objfile] [corefile] adb [-n -o] [-w] [-I path] -P pid [execfile] 説明 adb コマンドは、プロセッサおよびオペレーティングシステムを実行するための基盤となるアーキテクチャに 密接な、汎用デバッギングプログラムを実行します。これを使用すると、ファイルを検査し HP-UX プログラ ムを実行するための制御された環境を得ることができます。 adb は、 現在のオブジェクトファイルとして参照されるオブジェクトファイルと、 現在のメモリーファイルと して参照されるメモリーファイルを、それぞれ 1 つだけ調査します。 − を引き数で指定すると、このいずれか のファイルを NULL ファイル ( 中身がないファイル) とすることができます。オブジェクトファイルとメモ リーファイルは、次の引き数を使って指定します。 kernelfile HP-UX カーネルです。通常は、 vmunixです。 memfile /dev/mem または /dev/kmem です。 kernelfile を指定した場合、 memfile は kernelfile を実行してい る HP-UX システム上に存在するものとして扱われます。 /dev/mem は、PA-RISC プラットフォー ムでのみサポートされます。 crashdir HP-UX システムのクラッシュダンプを含むディレクトリです。 kernelfile を指定した場合、この ディレクトリは kernelfile で作成されたものとして扱われます。 objfile 通常は、実行可能なプログラムファイルです。再配置可能オブジェクトファイルや、共有ライブ ラリファイル、DLKM モジュールを指定することもできます。 *デフォルトの objfile は、 a.out です。 corefile objfile の実行後に生成されたコアイメージファイルです。デフォルトの corefile は、 core です。 execfile adb がデバッグするプロセスのプロセス ID ( pid) に対応する実行可能ファイルです。 現在のオブジェクトファイルとは、 kernelfile、 crashdir 内の vmunix ファイル、 objfile、または execfile です。 現在のオブジェクトファイルは、できればシンボルテーブルを含んでいるものにします。シンボルテーブルが 含まれていない場合でもファイルは検査できますが、 adb のシンボリック機能は使えません。現在のメモリー ファイルとは、 memfile、 crashdir 内のシステムメモリーダンプ、 corefile、またはプロセス pid のメモリーで す。 Section 1-4 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 adb(1) adb(1) adb への要求は標準入力から読み取られ、 adb *は標準出力に対して応答します。 -w フラグが存在すると、 objfile が必要に応じて作成され、 adb を使って修正できるように読み書きオープンされます。 adb は QUIT を 無視します。 INTERRUPT により、次の adb コマンドに戻ります。 adb の操作モードには、下位互換モードと通常モードの 2 種類があります。 PA-RISC システムでは、下位互換 モードがデフォルトです。 Itanium システムでは、通常モードがデフォルトです。 adb は、起動時に $HOME/.adbrc ファイルから adb コマンドを実行します。 adb で MxN プロセスまたはコアをデバッグする場合、MxN デバッグライブラリ libmxndbg が必要になりま す。 ア プ リ ケー ショ ン タ イ プ に 応 じ て、 /usr/lib/libmxndbg.sl (32 ビッ ト PA-RISC の 場 合 ) 、 /usr/lib/libmxndbg64.sl (64 ビット PA-RISC の場合)、または /usr/lib/hpux32/libmxndbg.so (Itanium(R)ベース システムの場 合) のいずれかがロードされます。該当するライブラリが指定されたパスに存在しない場合は、シェル変数 ADB_PATHMXNDBG に正しいライブラリが存在する場所を設定します。 オプション adb は、次のコマンド行 オプションを受け付けます。これらのオプションは、ファイル引き数の前であれば、 任意の順序で指定できます。 -h 使用方法の概要を表示して終了します。このオプションを使うと、他のオプションと引き数はすべ て無視されます。 -i -I path $HOME/.adbrc を無視します。 path は、 < または << (下記を参照) で指定されたファイルを検索するディレクトリのリストを指定 します。このリストの構文は PATH シェル変数と同じで、意味も似ています。デフォルトは、 .:/usr/lib/adbです。 -n 通常モードを指定します。 Itanium システムでは、このモードがデフォルトです。このオプション は、 -o オプションと同時に使うことはできません。最後に指定した方が有効になります。 -o 下位互換モードを指定します。 PA-RISC システムでは、このモードがデフォルトです。このオプ ションは、 -n オプションと同時に使うことはできません。最後に指定した方が有効になります。 -P pid プロセス ID が pid のプロセスをトレース対象プロセスとして指定します。 ttrace(2) を参照してく ださい。このオプションは、 adb の制御下で実行対象とならなかったプロセスをデバッグするのに 役立ちます。 -w このオプションを指定すると、 adb のファイル書き込みコマンドが有効になります。 Objfile は、 読み書き両用でオープンされます。カーネルメモリーファイルの場合は、 memfile への書き込みも 有効になります。 次の adb コマンド行オプションは廃止され、現在は不要です。 (これらのオプションを使った場合は、警告が 表示されます。) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-5 adb(1) adb(1) -k 以前、HP-UX クラッシュダンプや /dev/mem を受け付けるために、 adb ではこのオプションが必要で した。 -m 以前、複数のHP-UX クラッシュダンプを受け付けるために、 adb ではこのオプションが必要でした。 adb への要求は、従来の形式と新しい形式に従います。 従来形式: [address] [ ,count ] [command-char] [command-arguments] [;] 新しい形式: keyword [command-arguments] [;] 従来の形式は、下位互換モードでだけ利用できます。 address を指定すると、 dot には address が設定されます。 dot は、現在のアドレスを示す adb 状態変数です。 dotincr は、 adb が書式文字列に添ってステップ実行した場合に dot への増分値を示す状態変数です。下記の 「書式文字列」を参照してください。初めに、 dot と dotincr には 0 が設定されます。ほとんどのコマンドに ついては、 count はコマンドの実行回数を指定します。 count のデフォルトは 1 です。 address および count は 式です。 アドレスの解釈は使用される文脈によって異なります。サブプロセスがデバッグされている場合、アドレス は、サブプロセスのアドレス空間で解釈されます (詳細については、下記の 「アドレスマップ」を参照してく ださい)。 command-char と command-arguments は、実行するコマンドを指定します。下記の 「コマンド」を参照してく ださい。 式 adb の式はすべて 64 ビットの符号なし整数として扱われ、式も 64 ビットの符号なし整数として評価されま す。次の基本的な要素がサポートされています。 integer 数値。プレフィックス 0 (ゼロ)、 0o、および 0O は、8 進数と解釈します。プレフィッ クス 0t、 OT、 0d、および 0D は、10 進数と解釈します。プレフィックス 0x および 0X は、16 進数と解釈します。プレィックス 0b および 0B は、2 進数と解釈します。このた め、 020 = 0d16 = 0x10 = 0b1000 = 16 になります。プレフィックスがなければ、デフォル トの基数が使われます。 d コマンドを参照してください。基数のデフォルトは、16 進数 です。最上位桁が英文字でない 16 進数には、必ず 0x (または、 0X) プレフィックスを付 けてください。 ’cccccccc’ 8 文字までの ASCII 値。 8 文字を超えて指定すると、値は未定義となります。バックス ラッシュ (\) を使用すると、一重引用符 (’) をエスケープできます。 $register レジスタ。レジスタの値は、現在のメモリーファイルに対応するレジスタセットから取 ります。レジスタ名は、実装により異なります。 r コマンドを参照してください。 Section 1-6 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 adb(1) adb(1) symbol symbol は、先頭が数字でない一連の大文字または小文字の英字、アンダースコア (_)、ま たは数字です。バックスラッシュ (\) を使用すると、それ以外の文字をエスケープするこ とができます。 symbol の値は、現在のオブジェクトファイルのシンボルテーブルからと ります。 variable 変数名は、$ から始まる英数字からなります。ターゲットプロセッサのレジスタの名前 は、変数名として予約されており、式の中でレジスタにアクセスするために使うことが できます。 下位互換モードでは、変数は数字かアルファベット 1 文字 ( レジスタを除く) で、プレ フィックスとして > 文字を付けます。 両モードでサポートされている変数をリストします。 9 最後の $< コマンドのカウントです。 b データセグメントのアドレスのベースです。 d データセグメントサイズです。 t テキストセグメントサイズです。 e エントリーポイントです。 s スタックセグメントサイズです。 m <magic.h> で定義されている「マジック」番号です。 b 、 d 、および t のエントリーは、現在のメモリーファイルのヘッダーから設定されま す。現在のメモリーファイルが有効でない場合は、これらの値は現在のオブジェクト ファイルから設定されます。 e は、現在のオブジェクトファイルから設定されます。 注記: これらの値は、コアファイルとオブジェクトファイルだけから設定されます。 通常モードでだけサポートされている基本的な要素は次のとおりです。 $. dot の値です。 $+ dotincr の値で加算された dot 値です。 $- dotincr の値で減算された dot の値です。 $˜ address に最後に入力された値です。 下位互換モードでだけサポートされている基本的な要素は次のとおりです。 . dot の値です。 + dotincr の値で加算された dot 値です。 ˆ dotincr の値で減算された dot の値です。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-7 adb(1) adb(1) address に最後に入力された値です。 " 次の C の算術演算子、関係演算子、および論理演算子は、C と同じ優先順位でサポートされています。 ?: || && | ˆ & == != < > <= >= >> << + - * / % ˜ ! C の単項演算子 + および - と、 () 演算子もサポートされています。 上記の演算子のほかに、次の adb 固有単項演算子も、他の単項演算子と同じ優先順位でサポートされていま す。 *exp 現在のメモリーファイル内の exp で指定された位置の内容です。 @exp 現在のオブジェクトファイル内の exp で指定された位置の内容です。 次の adb 固有 2 項演算子の優先順位は、 % 演算子と同じです。 exp1#exp2 exp1 が、次に近い exp2 の倍数に丸められます。 下位互換モードでは、 % 演算子の意味は / 演算子と同じです。単項演算子 + は、このモードでは利用できま せん。 address 式または count 式で使う場合、次の演算子を含むサブ式は、 () で囲まなければなりません。 ?: / $ ! 上記の演算子のほかに、下位互換モードでは > 演算子も囲まなければなりません。 コマンド 上記で説明したように、 adb コマンドの指定には、 従来の形式または キーワード形式を使えます。下位互換 モードでは、従来の形式だけがサポートされています。 従来の形式のコマンド 次のカテゴリのコマンドは、従来のコマンド形式で指定します。 • ファイルコマンド • キーワードコマンド • プロセスコマンド • スレッドコマンド • シェルコマンド 下位互換モードでは、次のカテゴリが使用できます。 • 変数コマンド ファイルコマンド このコマンドは、現在のオブジェクトファイルまたは現在のメモリーファイルに対して操作を行うもので、読 み取りや書き込みに使われます。 file_selector[ modifier] [ ,size | index] [arglist] Section 1-8 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 adb(1) adb(1) file_selector は、次のいずれかです。 ? 現在のオブジェクトファイルが選択されます。 / 現在のメモリーファイルが選択されます。 = この特殊シンボルは、 dot の値を出力するためだけに使われます。 modifier は、ファイルに対する操作を指定します。 modifier には、次の項目を指定できます。 (修飾子なし) 書式文字列である、オプションの単一引き数リスト ( arglist ) を処理します。 adb は、書 式文字列に従って、選択されたファイルのデータを出力します。書式文字列がなく、選 択されたファイルが ? または / の場合、 adb は以前に使われた書式文字列を使います。 ファイル選択子が = で、書式文字列がない場合、 adb は直前の = コマンドで使った書式 文字列を使います。 / [ , size ] value [ mask ] 選択されたファイルを検索します。 size のサイズのワードを mask でマスクし、 dot から 開始して value と一致するまで比較します。見つかった場合、 dot にはマスクされたオブ ジェクトのアドレスが設定されます。マスクが省略された場合、マスクは使われませ ん。 dotincr には、0 が設定されます。有効なサイズの値は、1、2、4、8 です。 size を 指定しないと、 sizeof(int) が前提となります。 value と mask は、 size バイトの符号なし 整数です。 たとえば、 expr?/,4 6 5 という式があるとします。 4 バイト値の 4 (6 & 5) を、現在のオブ ジェクトファイル内で expr の位置から検索します。 = [ , size ] value1 value2 ... サイズが size の値を、指定された位置に書き込みます。 dot は各書き込み後、 size だけ 増分されます。 dotincr には 0 が設定されます。 size と values の値は、 / 修飾子と同じ です。この操作を行うには、ファイルを -w オプションでオープンしなければなりませ ん。 たとえば、 expr?=,4 6 5 という式があるとします。現在のオブジェクトファイル内の expr と expr+4 というアドレスそれぞれに 6 と 5 を書き込みます。 > [ , index ] b e f 選択されたファイルの index 番目のマッピングの 3 つのパラメータに、対応する引き数の 値を順に設定します。 「アドレスマップ」を参照してください。指定した引き数が 3 個 より少ない場合、残りのマップは変更されないままになります。この引き数は式です。 指定しないと、 index は 0 と見なされます。たとえば、 ?>,0 1 2 3 があるとします。現在 のオブジェクトファイルの b、 e、 f (インデックス 0) には、それぞれ 1、2、3 が設定さ れます。 下位互換モードでは、次の修飾子も使うことができます。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-9 adb(1) adb(1) 修飾子が指定されなかった場合と同じ動作になります。ただし、2 番目のマッピングパラ * メータを使って、出力するデータのファイルアドレスを算出します。 l 修飾子 / と同じ動作を行いますが、サイズが 2 です。 dotincr には 2 が設定されます。 L 修飾子 / と同じ動作を行いますが、サイズが 4 です。 dotincr には 4 が設定されます。 修飾子 = と同じ動作を行いますが、サイズが 2 です。 dotincr には 2 が設定されます。 w dot は、書き込まれたすべての値の合計サイズから dotincr を除いた値で増分されます。 修飾子 / と同じ動作を行いますが、サイズが 4 です。 dotincr には 4 が設定されます。 W dot には、 w の場合と同じ値が設定されます。 m 修飾子 > と同じ動作を行いますが、 index が 0 です。 *m 修飾子 > と同じ動作を行いますが、 index が 1 です。 これらの修飾子には、明示的に size または index を指定することはできません。これらの修飾子の使用は推奨 しません。 キーワードコマンド キーワードコマンドは従来のコマンド形式のコマンドの前に $ を付けて、実行します。キーワードコマンドの 全リストについては、 「キーワード形式コマンド」を参照してください。 プロセスコマンド このコマンドは、サブプロセスの管理を行います。 adb はオブジェクトファイルを、サブプロセスとして実行 できます。また、pid を指定してサブプロセスを指定することもできます。 adb はマルチスレッドや、フォー クされたサブプロセスを実行できます。また、複数のサブプロセスを同時にデバッグすることもできます。た だし、どの時点でも、 現在のサブプロセスおよび 現在のスレッドと呼ばれる 1 つのサブプロセスやスレッド に焦点を絞ります。 このコマンドでは : の後に、 modifier とオプションの引き数リストを指定します。この引き数を次に示しま す。 r [ objfile ] objfile をサブプロセスとして実行します。 address を明示的に指定すると、プログラムは この場所から開始されます。明示的に指定しないと、プログラムは標準のエントリーポ イントから開始されます。 count の値は、停止まで何回ブレークポイントを無視するかを 指定します。 subprocess の arguments は、コマンドと同じ行に指定できます。セミコロン は、コマンド区切り記号としては使われません。 < または > で始まる argument は、コマ ンドに対し標準入力や標準出力が使われることを示します。サブプロセスに入るとき、 すべてのシグナルがオンになります。このようなサブプロセスは、 生成されたサブプロ セスと呼ばれます。 他に生成されたサブプロセスがある場合、すべてのサブプロセスが抹消されます。ア タッチされているサブプロセスは抹消しません。このサブプロセスは、現在のサブプロ セスになります。 Section 1-10 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 adb(1) adb(1) e [ objfile ] :r と同様にサブプロセスをセットアップします。命令は実行しません。 a [ objfile ] adb が、 pid のプロセスを、トレース対象サブプロセスとして使うようにします。 objfile を指定すると、 objfile のシンボル情報を使います。カウントは、 :r と同じです。このよ うなサブプロセスは、 アタッチされたサブプロセスといいます。このサブプロセスは、 現在のサブプロセスになります。 k [ pid | * ] 生成されたサブプロセスを抹消します。引き数を指定しないと、現在のサブプロセスが 抹消されます。 pid を指定すると、その pid のサブプロセスが抹消されます。 * を指定 すると、生成されたすべてのサブプロセスが抹消されます。 現在のサブプロセスは、残りのサブプロセスの中から選択されます。 de [ pid | * ] 引き数は pid か * です。 :k と同じですが、アタッチ済みのサブプロセスに適用されま す。 adb は、アタッチされたサブプロセスを抹消します。 c [ signal ] signal シグナルを受信しても、現在のサブプロセスの実行が継続されます。サブプロセス 内のすべてのスレッドが継続されます。 signal を指定しないと、停止の原因となったシ グナルが送信されます。 address を指定すると、このアドレスから現在のスレッドが継続 されます。ブレークポイントのスキップは、 :r の場合と同じです。 s [ signal | arg1 arg2 ... ] 現在のスレッドを count 回ステップ実行します。 address を指定すると、スレッドは address から実行が継続されます。指定しないと、停止した address から実行が継続され ます。 signal を指定しないと、停止の原因となった signal が送信されます。現在のサブ プロセスがない場合、 :r と同様に、オブジェクトファイルがサブプロセスとして実行さ れます。この場合、シグナルは送信されません。行の残りの部分は、サブプロセスへの 引き数として扱われます。 b [ command ] 現在のサブプロセス内の address にブレークポイントを設定します。ブレークポイントが count−1 回実行されてから停止します。ブレークポイントに到達するごとに、 command が実行されます。このブレークポイントは、 subprocess ブレークポイントです。この address にある命令を実行するスレッドがある場合、このスレッドは停止します。同じ address に複数のブレークポイントを設定できます。 d [ num | * ] 引き数なしで指定すると、現在のサブプロセス内の address に設定されたブレークポイン トをすべて削除します。 * を指定すると、現在のサブプロセスのすべてのブレークポイ ントが削除されます。 num を指定すると、番号が num のブレークポイントが削除されま す。 en [ num | * ] 引き数なしで指定すると、現在のサブプロセス内の address に設定されたブレークポイン トが有効になります。 * を指定すると、現在のサブプロセスのすべてのブレークポイン トが有効になります。 num を指定すると、番号が num のブレークポイントが有効になり HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-11 adb(1) adb(1) ます。 di [ num | * ] 引き数なしで指定すると、現在のサブプロセス内の address に設定されたブレークポイン トが無効になります。 * を指定すると、現在のサブプロセス内のすべてのブレークポイ ントが無効になります。 num を指定すると、番号が num のブレークポイントが無効にな ります。 z signum [ +s | -s | +r | -r | +d | -d ] 指定した signum のシグナルの扱いを、現在のサブプロセス内のすべてのスレッドで変更 します。次の処理を指定できます。 +s signum を受信した場合に subprocess を停止します。 -s signum を受信しても subprocess を停止しません。 +r signum を受信した場合に報告を行います。 -r signum を受信しても報告を行いません。 +d ターゲットの subprocess へ signum を通知します。 -d ターゲットの subprocess へ signum を通知しません。 現在のサブプロセスから、プロセス ID が pid の subprocess に切り替えます。切り替え後 w [ pid ] のプロセスが、現在のサブプロセスになります。このプロセスは、アタッチされたサブ プロセスか、生成されたサブプロセスでなければなりません。どちらのサブプロセス も、このコマンドの後は停止状態になります。 w と同じですが、現在のサブプロセスは停止しません。 wc [ pid ] スレッドコマンド このコマンドは、現在のサブプロセス内のスレッドを管理します。このコマンドでは ] の後に、 modifier とオ プションの引き数リストを指定します。 s [ signum ] :s と同じです。ただし、現在のスレッドのみが対象です。 c [ signum ] :c と同じです。ただし、現在のスレッドのみを継続します。また、 count は、現在のスレッド のブレークポイントのスキップ数を指定します。 b [ command ] :b と同じです。ただし、現在のスレッドのみに適用されます。 d [ num | * ] :d と同じです。ただし、現在のスレッドのみに適用されます。 en [ num | * ] :en と同じです。ただし、現在のスレッドのみに適用されます。 di [ num | * ] :di と同じです。ただし、現在のスレッドのみに適用されます。 z signum [ +s | -s | +r | -r | +d | -d ] :z と同じです。ただし、現在のスレッドのみを意味します。このスレッドのコンテキストで signum が発生すると、サブプロセスの場合と同様に処理されます。 Section 1-12 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 adb(1) adb(1) es [ signum ] 現在のスレッドの signum のフラグを設定します。つまり、サブプロセスのコンテキストでは なく、このスレッドのコンテキストで signum が発生すると、サブプロセスの場合と同様に処 理されます。 現在のスレッドから他のスレッドへ切り替えます。このコマンド後、両方のスレッドは停止状 w [ pid ] 態になり、 threadid のスレッドが現在のスレッドになります。このコマンドは、コアファイ ルのデバッグにも使用できます。現在のスレッドから指定されたスレッドに切り替え、指定さ れたスレッドを現在のスレッドとします。 シェルコマンド このコマンドでは、 ! 文字の後に string を続けます。 string は変更されずに、 SHELL 環境変数で定義されて いるシェルか、 /bin/sh に渡されます。 変数コマンド このコマンドは、下位互換モードでだけサポートされます。このコマンドでは、 > の後に 変数 var、およびオ プションの value を続けます。このコマンドは、 var で指定された変数またはレジスタに値を代入します。 変数を指定しないと、 value は dot の値を使います。この動作は推奨しません。 キーワード形式コマンド この形式のコマンドはすべて、キーワードの後に可変個の引き数が続きます。 下位互換モードでは、 $ をキーワード形式コマンドの前に付けなければなりません。 < filename filename からコマンドを読み取ります。このコマンドがファイル内で実行された場合、こ れ以降のファイル内のコマンドは実行されません。 count を指定すると、下位互換モードでは、ファイル内の最初の command が実行される 前に、変数 9 に count を設定します。この動作は推奨しません。 << filename < に似ていますが、コマンドのファイル内で使っても、そのファイルはクローズされませ ん。 下位互換モードでは、変数 9 はコマンドの実行時に保存され、完了時に復元されます。 この動作は推奨しません。 > filename 出力を filename に送信します。このファイルがない場合には、ファイルを作成します。 下位互換モードでは、出力は filename に追加されます。 >> filename > に似ていますが、出力は filename に追加されます。 rp プロセス ID とレジスタ値が出力されます。 r プロセスカウンタが指している命令と汎用レジスタを出力します。 ra すべてのレジスタを出力します。 HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-13 adb(1) adb(1) f 浮動小数点レジスタを出力します。 fd 倍精度浮動小数点レジスタを出力します。 b すべてのブレークポイント、その番号、関連のカウント、状態、現在のサブプロセスの コマンドを出力します。 adb がトレースしたすべてのサブプロセスの情報 ( プロセス ID、タイプ ( 生成またはア ps タッチ)、カウント、スレッド ID) を出力します。 現在のデバッグ対象に関する情報を出力します。また、現在のデバッグ対象がサブプロ pc セスの場合には、サブプロセスの情報 (プロセス ID、タイプ、カウント) を出力し、サブ プロセスの各スレッドの情報 (スレッド ID、カウント、シグナル) も出力します。現在の デバッグ対象がコアの場合には、コア内に存在する各スレッドの情報 ( スレッド番号、 ユーザースレッド ID、軽量プロセスID、PCの値、PCのシンボル) を出力します。 現在のスレッド情報 (スレッド ID、カウント、シグナル) を出力します。現在のデバッグ pt 対象がコアの場合には、コアの現在のスレッドの情報 (ユーザースレッド ID、登録情報) を出力します。 引き数は address と count です。 C のスタックのバックトレースを出力します。 address c を指定すると、通常のスタックフレームポインターの代りに、現在のフレームのアドレ スが対象となります。 count を指定すると、最初の count 個のフレームだけが出力されま す。 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。引き数を指 定しないと、 address と count が使われます。 w [ width ] 出力のページ幅を width にします。 (デフォルトは 80 です。) 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。 width を指定 しないと、address が幅として解釈されます。 s [ offset ] maxoffset に offset を設定します。 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。 offset を指定 しないと、address がオフセットとして解釈されます。 o すべての整数入力のデフォルトの基数を 8 進数とします。 d [ radix ] デフォルトの基数を radix とします。 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。 radix を指定 しないと、 address が基数として解釈されます。 Section 1-14 x すべての整数入力のデフォルトの基数を 16 進数とします。 q adb を終了します。 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 adb(1) adb(1) v m すべての変数の値を出力します。 アドレスマップを出力します。出力されるマップには、正しい corefile の初期マップとデ フォルトマップの両方が含まれます (どれが現在アクティブであるかを示す情報がありま す)。 z シグナルと、そのシグナルが現在のサブプロセスではどのように処理されるかを示すリ ストを出力します。 zt シグナル、その関連フラグ、そのシグナルが現在のスレッドではどのように処理される かを示すリストを出力します。 k すべての DLMK モジュールまたは共有ライブラリを出力します。 n [ nodenumber ] 引き数を指定しないと、CCNUMA マシン上のノード情報が出力されます。 nodenumber 引き数を指定すると、そのノードに移動します。 p traditional_cmd このキーワードコマンドは、従来のコマンドを引き数とし、そのコマンドを解釈しま す。 a var value adb 変数 var に value を代入します。 pa Virtual_Offset 指定された Virtual Offset の物理アドレスを 16 進数で出力します。スペース ID は adb 変 数 space から取得されます。 adb 変数 space を設定するには、前述したキーワードコマ ンド a を使用します。 次のコマンドは、下位互換モードでだけ実行できます。 改行 プロセス ID とレジスタ値を出力します。 M memfile のアドレスマッピングを、初期マップ設定または有効なメモリーファイルと、デ フォルトのマッピングペアの間で切り替えます。デフォルトのマッピングペアは、ファ イル操作修飾子 > で変更できます。メモリーファイルが不正な場合、利用できるのはデ フォルトマッピングだけです。 N [ nodenumber ] V クラスのマルチノードマシン上のノードの番号と、現在のノードの番号を出力しま す。他のノードへ切り替えるには、 $N nodenumber と入力します。 F 倍精度浮動小数点レジスタを出力します。 R すべてのレジスタを出力します。 U アンワインドテーブルを出力します。 HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-15 adb(1) adb(1) 書式文字列 書式文字列を使うと、 adb がデータを出力する前に、その書式を指定できます。 adb は、 従来のスタイルと printf スタイルの、2 種類の書式文字列をサポートしています。従来のスタイルの書式文字列は、 書式指定子 のシーケンスです。 printfスタイルの書式文字列は、前に必ずコンマ (,) が付き、二重引用符 ("") で囲まれま す。このスタイルの書式文字列は、書式指定子と他の文字を組み合せたシーケンスです。各書式指定子の前に は、 % 文字が付きます。書式指定子以外の文字は、そのまま使います。 % が必要であれば、 % でエスケー プします。また、C 言語スタイルの \ 文字エスケープシーケンスをサポートします。 書式文字列の処理中、 adb は書式文字列を左から右に向かって読み取り、検出した各 変換指定子を、 dot と dotincr の合計値で指定されたオブジェクトに適用します。各変換指定子の処理後、 dotincr は、変換指定子の (暗黙的または明示的な) サイズ size の count 個分の値で増分されます。 = アクションにより、書式文字列を 使って dot の値を出力した場合、 dot と dotincr の値は変更されません。 dotincr 演算子の場合、 dotincr は適 切にアップデートされます。 下位互換モードでは、従来のスタイルの書式文字列だけがサポートされます。 書式指定子 書式指定子は、 変換指定子か dot 演算子です。 1. 変換指定子 各変換指定子は、 count (オプション) または pspec 、 サイズ指定文字 (オプション)、 変換指定文字の順で成っ ています。 count この項目は、従来のスタイルの書式文字列でだけ利用できます。 count は、変換指定子を繰り返す回数 を指定します。この項目を指定しないと、 count は 1 として扱われます。 pspec この項目は、 printfスタイルの書式文字列でだけ利用できます。この項目はフラグ、フィールド幅、精 度のシーケンスです。 printf (3S) ライブラリ関数を参照してください。 サイズ指定文字 この文字は、オブジェクトのサイズを指定します。サイズは、2 通りの方法で指定できます。 1 つは絶 対サイズ指定子を使う方法で、もう 1 つは相対サイズ指定子を使う方法です。絶対サイズ指定子を次に 示します。 b オブジェクトのサイズは 1 バイトです。 e オブジェクトのサイズは 2 バイトです。 g オブジェクトのサイズは 4 バイトです。 j オブジェクトのサイズは 8 バイトです。 k オブジェクトのサイズは 16 バイトです。 相対サイズ指定子を次に示します。 Section 1-16 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 adb(1) adb(1) w オブジェクトのサイズは、ターゲットプロセッサのマシンワードのサイズです。 h オブジェクトのサイズは、ターゲットプロセッサのマシンワードのサイズの半分です。 l オブジェクトのサイズは、ターゲットプロセッサのマシンワードのサイズの 2 倍です。 n オブジェクトのサイズは、ターゲットプロセッサのポインターのサイズです。このサイズは、ワイ ドファイルとナローファイルでは異なります。 m オブジェクトのサイズは、ターゲットプロセッサの命令のサイズです。このサイズが一定であるプ ロセッサ上でだけサポートされます。 変換指定文字 次の文字がサポートされています。 a dot の値が、シンボル形式で出力されます。 c オブジェクトが、文字として出力されます。 o オブジェクトが、符号なし 8 進数として出力されます。 d オブジェクトが、符号付き 10 進数として出力されます。 u オブジェクトが、符号なし 10 進数として出力されます。 i オブジェクトが命令として逆アセンブリされ、出力されます。 f オブジェクトが、そのサイズに応じた浮動小数点形式で出力されます。 p オブジェクトが、シンボル形式で出力されます。 s オブジェクトがヌル終了文字列として扱われ、出力されます。この文字を dot の出力に使うことは できません。 y オブジェクトが time_t 型にキャストされ、 ctime(3C) 形式で出力されます。 printfスタイルの書式文字列でサポートされているのは、 c、 o、 d、 u、 x、 f、および s だけです。 サイズ指定文字を指定しないと、 d、 u、 x、 o、および f 変換指定文字の場合は w 、 c 変換指定文字 の場合は b 、 i 変換指定文字の場合は m 、 y 変換指定文字の場合は sizeof(time_t) として扱われます。 その他の場合は、 w として扱われます。 例: 10=2bo, ’abc’=,"%s", main?4i 2. dot 演算子 dot 演算子は、 count (オプション)、 サイズ指定文字 (オプション)、 dot 演算子文字から成ります。 count count は、 dot 演算子を繰り返す回数を指定します。指定しないと、 count は 1 として扱われま す。 printfスタイルの書式文字列の場合、 count は必ず 1 です。 HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-17 adb(1) adb(1) サイズ指定文字 変換指定子のサイズ指定文字と同じです。 dot 演算子文字 dot 演算子文字は、次のいずれかです。 v dotincr を count 回のサイズで増加させます。 z dotincr を count 回のサイズで減小させます。 例: =5bv, =5bv5bz 下位互換モード 下位互換モードでは、 従来のスタイルは 変換指定子、 dot 演算子、 スペース指定子、または リテラル文字列 です。 1. 変換指定子 変換指定子は、 count (オプション)、 変換指定文字から構成されます。 count 変換指定子が繰り返される回数を指定します。指定しないと、 count は 1 として扱われます。 変換指定文字 これらの文字では、暗黙的にサイズが決っています。明示的にサイズを指定することはできま せん。次の書式文字が利用できます (横の数字は、暗黙的に決っているサイズです)。 Section 1-18 o 2 オブジェクトが、符号なし 8 進数として出力されます。 O 4 オブジェクトが、符号なし 8 進数として出力されます。 q 2 オブジェクトが、符号付き 8 進数として出力されます。 Q 4 オブジェクトが、符号なし 8 進数として出力されます。 d 2 オブジェクトが、符号付き 10 進数として出力されます。 D 4 オブジェクトが、符号付き 10 進数として出力されます。 x 2 オブジェクトが、符号なし 16 進数として出力されます。 X 4 オブジェクトが、符号なし 16 進数として出力されます。 A 8 オブジェクトが、符号なし 16 進数として出力されます。 u 2 オブジェクトが、符号なし 10 進数として出力されます。 U 4 オブジェクトが、符号なし 10 進数として出力されます。 f 4 オブジェクトが、浮動小数点数として出力されます。 F 8 オブジェクトが、倍精度浮動小数点数として出力されます。 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 adb(1) adb(1) b 1 オブジェクトが、16 進数として出力されます。 B 1 オブジェクトが、8 進数として出力されます。 c 1 オブジェクトが、文字として出力されます (符号ビットは無視されます)。 オブジェクトが、次のエスケープ規約を使って、文字として出力されます。まず、符 C 1 号ビットが廃棄され、値 000 ∼ 040 の文字が @ として出力され、その後に範囲 0100 ∼ 0140 の対応する文字が出力されます。 @ 文字は、 @@ として表されます。 オブジェクトは、 n バイトの命令として扱われ出力されます。 n の値は、命令が占め s n るバイト数です。この文字を dot の出力に使うことはできません。 オブジェクトは、ヌルバイトで終了するバイトシーケンスとして扱われます。オブ S n ジェクトのバイトは、 @ エスケープ規約を使って、文字のシーケンスとして出力され ます。 n の値は、オブジェクト内のバイトの数 (ヌルバイトを含む) です。この文字を dot の出力に使うことはできません。 オブジェクトが、日付形式 (ctime(3C) を参照) で出力されます。 Y 4 オブジェクトが命令として逆アセンブリされ出力されます。 n の値は、命令が占める i n バイト数です。 a 0 dot の値がシンボル形式で出力されます。 p n オブジェクトが、シンボル形式で出力されます。 n の値はマシンにより異なります。 例: main=ba, ’a’=c, main?10box 2. dot 演算子 dot 演算子は、count (オプション)、dot 演算子文字から構成されます。 count 変換指定子の count と同じです。 dot 演算子文字 dot 演算子文字は、次のいずれかです。 ˆ dotincr は、直前の変換指定文字に対応するサイズの count 個分で減小します。 + dotincr は、count で増加します。 - dotincr は、count で減小します。 例: 10=-, 10=2-, 10=5o4ˆ 3. スペース指定子 スペース指定子は、 count (オプション) または tabstop (オプション) と、 スペース指定文字 の順で構成されま す。 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-19 adb(1) adb(1) count 変換指定子の count と同じです。 tabstop 変換指定子の count と同じです。ただし、 t スペース指定子にだけ使われます。この値を指定し ないと、1 として扱われます。 スペース指定文字 スペース指定文字は、次のいずれかです。 tabstop の次のタブストップへ移動します。たとえば、 8t の場合、次の 8 スペースのタブ t ストップへ移動します。 r スペースを 1 個出力します。 n 改行文字を 1 個出力します。 例: 10=2o2t2o, 10=2o2r2o, 10=2o2n2o 4. リテラル文字列 リテラル文字列は、二重引用符 ("") で囲まれた、任意の個数の文字です。 例: 10="in octal "ot"in hex "x アドレスマップ オブジェクトファイルやアプリケーションコアファイルなどのファイルでは、仮想メモリーアドレスとファイ ルのオフセットは同じではありません。このため adb は、 アドレスマップの配列を保持して、このようなファ イルの仮想メモリーアドレスをファイルオフセットにマッピングします。各アドレスマップは、開始仮想アド レス (b)、終了仮想アドレス (e)、および開始ファイルオフセット (f ) の、3 つの項目から成ります。この 3 つ の項目は、 f から始まる file 内の連続領域を占める b ∼ e − 1 のすべての アドレスを指定します。 b≤ a< e とい う仮想アドレス a が指定されると、ファイルオフセットは f + a− b となります。 状態変数 任意の時点の adb の状態を定義するために、次の変数があります。 dot 現在のアドレスです。初期値は 0 です。 dotincr 現在のアドレス増分値です。初期値は 0 です。 prompt adb が使うプロンプト文字列です。初期値は ‘‘adb> ’’ です。 radix 現在の入力基数です。初期値は、ターゲットプロセッサのアセンブラ言語に従います。 maxwidth 表示の最大幅です。初期値は 80 です。 maxoffset 既知のシンボルからこの制限値内にあるアドレスの場合、 adb はこのアドレスを symbol_name+offset として出力します。この制限値内にない場合は、 address と出力されます。初 期値は、 0xffffffff です。 Section 1-20 Hewlett-Packard Company − 17 − HP-UX 11i Version 3: February 2007 adb(1) adb(1) macropath adb マクロを検索するディレクトリのリストです。初期値は、 .:/usr/lib/adb です。 pager adb が使うページャーコマンドです。初期値は、 more -c です。 backcompat adb が下位互換モードの場合、1 が設定されます。初期値は、ホストプロセッサにより異なり ます。 注記 adb64 は、 adb へのシンボリックリンクです。このシンボリックリンクは、 adb64 を使用している古いスクリ プトとの互換性を保つために提供されています。 多言語化対応 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 戻り値 adb は、アクセス不能なファイル、構文エラー、コマンドの異常終了などについてコメントします。最終コマ ンドが異常終了したかゼロ以外の値が戻された場合を除き、終了ステータスは 0 です。 著者 adb は、HP によって開発されました。 ファイル a.out core /dev/mem /dev/kmem 参照 ttrace(2), crt0(3), ctime(3C), end(3C), a.out(4), core(4), signal(5) ADB チュートリアル HP-UX 11i Version 3: February 2007 − 18 − Hewlett-Packard Company Section 1-21 adjust(1) adjust(1) 名称 adjust − 簡単なテキストフォーマッタ 構文 adjust [−b] [−c|-j|−r] [−m column] [−t tabsize] [ files]... 説明 adjust コマンドは、テキストパラグラフの詰め込み、センタリング、左右の位置調整、または右側の位置調整 のみを行う、単純なテキストフォーマッタであり、対話的に使用することを目的として設計されています。こ のプログラムは、一連の入力ファイル(または、何も与えなければ標準入力)を読み取り、各パラグラフを個別 にフォーマットしてその入力のフォーマット済みバージョンを標準出力に生成します。 − を入力ファイル名と して与えると、 adjust はその時点から標準入力を読み取ります( − をオプションから区別するために、引き数 として −− を使用します)。 adjust は、スペース文字、タブ、または改行で区切られた一連のワードとしてテキストを入力行から読み取り ます。テキスト行は、ブランク行で区切られたパラグラフにまとめられます。デフォルトでは、テキストは直 接出力にコピーされ、右マージン72 の簡単な詰め込み( 以下を参照) だけが行われます。また、先頭部分のス ペースは、可能な場合にはタブに変換されます。 オプション adjust コマンドのコマンドラインオプションは次のようになります。 出力において先頭部分のスペース文字をタブに変換しません(入力にタブがあっても、出力 −b にはタブは含まれません)。 テキストを各行の中央に置きます。行は前後処理されますが、詰め込みは行われません。 −c テキストを揃えます。詰め込みの後、揃え済みの左マージンを保持しながら、各行(各パラ −j グラフの最終行を除いて)に、必要に応じてスペースを挿入して右揃えを行います。 詰め込みを行った後、各行の字下げを調整して右マージンを揃えます(左マージンはでこぼ −r こになる)。 −mcolumn 右側の詰め込み用マージンを、カラム数の72のかわりに設定します。(可能ならば)出力行 がこのカラムを超えて広がらないように、テキストは詰め込みを行い、またオプションに より右詰めされます。 −m0 を与えると、各パラグラフの先頭行の現在の右マージンが、パ ラグラフのこれ以降のすべての行に使用されます。 デフォルトでは、テキストは40カラム目を中心とします。 −c では、 −m オプションは、セ ンタリング「ウィンドウ」の中央のカラムを設定しますが、 −m0 は、その前と同じ右マー ジンになります。(次に「ウィンドウ」の中心を決定します)。 −ttabsize タブサイズをデフォルト(8カラム)以外の値に設定します。 1行のコマンド行で使用できるオプションは、 −c, −j, および −r オプションのいずれか1つだけです。 Section 1-22 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 adjust(1) adjust(1) 詳細 入力行テキストに他の操作を行う前に、 adjust は通常の方法で前にある文字をバックスペース処理で消去しま す。次に、タブ以外のプリント不可能な文字をすべて無視します。そのあと、タブをすべてスペースに展開し ます。 簡単なテキストの詰め込みについては、各パラグラフの先頭行にある最初のワードが、入力行と同じだけ字下 げされます。次に、各ワードが後ろに1 つのスペースを付けて出力されます。 terminal_character[quote][closing_character] で終わる「ワード」の後ろには、2つのスペースが付きます。ただし、 terminal_character は .、 :、 ?、または ! のいずれかです。 quote は、閉じる側の一重引用符 (’) 文字または二重引用符文字(")です。ま た、 close は )、 ]、または } のどちらかです。例をいくつか示します。 end. of? sentence.’ sorts!" of.) words?"] (adjust は、 terminal_character に続く一対の閉じる側の一重引用符 (’’) の後に2つのスペースを入れません)。 adjust は、(最初のワード以外の)ワードを現在の行に追加すると、右マージンを超えるときは常に新しい出力 行から始めます。 adjust は、詰め込みされる際にパラグラフの字下げされた先頭行(この行など)を認識しています。各パラグ ラフの2行目以降の行は、第2行があれば入力パラグラフの第2行と同じだけ、なければ先頭行と同じだけ字下 げされます。 adjust は、詰め込みの際に簡単なタグ付きパラグラフ(このパラグラフなど)を基本的に認識します。パラ グラフの第2 行が先頭行以上に字下げされており、先頭行に、第2 行と同じインデントから始まる ワードがある場合、(単一または複数の)タグワードの入力カラム位置は、(第2行のインデントに一 致するワードよりも前)そのままにされます。 タグワードは、右マージンを超えても、カラム位置を変更せずに通されます。行の残りは、最初の非タグワー ドの位置から、詰め込みまたは右揃えされます。 −j を指定すると、 adjust は、インテリジェントアルゴリズムを使用して、行が右マージンに達するまでスペー スが最も多く必要とされる出力行にスペースを挿入します。まず、すべての1スペースのワードセパレータが 検査されます。各セパレータとその前後のセパレータとの間で文字が最も多いものから始め、変更後の行が右 マージンに達するまで、各セパレータに1つずつスペースが追加されます。すべての1スペースセパレータが2 つのスペースに増え、さらに多くのスペースを挿入しなければならない場合、このアルゴリズムは、2スペー スセパレータを使用して繰り返され、以下同様に行われます。 出力行のインデントは右マージンよりも1つだけ小さいものに保持されます。1つのワードが行サイズ(右マー ジンからインデントをマイナスしたもの)よりも大きい場合には、適当に字下げされて、その1ワードが右マー ジンを超して、同じ行に表示されます。ただし、 −r が指定された場合は、このようなワードも(可能ならば)右 側が位置揃えされます。 現在のロケールがクラス名 ekinsoku および bkinsoku ( iswctype(3C) 参照) を定義する場合、 adjust は、 ekinsoku/bkinsoku 文字種別およびマージン設定に従って、テキストをフォーマットします。 ( −r, −j, および −m オ プションを参照)。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-23 adjust(1) adjust(1) 多言語化対応 環境変数 LANG は、未設定またはヌルのインターナショナル変数に対するデフォルト値を提供します。 LANG が未設 定またはヌルの場合は、デフォルト値の"C"( lang(5) を参照)が使われます。インターナショナル変数のいずれ かの設定が不適当な場合には、 adjust は、すべてのインターナショナル変数が "C"に設定されているものとし て動作します。 environ(5) を参照してください。 LC_ALL が空でない文字列値に設定されている場合は、他のすべてのインターナショナル変数の値が無効にな り、この値が適用されます。 LC_CTYPE は、テキストの解釈方法(シングルバイト文字、マルチバイト文字、またはその両方)、プリント可 能な文字の種別、および正規表現の中の文字クラス表現に一致する文字を決定します。 LC_MESSAGES は、標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセー ジの、フォーマットと内容を制御するために使用すべきロケールを決定します。 NLSPATH は、 LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 どの入力ファイルもオープンできない場合、 adjust は、まず標準エラーに警告を発し、次にゼロ以外の値を戻 します(これにより、ファイルが処理されません)。 −m または −t への引き数が範囲外であるか、またはプログ ラムが不適当に呼び出されると、同じ処理を行います(が即座に終了します)。 BUFSIZ よりも長い入力行は、(タブ展開の前に)表示を行うことなく分割されるか、または(その後に)切り捨 てられます。中央に表示するには長すぎる行は1カラム目から(先頭にスペースが入らない状態で)始まります。 例 このコマンドを使用して、 vi(1) 実行中に、テキストのフィルタリングを行うことができます。次に例を示し ます。 !}adjust これは、現在のパラグラフの残り部分(現在行以降)をフォーマットし直し、各行を調整します。 次の vi コマンドは :map ˆX {!}adjust -jˆVˆM 便利な「簡易マクロ」をセットアップします(ここで ˆ はコントロール文字を表します)。 ˆX (Ctrl-X)をタイプ 入力すると、現在のパラグラフ全体がフォーマットし直されます。 adjust −m1 は、テキストを個々のワードに分解するための簡単な方法です。このとき、タグ付きパラグラフの タグを除き、空白は付きません。 Section 1-24 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 adjust(1) adjust(1) 警告 このプログラムは簡単で高速に動作するように設計されています。これは、空白などの文字をエスケープさせ るバックスラッシュを認識しません。また、タグが単独で行にあるパラグラフも認識しません。このプログラ ムは、行が改行またはヌルで終了することやタブおよびバックスペースの処理方法を認識していますが、 フォームフィードなどの他の文字については何も特別な処理を行いません(これらは単に無視されます)。複雑 な操作については、標準的なテキストプロセッサの方がより適している場合があります。 このプログラムは、詰め込み、センタリング、および( −r オプションによる)位置揃えを行う独立したプログラ ムの集合として改良することも可能です。ただし、これは、特にタグ付きパラグラフやパラグラフの最終行に ついてプログラムが特に対応しているとしても、実用にそれほど効果的ではありません。 著者 adjust はHPによって開発されました。 参照 nroff(1) HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-25 admin(1) admin(1) 名称 admin − SCCS ファイルの作成と管理 構文 admin -i[name] [-n] [-b] [-a login] ... [-d flag[ flag-val] ] ... [-f flag[ flag-val] ] ... [-m mrlist] ... [-r rel] [-t[name] ] [-y[comment] ] file ... admin -n [-a login] ... [-d flag[ flag-val] ] ... [-f flag[ flag-val] ] ... [-m mrlist] ... [-t[name] ] [-y[comment] ] file ... admin [-a login] ... [-e login] ... [-d flag[ flag-val] ] ... [-m mrlist] ... [-r rel] [-t[name] ] file ... admin -h file ... admin -z file ... 説明 admin コマンドは新しい SCCS ファイルの作成と既存ファイルのパラメーターの変更に使用します。 admin へ の引き数は任意の順序で指定することができ( - がない場合は、 - の後ろの引き数はすべてファイルとして扱わ れることになります) - で始まるオプション引き数と、指定した file で構成します(SCCS ファイル名は文字 s. で始めなければなりません)。指定された file は存在しなければ作成され、パラメーターは指定オプションの引 き数に従って初期化されます。オプション引き数によって初期化されなかったパラメーターには、デフォルト 値が割り当てられます。指定された file が存在すれば、指定したオプション引き数に対応するパラメーターが 変更され、他のパラメーターは変更されないままです。 file の代わりに directory を指定すると、 admin は directory の file ごとに動作しますが、非 SCCS ファイル(パ ス名の最後の構成部分が s. で始まらないもの)および読み取り不可能なファイルは表示をされずに無視されま す。ファイル名の代わりに - を指定すると、標準入力が読み込まれ、標準入力の各行は SCCS ファイルのよう に処理されます。上記と同様に、非 SCCS ファイルおよび読み取り不可能なファイルは表示されずに無視され ます。 admin オプション引き数は、単一または複数を問わず、指定した file すべてに独立して適用されます。以下で は、ファイルが単一でも複数でもまったく同一の影響を受けますが、ファイルが 1つだけ指定されたものとし て、各オプションについて説明します。 オプション admin コマンドは次のオプションとコマンド行引き数をサポートします。 このオプションは、新しい SCCS ファイルが作成されることを示します。 -n -i[name] 新しい SCCS ファイルの内容が取り出されるファイルの name (name がバイナリファ イルの場合は、-b オプションを指定する必要があります)。この内容がファイルの最 初のデルタになります(デルタ番号付けスキームについては、 -r オプションを参照)。 -i オプションを使用しファイル名を省略した場合、テキストは、EOF に達するまで標 準入力を読み込みます。このオプションを省略すると、 SCCS ファイルは空の初期デ Section 1-26 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 admin(1) admin(1) ルタで作成されます。 -i オプションを与えた admin コマンドにより、 SCCS ファイ ルを 1つだけ作成できます。1回の admin の使用で2つ以上の SCCS ファイルを作成 するには、空( -i オプションなし)で作成する必要があります。 -i オプションは、暗黙 のうちに -n オプションを指定したことと同じになる点に注意してください。 -b -i オプションに指定された name の内容をエンコードします。このキー文字は、name がバイナリファイルの場合には、必ず使用しなければなりません。使用しないと、 SCCS コマンドはバイナリファイルを正しく処理できません。 -r rel 初期デルタが挿入されるファイルの release (rel)。このオプションは、 -i オプションも 使用した場合に限って使用できます。 -r オプションを使用しなければ、初期デルタは リリース1に挿入されます。初期デルタのレベルは常に1です(デフォルトでは初期デ ルタは1.1に指定されます)。 -t[name] SCCS ファイルの説明文が引き出されるファイルの name 。 -t オプションを使用し、 admin が新しい SCCS ファイルを作成している( -n および -i 、またはそのいずれかの オプションも使用している) 場合には、記述テキストファイル名を与えなければなり ません。 SCCS ファイルが存在する場合、 • -t オプションにファイル名がないと、 SCCS ファイルに現在ある記述テキスト(も しあれば)が削除されます。また、 • -t オプションにファイル名があると、指定ファイルのテキスト ( もしあれば ) が SCCS ファイルに現在ある記述テキスト(もしあれば)と入れ替わります。 -f flag このオプションは、 SCCS ファイルに入れる flag ともしくは flag の値を指定します。 複数の -f オプションを一行の admin コマンド行に対して指定することができます。 使用可能な flag とその値は次の通りです。 b get コマンドで -b オプションを使用して分岐デルタを作成できるようにし ます( get(1)参照)。 cceil get コマンドによってエディットするために読み出すことができる最高の リリース番号( つまり、上限) で9999 以下の数字。未指定の c フラグのデ フォルト値は9999です。 f floor get コマンドによってエディットするために読み出すことができる最低の リリース( つまり、下限) で1以上9999未満の数字。未指定の f フラグのデ フォルト値は1です。 dSID get コマンドで使用するデフォルトデルタ数 SID ( get(1)を参照)。 istr 次のメッセージ、 No id keywords (cm7) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-27 admin(1) admin(1) は、 get または delta によって発行され、致命的なエラーとして処理され ます( delta(1) を参照)。このフラグがないときは、メッセージは警告のみ です。 SCCS 識別キーワード( get(1) を参照) が、 SCCS ファイルから読み 出されるか、保存されたテキストに見つからなければ、このメッセージが 発行されます。値が与えられると、キーワードは、与えられた文字列に正 確に一致しなければなりません。ただし、この文字列には、 1 つのキー ワードを含み、改行は含めてはなりません。 j 同じ SID のある SCCS ファイル上で編集するために同時に複数の get コマ ンドを使用可能にします。これにより、 SCCS ファイルの同一バージョン に対する複数の並列更新を可能にします。 1 人のユーザーだけが並行編集を行うことができます。複数のユーザーに よるアクセスは通常、共通のログインまたはset user ID プログラムを使っ て行われます( chmod(1) および exec(2) を参照)。 llist デルタをそれ以上作成できなくなった( これらのロックされたリリースの いずれかに対して get -e を使用すると失敗します)リリースの list には次の 構文があります。 list ::= range| list , range range ::= RELEASE NUMBER | a list における文字 a は、指定された SCCS ファイルに対して all releases を 指定することと同じです。任意のリストを省略することは、 a と同じで す。 n delta が new リリース内で作成されるとスキップされる( もしあれば) 各リ リースで(デルタ2.7、リリース3、およびリリース4がスキップされた後で デルタ5.1 を作成するときなど) 空デルタを作成します。スキップしたリ リースから分岐デルタを後で作成できるように、これらの空デルタは アン カーポイントとして機能します。このフラグがないと、スキップされたリ リースは、 SCCS ファイルで存在しないことになり、その後それらのリ リースから分岐デルタが作成されなくなります。 qtext get によって読み出される SCCS ファイルテキスト内の全ての %Q% キー ワードを置換するユーザー定義可能なテキスト mmod get によって読み出される SCCS ファイルテキスト内の全ての %M% キー ワードを置換する SCCS ファイルの module 名。 m フラグを指定しなけれ ば、割り当てられる値は、先行する s. を削除した SCCS ファイルの名前に なります。 Section 1-28 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 admin(1) admin(1) ttype get によって読み出される SCCS ファイルテキスト内の全ての %Y% キー ワードを置換する SCCS ファイルにおけるモジュールの type v[pgm] delta は、デルタを作成するために変更要求 (MR) 番号を促します。オプ ションの値は、 (MR) 番号妥当性チェックプログラムの名前を指定します( delta(1) を参照)。( SCCS ファイルを作成する際にこのフラグがセットされ ていると、値が空であっても、 m オプションも使用しなければなりませ ん)。 x -d flag get に、実行パーミッションでファイルを作成させます。 SCCS ファイルから指定された flag を削除します。 -d オプションは、既存の SCCS ファイ ルを処理する場合に限って指定できます。 1 つの admin コマンドに対して複数の -d オプ ションを指定することができます。使用可能な flag 名については、 -f オプションを参照し てください。 llist ロックを解除するリリースの list 。 l フラグおよび list の構文の説明につい ては、 -f オプションを参照してください。 -a login SCCS ファイルにデルタ作成(変更)を行うことができるユーザーのリストに追加する login 名、または HP-UX グループ ID 番号。グループ ID は、そのグループ ID に共通した login 名をすべて指定することと同じです。一行の admin コマンド行で複数の a オプションを使 用できます。希望数の login またはグループ ID 番号を同時にリスト上に入れられます。 ユーザーのリストが空ならば、どのユーザーでもデルタを追加できます。 ! が付いている login またはグループ ID は、デルタを作成するパーミッションを拒否します。 -e login SCCS ファイルへのデルタ作成(変更)が許可されるユーザーのリストから削除する login 名 またはグループ ID 番号のグループ ID を指定することは、そのグループ ID に共通した login 名をすべて指定することと同じです。一行の admin コマンド行で複数の e オプション を使用できます。 -y[comment] comment テキストは、 delta(1) のテキストと同じ方法で、初期デルタのコメントとして SCCS ファイルに挿入されます。 -y オプションを省略すると、デフォルトのコメント行が 次の形式で挿入されます。 date and time created YY / MM / DD / HH / MM / SS by login -i および -n 、またはそのいずれかのオプションが指定されている( つまり、新しい SCCS ファイルが作成されている)場合に限り、 -y オプションは有効です。 -m[mrlist] 変更要求 (MR) 番号のリストは、 delta(1) と同じ方法で初期デルタを作成するために SCCS ファイルに挿入されます。 v フラグを必ずセットする必要があります。また、 v フラグに 値( (MR) 番号妥当性チェックプログラムの名前)がある場合、 (MR) 番号の妥当性がチェッ クされます。 v フラグがセットされていない場合、 (MR) の妥当性チェックが成立しない HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-29 admin(1) admin(1) 場合は、診断メッセージが出されます。 -h admin は、 SCCS ファイルの構造をチェックし ( sccsfile(4) を参照 ) 、新しく計算された チェックサム (SCCS ファイルの先頭行以外のすべての文字の合計)と SCCS ファイルの先頭 行に格納されたチェックサムとを比較します。適切なエラー診断が生成されます。 このオプションにより、ファイルへの書き込みが抑制されるため、与えられたその他すべ てのオプションのも取り消されます。したがって、このオプションの効果があるのは、既 存のファイルを処理する場合に限ります。 -z SCCS ファイルのチェックサムは再計算され、 SCCS ファイルの先頭行に格納されます(上 記の -h を参照)。 完全に破壊されたファイルにこのオプションを使用すると、将来破壊が検出できなくなる ことがあるので注意してください。 アクセス制御リスト (ACL) オプションの ACL エントリーを SCCS ファイルに追加しないでください。 SCCS により、それらは削除さ れ、誤って予期しないアクセスモードになる可能性があります。 多言語化対応 UNIX 標準環境については、 standards(5) を参照してください。 環境変数 LC_CTYPE により、テキストをシングルバイト、および/またはマルチバイトの文字で解釈するかを決定しま す。 LC_MESSAGES により、メッセージの表示する言語を決定します。 現在使用している環境において、 LC_CTYPE や LC_MESSAGES が指定されていない場合、または、 LC_CTYPE や LC_MESSAGES に空の文字列が設定されている場合、 LANG の値がその変数のデフォルトと して用いられます。 LANG が指定されていなかったり、空の文字列の場合、デフォルトの C( lang(5) を参照) が LANG の値として使われます。インターナショナル変数のいずれかの設定が不適当な場合には、 admin は すべてのインターナショナル変数が "C" に設定されているものとして動作します。 environ(5) を参照してくだ さい。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 診断 詳細は、 sccshelp(1) を使用してください。 警告 SCCS ファイルの行数は 99,999行を超えることはできません。各行の長さの制限は (改行コードを含めて)、非 UNIX 標準環境では BUFSIZ−3 バイト、UNIX 標準環境(standards(5) を参照) では LINE_MAX−3 バイトです。 Section 1-30 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 admin(1) admin(1) ファイル すべての SCCS ファイル名の最後の構成部分は、 s. filename 形式でなければなりません。新しい SCCS には、 モード444 が指定されます( chmod(1) を参照)。ファイルを作成するには、関連ディレクトリ内での書き込み パーミッションが必要となります。 admin によって行われる書き込みはすべて、 x. file-name というテンポラ リx-fileに対して行われます。 admin コマンドが新しい SCCS ファイルを作成している場合にはモード444で、 SCCS ファイルがすでに存在する場合にはそれと同じモードで作成されます ( get(1) を参照)。 admin が正常に 実行されると、 SCCS ファイルが存在していれば、それが削除され、x-fileは、 SCCS ファイルの名前に変更し ます。これにより、エラーが発生しない限り、変更が SCCS ファイルに行われるようになります。 SCCS ファイルが含まれるディレクトリをモード755にし、 SCCS ファイル自体をモード444にするようお勧め します。指定したディレクトリのモードにより、その所有者だけがディレクトリ内の SCCS ファイルを変更で きます。 SCCS ファイルのモードにより、 SCCS コマンドによる場合を除いてどんな変更も禁止されます。 何らかの理由のために SCCS ファイルをパッチする必要がある場合には、所有者がモードを644に変更できる ため、 vi などの他の適当なエディタも使うことができます。 注意して行って下さい。編集するファイルは、 常に admin -h によって破壊がないかどうかチェックし、次に admin -z によって適切なチェックサムを生成し なければなりません。 SCCS ファイルが確実に有効になるようにするには、もう1つの admin -h をお勧めしま す。 admin はまた、 z. file-name という一時的なロックファイルも使用し、これは異なるユーザーが SCCS ファイル を同時にアップデートするのを防止します。詳細は、 get(1) を参照してください。 参照 delta(1), ed(1), get(1), sccshelp(1), prs(1), what(1), sccsfile(4), acl(5), standards(5). 標準準拠 admin: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-31 answer(1) answer(1) 名称 answer − 電話メッセージ応答送信システム 構文 answer [-pu] 説明 answer は電話に応答したり、留守録内容を速やかに電子メールに載せることができます。 プログラムは、ユーザーがメッセージを送るために別名を使うとき、ユーザーの elm 別名データベースおよび システムの elm データベースを使用します。 オプション answer では、次のオプションを使用することができます。 -p 電話スリップタイプ メッセージフィールドへ入力を要求します。 -u 別名テーブルにない名前を使用できます。 操作 プログラムを使用するために answer と入力して起動したあと、次のプロンプトに対して、 1語の別名または2 語のユーザ名 (語はスペースで区切られている) を入力します。 Message to: ユーザ名はフォーム f _lastword に ある別名に変換されます。 f は最初の語句の1文字目であり、 lastword は、2番目の語句です。すべての文字は 小文字にシフトします。例えば、 Dave Smith は、次の別名になります。 d_smith. −u オプションなしの場合、指定された、あるいは変換された別名は別名データベースに存在します。 −u オプ ションがある場合、処理される "別名" は別名データベースに存在しないとき、それはアドレスであるように 使用されます。 完全に展開されたアドレスが表示されます。 −p オプションが指定されている場合、典型的なメッセージスリップ データの入力を求められます。 Caller: of: Phone: TELEPHONED - CALLED TO SEE YOU WANTS TO SEE YOU RETURNED YOUR CALL PLEASE CALL - WILL CALL AGAIN - *****URGENT****** 適切な情報を入力します。適切な情報の横に x を単に入力するか、何も入力しないか、コメントを入力しま Section 1-32 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 answer(1) answer(1) す。入力した情報はすべてメッセージの一部になります。テキストが追加されなかった行はメッセージから削 除されます。 最後に、メッセージを入力します。空白行で終了するメッセージを入力してください。メッセージが送信さ れ、 Message to: プロンプトが再表示されます。 ’quit’、’exit’、’done’ のいずれかを入力するか、または ’Message to:’ プロンプトに対して ’bye’ と入力するこ とによって、answer を終了できます。 例 ユーザ入力の一般的な例です。 オプションがない場合 この例は、有効な別名、有効でないユーザ名と有効なユーザ名を示しています。有効でない場合、変換された 別名は、角括弧で表示されます。 ----------------------------------------------------------------Message to: oswald address ’[email protected] (Oswald Rarebit)’ Enter message for oswald ending with a blank line. > And here is the message. > ----------------------------------------------------------------Message to: albert einstein Sorry, could not find ’albert einstein’ [a_einstein] in list! Message to: john jones address ’[email protected] (John P. Jones)’ Enter message for john jones ending with a blank line. > A nice message > ----------------------------------------------------------------Message to: quit HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-33 answer(1) answer(1) -u オプションがある場合 answer −u と入力すると、前回のエラーは違った処理をされます。 ----------------------------------------------------------------Message to: albert einstein address ’a_einstein’ Enter message for albert einstein ending with a blank line. > About your theory ... > -p オプションがある場合 answer −p と入力すると、電話スリッププロンプトが追加されます。テキストが空白の3行は、メッセージから削除され ます。 ----------------------------------------------------------------Message to: George Dancer address ’[email protected] (George B. Dancer)’ Caller: Harold Maudlin of: Terpsichore Inc. Phone: 123 456 7890 TELEPHONED - at 4:30pm CALLED TO SEE YOU WANTS TO SEE YOU - X RETURNED YOUR CALL PLEASE CALL -X WILL CALL AGAIN - *****URGENT****** - very very! Enter message for George Dancer ending with a blank line. > He said that you would ... > Section 1-34 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 answer(1) answer(1) ファイル $HOME/.elm/aliases ユーザー別名のデータベース データテーブル $HOME/.elm/aliases.dir ユーザー別名のデータベースのディレクトリテーブル $HOME/.elm/aliases.pag ユーザー別名のデータベースのハッシュテーブル $HOME/.elm/aliases.text ユーザー別名のソーステキスト /var/mail/.elm/aliases システム別名のデータベース データテーブル /var/mail/.elm/aliases.dir システム別名のデータベースのディレクトリテーブル /var/mail/.elm/aliases.pag システム別名のデータベースのハッシュテーブル /var/mail/.elm/aliases.text システム別名のソーステキスト /tmp/snd. pid 送信メールの編集バッファ 著者 answer は HP で開発されました。 参照 elm(1), newalias(1) HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-35 ar(1) ar(1) 名称 ar − 接続可能なアーカイブとライブラリの作成および保守 構文 ar [−]key [−][ modifier . . .] [ posname ] afile [ name . . .] 説明 ar コマンドは 1 本のアーカイブファイルに結合されるファイルのグループを保守します。主な用途は、リンク エディタで使用するライブラリファイルを作成、アップデートすることです (ld(1) を参照)。ただし、これは同 様にこれに似た目的にも使用できます。 ar で使用するマジック文字列およびファイルヘッダはプリント可能 な ASCII 文字で構成されます。アーカイブがプリント可能なファイルで構成される場合は、アーカイブ全体が プリントできます。 個々のファイルは、アーカイブファイルに変換せずに挿入されます。 ar がアーカイブを作成するとき、すべ てのマシンに対して移植可能なフォーマットでヘッダを作成します。移植可能なアーカイブフォーマットと構 造の詳細については、 ar(4) を参照してください。アーカイブ シンボルテーブル (ar(4) に説明があります) は、オブジェクトファイルのライブラリを繰り返し効率よく検索するためにリンクエディタで使用されます。 アーカイブに少なくとも1つのオブジェクトファイルがあるときに限り、アーカイブ シンボルテーブルは、 ar で作成、保守されます。アーカイブ シンボルテーブルは、特に指定されたファイル上にありますが、これは常 にアーカイブ内の最初のファイルです。このファイルはユーザーは参照できずアクセス不能です。 ar がアー カイブの内容の作成または更新に使用されると常に、このシンボルテーブルは再構築されます (z 修飾子が使用 されていない場合)。次に説明のある s 修飾子により、シンボルテーブルは強制的に再構築されます。 drqtpmx というセットに含まれる key 操作文字を 1つ指定する必要があり、その文字の前には、ハイフン (−) を指定することもできます。必要な key 操作文字を指定する場合、 abcfFilsuvzACT セットの、1つまたは複数 の modifier を指定しなければなりません。 posname は、key 操作文字 r および m とともに指定し、修飾子 a、 b、および i は、アーカイブの位置を指定するためのものです。 afile はアーカイブファイルです。アーカイブ ファイルを構成するそれぞれのファイルを指定する場合は、 name 引き数を使用します。 以下のリストは、 key 操作文字について説明したものです。 d アーカイブファイルから指定ファイルを削除します。 r 指定ファイルを置き換えるか、新しいファイルを次のアーカイブに追加します。 • 修飾子 u を操作文字 r と併用する場合は、修正日付が、対応するメンバーファイルよりも 遅れているファイルだけが置き換えられます。 • セット abi のオプションの位置決め文字を使用する場合は、 posname 引き数が必ず存在し なければならず、新しいファイルを (a) の後か、 (b または i) posname の前に入れるように 指定します。位置決め文字がないときは、新しいファイルは最後に入ります。 Section 1-36 • afile は、存在していなければ作成されます。 • 名称が指定されていない場合、 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ar(1) ar(1) 指定したアーカイブファイルが存在しなければ、 ar はアーカイブヘッダだけ • が入った空のアーカイブファイルを作成します (ar(4) を参照)。 アーカイブに、名前が現在のディレクトリと一致する単一または複数のファ • イルがあり、一致する各アーカイブファイルは、 u 修飾子が同様に指定され ていない限り、どのファイルがより新しいかは検討せずに、対応するローカ ルファイルと置き換えられます。 q 素早く指定ファイルをアーカイブファイルの終端に追加します。位置決め文字は無効です。 この操作は、追加されたメンバーがすでにアーカイブ中にあるかどうかを判定するチェック はしません。まだ存在しなければ、 ar は afile を作成します。 t アーカイブファイルの内容の目次を標準出力に出力します。名前を与えなければ、アーカイ ブ内のすべてのファイルを記述します。名前を与えると、そのファイルに関する情報だけが 表示されます。 p アーカイブの指定ファイルを標準出力に出力します。ファイルの名前を何も指定しないと、 すべてのファイルの内容がアーカイブ内の順番に従って出力されます。 m 指定ファイルを移動します。デフォルトでは、ファイルはアーカイブの終端に移動します。 位置決め文字が存在する場合は、 posname 引き数が必ず存在しなければなりません。また、 r 操作と同様に、 posname は、ファイルの移動先を指定します。位置決め文字と併用する と、ファイルがアーカイブに現在あるのと同じ順序で移動され、コマンド行で指定された順 序で移動されないことに注意してください。例を参照してください。 x 指定ファイルを抽出します。名前を与えなければ、アーカイブ内のすべてのファイルが抽出 されます。どんな場合にも、 x で、アーカイブファイルのエントリーは変更できません。 以下のリストは、オプションの modifier について説明したものです。 a posname で指定した、すでに位置決めされているファイルの後にファイルを配置します。 b posname で指定した、すでに位置決めされているファイルの後にファイルを配置します。 c afile が作成される際に通常生成されるメッセージを表示しないように指定します。 r および q 操作については、 afile が存在していなければ、 ar が通常、作成します。 f アーカイブに対する処理を行う前に、指定ファイルの名前を 14バイトに切り捨てます。この 修飾子は、最大 14バイトまでのファイル名を使用できる、旧バージョンの HP-UX との互換 性を保つためのものです。14文字より長いファイル名は切り捨てられます。 r 操作と併用す ると、切り捨てられたファイル名に一致する最初の既存のファイルが置き換えられます。ま た、 f 修飾子を他の操作と併用すると、切り捨てられたファイル名ではなく完全なファイル 名を指定できます。 F 修飾子についての説明も参照してください。 i posname を指定して位置決めしてあるファイルの前に、新しいファイルを配置します。 b 修 飾子と同じです。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-37 ar(1) ar(1) l 環境変数 TMPDIR で指定されたディレクトリ、またはデフォルトディレクトリ /var/tmp で はなく、ローカルの現在のワークディレクトリにテンポラリファイルを入れます。 d、 m、 q、および r 操作と s および F 修飾子だけがテンポラリファイルを使用します。 s ar が、アーカイブ内容を修正する操作で呼び出されなくても、アーカイブ シンボルテーブル を再生成します。この修飾子で、 strip コマンドがアーカイブに使用された後で (strip(1) を参 照)、または、 z 修飾子を使用してアーカイブの内容を修正した後で、アーカイブ シンボル テーブルをリストアできます。 u アーカイブの内容をアップデートします。 (r 操作専用) ローカルファイルがアーカイブ内の 対応する既存のファイルよりも新しくない限り、ローカルファイルをアーカイブにコピーし ないでください。 v アーカイブファイルの作成および修正に関するファイルごとの詳細な説明を標準出力に出力 します。 t と併用すると、 v はファイルに関する全情報の多項目のリストを示します。 d、 m、 p、 q、または x 操作と併用すると、詳細表示修飾子により、 ar は、その操作と対応す るそれぞれの key 操作文字とファイル名をプリントします。 r 操作については、 ar は、新し いファイルを追加する場合には a、既存のファイルを置き換える場合には r を示します。 p 操作では、 ar は、ファイルの内容を出力する前に、ファイル名を標準出力に出力します。 z アーカイブの内容を修正するときに、シンボルテーブルを再構築しないようにします。この 修飾子は通常、小さなファイルが多数含まれる大きなアーカイブを作成するときに長い時間 がかからないようにするためのみに有効です。既存のアーカイブにシンボルテーブルが含ま れる場合、 z 修飾子は、そのアーカイブを無効とみなします。15バイト以上のファイル名の アーカイブの場合、そのアーカイブ全体が再書き込みされます。シンボルテーブルを再構築 するには、 ranlib コマンド (ranlib(1) を参照) を使用するか、 s 修飾子を指定して ar を再度 実行します。 A オプションのアクセス制御リストエントリーに関する警告メッセージを出さないように指定 します。 ar は、ファイルのアクセス制御リストにおいてオプションアクセス制御リストエン トリーをアーカイブしません (acl(5) を参照)。通常、警告メッセージは、オプションアクセス 制御リストエントリーがあるファイルごとに表示されます。 C 抽出したファイルが同名のファイルに置き換えられないようにします。 C 修飾子は x 操作で のみ使用できます。 F アーカイブ全体を縮小します。 F 修飾子は、アーカイブ全体を再書き込みします。その際、 アーカイブ内のすべてのファイル名は 14バイトに切り捨てられます。これは、 ar でアーカイ ブの内容を修正しなかった場合も同様です。長いファイル名のテーブルは削除されます (ar(4) を参照)。この修飾子は、最大 14バイトまでのファイル名を使用できる、旧バージョンの HPUX との互換性を保つためのものです。 f 修飾子についての説明も参照してください。 T ファイルをアーカイブしたときの名前がファイルシステムで使用可能な長さよりも長くなる 場合に、そのファイル名を切り捨てます。デフォルトでは、ファイルシステムで使用可能な Section 1-38 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ar(1) ar(1) 長さよりも長い名前のファイルが抽出されず、エラーとなります。 T 修飾子は x 操作でのみ 使用できます。 次の組み合わせだけが有効です。修飾子と操作とのこれ以外の組み合わせには、次の操作に対する効 果はありません。 d: v, f, F, l m: v, f, F, l, および a | b | i r: v, f, F, l, c, A, u, および a | b | i q: v, f, F, l, c, A, z, s t: v, f, F, s p: v, f, F, s x: v, f, F, s, C, T 多言語化対応 環境変数 以下の多言語対応変数は、 ar の処理内容に影響します。 LANG LC_ALL および他の LC_* 環境変数が指定されていない場合に、母国語のロケールカテゴリ、 ローカルカスタム、およびコード文字セットを定義します。 LANG が指定されていない場 合、または空文字列が指定されている場合、デフォルトの C (lang(5) を参照) が LANG の代わ りに使用されます。 LC_ALL すべてのロケールカテゴリの値を定義し、 LANG および他の LC_* 環境変数よりも優先的に 使用されます。 LC_CTYPE 文字操作関数のロケールカテゴリを定義します。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージのフォーマットおよび内容を変更するために使用す るロケールを定義します。 LC_NUMERIC 数値フォーマティングのためのロケールカテゴリを定義します。 LC_TIME 日付および時刻のフォーマティングに関して、フォーマットと内容を定義します。 NLSPATH LC_MESSAGES の処理を行うために、メッセージカタログの位置を定義します。 LC_TIME で、日時文字列のフォーマットと内容を決定します。 多言語対応変数のいずれかの設定が不適当な場合には、 ar はすべての多言語対応変数が C に設定されている ものとして動作します。 environ(5) を参照してください。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-39 ar(1) ar(1) さらに、以下の環境変数は ar の処理内容に影響します。 TMPDIR 一時ファイル (tmpnam(3S) を参照) 用のディレクトリを指定します。 l 修飾子は TMPDIR 変数 をオーバーライドし、TMPDIR は、デフォルトのディレクトリ /var/tmp をオーバーライドし ます。 診断 phase error on file name ar がアーカイブにコピーしていた指定ファイルが、別のプロセスによって修正されました。 これが発生すると、 ar は終了し、元のアーカイブは修正されないままになります。 ar write error:file system error message ar が、テンポラリファイルまたは最終出力ファイルに書き込めませんでした。 ar が最終出力 ファイルを書き込もうとしていた場合には、元のアーカイブは失われます。 ar が cannot create file.a とレポートします。ただし、 file.a がすでに存在しても、 file.a は ar-format アーカイ ブファイルです。このメッセージは、 file.a が書き込み保護されているか、またはアクセス不能である場合に 出力されます。 例 (そのファイルがまだ存在していなければ)その構成ファイルを指定順に入れてアーカイブフォーマットで新し いファイルを作成します。 ar r newlib.a f3 f2 f1 f4 新しいコピーがファイル f1 の後に、 f3 が f2 の後に続くようにファイル f2 と f3 を置き換えます。 ar ma f1 newlib.a f2 f3 ar ma f2 newlib.a f3 ar r newlib.a f2 f3 次にアーカイブが次のように順序づけられます。 newlib.a: f1 f2’ f3’ f4 ただし、一重引用符はアップデート済みのファイルを示します。最初のコマンドは「newlib.a の f1 の後に f2 と f3 を移動する」ことを示します。したがって、次の順序を作成します。 f1 f3 f2 f4 f2 と f3 の相対的な順序が変化していないことに注意してください。第2のコマンドは「newlib.a の f2 の後に f3 を移動する」ことを示し、次の順序を作成します。 f1 f2 f3 f4 次に、第3のコマンドはファイル f2 と f3 を置き換えます。ファイル f2 と f3 の両方がアーカイブにすでに存在 したため、このコマンド列を単に次の指定によって置き換えられません。 Section 1-40 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 ar(1) ar(1) ar ra f1 newlib.a f2 f3 (コマンド行でどんなファイルを指定しても)アーカイブには f2 および f3 の以前の位置と相対的な順序が保存 されるため、次のアーカイブが生成されます。 newlib.a: f3’ f2’ f1 f4 警告 ユーザーに適切な特権があれば、 ar によって、書き込み保護されているファイルを含めて、すべてのアーカ イブファイルを変更することができます。 同じファイルが引き数リストで2回指定されると、そのファイルはアーカイブに2回入る可能性があります。 アーカイブ内に、1つのファイルの複数のコピーが存在する場合、 ar は、アーカイブ内の最初のファイルと一 致します。 ar はアーカイブ シンボルテーブル、つまり ranlib によって以前の HP-UX バージョンで行われるタスクを自動 的に作成します。 z 修飾子を使用すると、シンボルテーブルを作成しないようにしたり、既存のシンボルテー ブルを無効にしたりすることができます。 ranlib コマンドを使用すると、 z 修飾子を使用してアーカイブを作 成した場合に、シンボルテーブルを再構築できます。 ファイル テンポラリファイル /var/tmp/ar* 参照 システムツール: ld(1) リンクエディタを起動します。 その他: acl(5) アクセス制御リスト a.out(4) アセンブラ、コンパイラ、およびリンカの出力 ar(4) アーカイブフォーマット lorder(1) オブジェクトファイルまたはアーカイブライブラリの順序関係を見つけます。 ranlib(1) アーカイブ シンボルテーブルを作成し直します。 strip(1) オブジェクトファイルからシンボルおよび行番号に関する情報を取り除きます。 tmpnam(3S) 一時ファイルの名前を付けます。 テキストとチュートリアル: 『HP-UX Linker and Libraries Online User Guide』 (+help オプションを参照) 『HP-UX Linker and Libraries User’s Guide』 (注文方法については manuals(5) を参照) 標準準拠 ar: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-41 as(1) as(1) 名称 as − アセンブラ 構文 特記事項 Integrity システムでは as_ia(1) を、PA-RISC システムでは as_pa(1) をそれぞれ参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Integrity システムで、それ以外の値であれば PA-RISC システムです。 参照 as_ia(1), as_pa(1), uname(1) Section 1-42 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 as_ia(1) as_ia(1) 名称 as_ia: as − Integrityシステム用アセンブラ 構文 as [−eVw] [+A32] [+A64] [+E32] [−elf32] [−elf64] −H lvl[=what[,what]...] [−o outfile] −W num[,num]... −We num[,num]... [file] 備考 このマンページは Integrity システム用 as の説明をします。 PA-RISC システム用 as は as_pa(1) を参照してく ださい。 説明 as は、指定されたソースファイル file ( file を指定しなかった場合は標準入力) をアセンブルします。アセンブ ラの出力は ELF リロケータブルオブジェクトファイルです。このファイルを実行するには、 ld で処理しなけ ればなりません。 アセンブラの出力は、 outfile ファイルに格納されます。 -o outfile オプションを指定しないと、アセンブラはデ フォルトの名前でファイルを作成します。ソースファイルを指定しないと、 outfile は a.out になります。ソー スファイルを指定すると、ソースファイル名に .s サフィックスがあれば、 .o サフィックスに変更されます。 ディレクトリ名は名前から削除され、オブジェクトファイルは必ず現在のディレクトリに書き込まれます。 as は、マクロ処理は行いません。アセンブラが C コンパイラから起動される場合は、標準の C プリプロセッ サ構成子を使うことができます。 オプション as は、次のオプションを受け付けます。 +A32 ソースファイルに 32 ビットの ABI ターゲットコードが含まれていることを指定します。ソー スファイルの中に .psr abi64 アセンブラ指令があると、このオプションは無効になります。デ フォルトのオブジェクトファイルは、32 ビットの ELF ファイルです。 +A64 ソースファイルに 64 ビットの ABI ターゲットコードが含まれていることを指定します。ソー スファイルの中に .psr abi32 アセンブラ指令があると、このオプションは無効になります。デ フォルトのオブジェクトファイルは、64 ビットの ELF ファイルです。 -e エラーを無制限に許容し、アセンブラのプロセスが中断しないようにします。デフォルトで は、100個のエラーが起きると、アセンブラは中断します。 +E32 オブジェクトファイルが 32 ビットの ELF でなければならないことを指定します。これは、デ フォルトの設定です (+A32 も参照してください)。 32 ビット ELF ファイルに 64 ビット ABI ターゲットコードを書き込むことは可能です。オブジェクトファイル内のすべての 32 ビット アドレスは、ローディング時に 64 ビットにゼロ拡張されます。ただし、ゼロ拡張は、負のア ドレス (リロケーションによるもの) を無効にすることがあります。 +E64 オブジェクトファイルが 64 ビットの ELF でなければならないことを指定します (+A64 も参 照してください)。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-43 as_ia(1) as_ia(1) -elf32 +E32 を参照してください。 -elf64 +E64 を参照してください。 −H lvl[=what[,what]...] 依存関係のチェックを設定します。 lvl は、 off, warn, err のいずれかの値です。 what data, impl, inst. のいずれかの値です。 -o outfile デフォルトの名前でなく、 outfile という名前の出力オブジェクトを生成します。 -V 入力をアセンブルする前に、バージョン情報を標準エラーに出力します。 −W num[,num]... 指定された警告メッセージの出力を抑止します。 −We num[,num]... 指定された警告メッセージをエラーとして処理します。 -w すべての警告メッセージの出力を抑止します。 多言語化対応 環境変数 NLSPATH は LC_MESSAGES の処理用のメッセージカタログの場所を指定します。 SDKROOT はどのアセンブラを起動するか、複数の (クロス) 開発キットのサポートを有効にするかを制御し ます。 SDKROOT 変数は、特定の SDK のルートを指します。この変数の値の正当性や、起動されるアセンブ ラの適切性に関する規則はありません。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 警告 アセンブラは依存関係をチェックしません。 診断 構文または意味上のエラーが発生すると、エラーが発生したファイル名および行番号を示す 1 行の診断情報 が、標準エラーに表示されます。 ファイル /usr/lib/nls/C/as.cat アセンブラエラーのメッセージカタログ a.out デフォルトのアセンブラ出力ファイル 参照 cc(1), ld(1), elf(3E) Section 1-44 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 as_pa(1) as_pa(1) 名称 as_pa: as − PA-RISC システム用アセンブラ 構文 as [−eflsuV] [−o objfile] [−p number] [−v xrfile] [−w[number] ]... [+DAarchitecture] [+z] [+Z] [ file]... 備考 このマンページは PA-RISC システム as の説明をします。 Integrity システム用 as は as_ia(1) を参照してくださ い。 説明 as コマンドは、ファイルまたは標準入力からソーステキストを入力してアセンブルし、リンクエディタ ld が 処理できるリロケータブル オブジェクトファイルを生成します (ld(1) を参照)。 ソーステキストが標準入力から読み取られるのは、 file 引き数の指定がない場合だけです。端末などのデバイ スファイルを標準入力にすることはできません。 option および file 引き数は、コマンド行にどのような順序で 指定してもかまいません。 option として指定された各オプションは、 file として指定されたすべてのファイル または標準入力に適用されます。複数のソースファイルは、連結されて 1つの入力ストリームになります。 -o objfile オプションを指定しないと、最後のソースファイル名の末尾に .s 接尾辞が付いている場合にはそれが 取り除かれ、代わりに .o が付けられてデフォルトのオブジェクトコード出力ファイル名が形成されます。 as の出力は最適化されません。 as が作成するリロケータブル オブジェクトファイルは、 ld で処理してからで ないと正常に実行できません (ld(1) を参照)。 cc コンパイラは、通常はCのプリプロセッサ cpp (cpp(1) を参照) を実行してから、 as を実行して .s ファイル を /usr/lib/pcc_prefix.s とアセンブルし、最後に ld を実行します。 オプションと引き数 as は、次の引き数を認識します。 file -e アセンブラ ソースコードが格納されているテキストファイル エラーが何回発生してもアセンブリ処理が中断しないように指示します。デフォルト では、エラーが 100回発生すると、アセンブラが中断します。 -f .BALLINFO 指令のデフォルト値として CALLS を設定します。 .BALLINFO の通常 のデフォルト値は NO_CALLS で、これを使用すると CALLER、CALLS、または NO_CALLS パラメーターが省略されます。 -l アセンブリの後で、プログラムのリストを標準出力に書き込みます。このリストは、 命令のオフセットおよびフィールドの実際の値を示します。 -o objfile デフォルトの出力オブジェクトファイル名 (最後の file に指定されたファイル名に .o 接尾辞を付けたもの) を使いたくない場合に、代わりの出力オブジェクトファイル名 として objfile を指定します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-45 as_pa(1) as_pa(1) -p number .EXPORT 指令のデフォルトの特権レベルとして number を設定します。デフォルトで は、ユーザーレベルのすべてのプロシージャは特権レベル3でエクスポートされま す。 出力ファイルの接尾辞として、 .o の代わりに .ss を設定します。出力ファイルは、 -s ROM 焼き付けプログラムへの変換に適したフォーマットになります。 アンワインド記述子を作成しません。 .BALLINFO 指令を使用する必要が生じるのを -u 避けるため、 .ENTER および .LEAVE 指令を使ってあってはいけません。 -v xrfile xrfile というファイルにクロスリファレンスデータを書き込みます。 ソーステキストをアセンブルする前に、アセンブラプログラムのバージョン番号を標 -V 準エラーにプリントします。 -w[number] number を指定しないと、すべての警告メッセージを抑止します。 number を指定する と、指定された番号の警告メッセージだけを抑止します。複数種類の警告メッセージ を抑止するために、 -wnumber オプションを複数回使用できます。 +DA architecture architecture で指定されたアーキテクチャ用にコードをアセンブルします。このオプ ションの使用はあまりお勧めできません。 architecture の選択方法としてお勧めでき るのは、アセンブラ ソースファイル内に .LEVEL 指令を組み込む方法です。 アセンブラは、次の優先順位に基づいてターゲットアーキテクチャを決定します。 1. アセンブラ ソースファイル内に .LEVEL 指令が使われていれば、それに従う。 2. コマンド行に +DA 指定があれば、それに従う。 3. PA_RISC_1.0 のデフォルトのアーキテクチャを使う。 +z,+Z これらのオプションは、共有ライブラリの生成で使用されます。詳細は 『HP-UX リ ンカー & ライブラリー ユーザーズガイド』を参照してください。 多言語化対応 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 診断 構文または意味上のエラーが発生すると、エラーが発生したファイル名および行番号を示す 1 行の診断情報 が、次の形式で標準エラーに出力されます。 as: "filename" line line: error error: message source = source-line Section 1-46 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 as_pa(1) as_pa(1) 警告 as は、マクロ処理を行うための cpp(1) や m4(1) を呼び出しません。 ファイル /usr/include/hard_reg.h ハードウェアレジスタの定義 /usr/include/soft_reg.h ソフトウェアの呼び出し規約レジスタの定義 /usr/include/std_space.h 標準スペースおよびサブスペースの定義 /usr/lib/nls/msg/C/as.cat アセンブラ エラーメッセージ カタログ /usr/lib/pcc_prefix.s スペース、サブスペースおよびレジスタの定義 file.o オブジェクトファイル 参照 adb(1), cc_bundled(1), cpp(1), ld(1), nm(1), crt0(3) 『Assembly Language Reference Manual』 『Precision Architecture and Instruction Reference Manual』 『Procedure Calling Conventions Reference Manual』 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-47 asa(1) asa(1) 名称 asa − ASA キャリッジ制御文字の解釈 構文 asa [ files] 説明 asa は、ASA キャリッジ制御文字を利用する FORTRAN プログラムの出力を解釈します。引き数 files が指定さ れた場合はその名前のファイルを処理し、 - が指定されるかファイル名の指定がない場合は、標準入力を処理 します。各行頭のキャラクタは制御キャラクタであると仮定されます。制御キャラクタは以下のように解釈さ れます。 (ブランク) 表示の前に改行文字を1文字出力。 (スペース) (UNIX 標準専用、 standards(5) を参照) 行の残りの部分は変化せずに出力されます。 0 <改行>に続いて入力行の残りの部分が出力されます。 1 表示の前に改ページ文字を出力。 + 前行を重ねて表示。 + (UNIX 標準専用、 standards(5) を参照) 直前の行の<改行>が1つ以上のインプリメンテー ション定義キャラクタに置き代わるため、表示がカラム位置1に戻り、次に入力行の残り の部分が出力されます。入力の先頭が+の場合は、<スペース>と同じ効果があります。 上記のキャラクタ以外で始まる行は、ブランクで始まる行と同じように処理されます。行頭のキャラクタは表 示されません。このような行が現れると、適切な診断が標準エラーに送られます。このプログラムは、各入力 ファイルの最初の行を、強制的に新しいページの先頭にします。 (UNIX 標準専用、 standards(5) を参照) 行の先頭キャラクタとして上にリストしたものを除き、キャラクタに 対する asa ユーティリティの動作は指定されていません。 FORTRAN プログラムで ASA キャリッジ制御文字を使用し、通常形式で表示するような場合、 asa はフィルタ として使用できます。 a.out | asa | lp 適切にフォーマットされ、ページ処理をした出力は、ラインプリンタに送られます。それ以前にファイルに送 られた FORTRAN 出力は、以下のコマンドを使用することによりユーザターミナル画面に表示できます。 asa file 多言語化対応 UNIX 標準環境についての情報は、 standards(5) を参照してください。 環境変数 LC_CTYPE ファイル内のテキストをシングルあるいはマルチバイト キャラクタとして解釈することを決定し ます。 Section 1-48 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 asa(1) asa(1) LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_CTYPE または LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定 または空白の各変数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白 文字列に設定されている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 asa はすべての国際化変数が"C"に設定されているように振る 舞います。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 参照 efl(1), f77(1), ratfor(1), standards(5) 標準準拠 asa: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-49 at(1) at(1) 名称 at, batch − バッチコマンドの即時および指定時刻での実行 構文 指定の時刻で実行するコマンドの、標準入力からの入力: at [-m] [ -q queue] -t spectime commands eof at [-m] [-q queue] time [date] [next timeunit +count timeunit] commands eof 指定の時刻で実行するコマンドのファイルからの入力: at -f job-file [-m] [-q queue] -t spectime at -f job-file [-m] [-q queue] time [date] [next timeunit +count timeunit] スケジュールされたジョブのリスト表示: at -d job-id ... at -l [ job-id ...] at -l -q queue スケジュールされたジョブの取り消し (削除): at -r job-id ... バッチプロセスとして実行するコマンドの、標準入力からの入力: batch commands eof バッチプロセスとして実行するコマンドの、ファイルからの入力: batch < job-file 説明 at および batch コマンドは、 cron デーモンによるジョブの実行をスケジュールします (cron(1M) を参照)。 at は、ジョブの実行を指定された時刻にスケジュールします。また at は、スケジュール済みの既存の at およ び batch ジョブを対象として、リスト表示 (-l) または削除 (-r) を行うこともできます。 batch は、即座に、あるいはシステムの負荷レベルが許す限り直ちに、ジョブの実行をスケジュールします。 1つのジョブ内にコマンドを入力する方法には3通りあります。 • キーボードから、 at または batch コマンド行に続いて、各行にコマンドを指定します。入力を終了する には、現在定義されている eof (ファイル終了) 文字を入力します。デフォルトの eof は Ctrl-D です。これ Section 1-50 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 at(1) at(1) は、ユーザーの環境で再定義することができます (stty(1) を参照)。 • スクリプトファイルから入力を読み取るには、 at コマンドの -f オプションを使用します。 • 直前のコマンドのパイプ出力から読み取ります。 オプションおよび引き数 at は以下のオプションおよび引き数を認識します。 commands at または batch によってシェルスクリプトとして実行できる1つまたは複数の HP-UX コマ ンド。 eof ファイル終了文字。ユーザーの環境で特に定義のない限り、デフォルトは Ctrl-D です。 job-file 既存のファイルのパス名。 job-id ジョブが最初にスケジュールされた時点で at または batch によって割り当てられたジョブ 番号。 -d job-id ... 指定されたジョブの内容を表示します。特権ユーザー以外は、そのユーザーが所有する ジョブの情報だけが表示されます。適切な特権を持つユーザーは、すべてのジョブの情報 を表示できます。 -f job-file 標準入力を使用せずに、 job-file に入っているコマンドを読み込みます。 -l [job-id ...] 指定されたジョブをリスト表示します。 job-id が1個も指定されなかった場合は、すべて のジョブをリスト表示します。 -m ジョブの実行後にメールを起動ユーザーに送信して、完了を知らせます。ジョブによって 生成された標準出力および標準エラーは、ジョブ内で他の場所にリダイレクトされない限 り、起動ユーザーに自動的にメールを送信して、完了を知らせます。 -q queue 指定したジョブを示された queue に登録します (queuedefs(4) を参照)。待ち行列 a、 b、お よび d から y までを使用できます。 at はデフォルトとして a を使用します。 batch は常に 待ち行列 b を使用します。 b を除くすべての待ち行列では、 time または -t の指定が必要で す。 at -qb は batch と同じです。 -l オプションと一緒に使うと、特定の待ち行列だけが対 象となります。 -r job-id ... 各 job-id で指定されたジョブを削除します。 -t spectime ジョブを開始する絶対時間を定義します。 spectime 次の形式の日付と時刻: [ [CC]YY ]MMDDhhmm[.ss] HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-51 at(1) at(1) ここで、それぞれ2桁の10進数は次の内容になります: CC 年の最初の2桁 (19, 20) YY 年の後半の2桁 (69−99, 00−68) 「警告」の項を参照してください。 MM 月 (01−12) DD 日 (01−31) hh 時 (00−23) mm 分 (00−59) ss 秒 (00−61) CC と YY の両方を省略した場合、デフォルトは現在の年になります。 CC を省略した場合、 YY が 69−99 の範囲内であれば CC のデフォルトは 19 に なります。それ以外であれば CC のデフォルトは 20 になります。 ss の範囲は、2秒のうるう秒にも対応します。 ss が 60 または 61 の場合、 TZ 環境変数によって影響を受けた結果の時刻がうるう秒を参照していないと、時 刻は mm の後の 1分後に設定されます。 ss を省略すると、デフォルトは 00 になります。 time [date] ジョブを起動する基準時刻を定義します。 time 1桁、2桁、4桁のいずれかで指定する時刻。 1桁および2桁の数字は時間を表し ます。4桁は、時間と分を表します。 また、 time はコロン (:)、一重引用符 (’)、英字 h (h)、ピリオド (.)、カンマ (,) のいずれかで区切った 2つの数字で指定することもできます。分を表す桁と区 切り文字の間にスペースがあってもかまいません。 langinfo(5)、で定義する場合 には、特殊な時間単位文字を使用できます。 午前または午後を区別するために、 am または pm を付加することができま す。それ以外の場合、24 時間のクロックで理解されます。たとえば、 0815、 8:15、 8’15、 8h15、 8.15、 8,15 はどれも午前8時15分として読まれます。接尾 辞 zulu および utc を使用すると、グリニッジ標準時間 (GMT) を指定することが できます。 特殊名 midnight、 noon、 now も認識されます。 date 曜日 (スペルを完全に指定または略記)、または日、月およびオプションの年か ら構成される日付。日および年フィールドは数字で表されていなければなりま せん。また、月は完全なスペル、短縮形、または数字のいずれでも可能です。 日付文字列中のフィールドは、スラッシュ (/)、ハイフン (-)、ピリオド (.)、カ ンマ (,) などの区切り文字で区切ります。 langinfo(5) で定義されている場合、特 殊な日付単位文字が入っていることがあります。 31より大きい値のフィールド Section 1-52 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 at(1) at(1) は年フィールドとして扱われ、日付文字列中の残りの2 つのフィールドが、月 フィールドと日フィールドとして扱われます。指定した日付があいまいな場合 は (例: 2/5 または 2/5/10)、あいまいさを解決するために文字列 D_T_FMT (langinfo(5) で定義されている場合) が使用されます。 2つの特殊な日、 today と tomorrow も認識されます。 date を指定しない場合、 指定の時刻が現在より後であれば today、前であれば tomorrow とみなされま す。 指定の月が現在の月より早い場合 ( 年を指定しなければ)、来年とみなされま す。 69 から 99 までの 2桁の年は 1969 から 1999 に拡張され、00 から 68 の 2 桁の年は 2000 から 2068 に拡張されます。 next timeunit + count timeunit 実行日付および時刻を、 time [date] で指定された基準時刻の後、特定の時間単位数だけ遅 延させます。 count timeunit 10進数。 next は +1 と同じです。 時間単位。 minutes、 hours、 days、 weeks、 months、 years、またはこれらの 単数形です。 ジョブの処理方法 ジョブが受け入れられると、 at および batch は標準エラーに次の形式のメッセージをプリントします。 job job-id at execution-date ここで job-id は jobnumber.queue, という形式のジョブ識別子で、たとえば 756284400.a のようになります。ま た execution-date はジョブの実行がリリースされる日付および時刻です。 ログインシェルがPOSIXシェル (/usr/bin/sh) でない場合、コマンドは警告メッセージもプリントします。 warning: commands will be executed using /usr/bin/sh at ジョブのデフォルトの待ち行列は a です。 batch ジョブは常に待ち行列 b に入ります。 -q オプションを参 照してください。または batch ジョブは、 2 つの部分から成るスクリプトで構成され、このスクリプトは POSIX シェルから実行可能な /var/spool/cron/atjobs に保存されています。 最初の部分は、環境をセットアップして、 at または batch コマンド発行時点の環境と同じになるようにしま す。このとき、現在のシェル環境変数、現在のディレクトリ、 umask および ulimit が対象となります (ulimit(2)、 umask(1)、 proto(4) を参照)。オープンされているファイルの記述子、トラップ、および優先順位は 失われます。 2番目の部分は、ユーザーが入力したコマンドで構成されます。 cron は、ジョブをディスパッチすると、 POSIX シェルを起動してスクリプトを実行します。 一時点で待ち行列から実行されるジョブの数は、ファイル /var/adm/cron/queuedefs 内のパラメータによって制 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-53 at(1) at(1) 御されます (queuedefs(4) を参照)。 ジョブから発行された標準出力および標準エラーは、ジョブで他の場所にリダイレクトされていない限り、 ユーザーにメールとして送信されます。 スケジュールされたジョブは、 SIGHUP ハングアップシグナルの影響を受けず、ユーザーがログオフしてもス ケジュールされたままです。 ユーザーに at および batch コマンドの使用が許可されるのは、ユーザー名がファイル /usr/lib/cron/at.allow 内 に記述されている場合です。このファイルが存在しない場合、ユーザーが at および batch コマンドを使用でき るのは、ユーザー名がファイル /usr/lib/cron/at.deny に ない場合です。どちらのファイルも存在しない場合、 ジョブの登録を許可されるのはスーパーユーザーだけです。 at.deny のみ存在し、しかもこのファイルが空の 場合は、すべてのユーザーが at および batch を使用することができます。 allow/deny ファイルには、1行につ き1人のユーザー名が記述されます。 すべてのユーザーは、自分のジョブのリスト表示および削除が可能です。適切な特権を持っているユーザー は、他のユーザーのジョブのリスト表示および削除も実行できます。 注記 batch コマンドでは、スケジュールする各バッチジョブに対してユニークな job-id を要求します。ユニークな job-id を要求する最大試行回数は 100回に制限されています。 100 回試行しても取得できなければ、 batch コ マ ン ド は キュー が 一 杯 で す と い う メッ セー ジ を 出 し て 終 了 し ま す。 /etc/default/cron ファ イ ル の BATCH_MAXTRYS=value 変数でこの最大試行回数を設定することができます。 BATCH_MAXTRYS には、 任意の正の整数または INFINITE 文字列 (デフォルト値) を設定できます。 INFINITE に設定した場合、 batch は取得に成功するまでユニークな job-id を要求します。 at コマンドは指定された特定の時刻に対してひとつの待ち行列にひとつのジョブしかスケジュールすることが できません。指定された時間にすでにジョブがスケジュールされている場合 at コマンドは指定された時刻の1 秒後に新しいジョブをスケジュールします。 /etc/default/cron ファイルで MULTI_JOB_SUPPORT 変数を1に 設定することによりこの制限を取り除くことができます。 MULTI_JOB_SUPPORT が 1 に設定されていれば at コマンドは複数のジョブを同じ時刻にスケジュールすることができ、 jobnumber.queue.indexの形で job-id を 作成します。この場合 index はその時刻にスケジュールされたジョブの数になります。 MULTI_JOB_SUPPORT を 0 に設定することによりこの機能を抑止することができます。 セキュリティ上の制約 Security Containment 機能が有効になっている場合 cron と at は、ジョブが作成されたコンパートメントから ジョブを実行します。 at は /var/spool/cron/atjobs ディレクトリにジョブファイルを作成するため、このディレ クトリに書き込みができず、 COMMALLOWED 権限が許可されていないコンパートメントから at コマンド を実行すると、 at はジョブのスケジュールに失敗します。詳細については、 compartments(5) と privileges(5) を参照してください。 多言語化対応 Section 1-54 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 at(1) at(1) 環境変数 LC_TIME は、日付および時刻文字列の形式と内容を決定します。 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 ま た LC_MESSAGES は、 days, hours, midnight, minutes, months, next, noon, now, today, tomorrow, weeks, years, の各語およびその単数形を指定できる言語を決定します。 LC_TIME または LC_MESSAGES が環境内 で指定されていないか空白文字列に設定されている場合、未指定または空白の各変数に対して LANG の値がデ フォルトとして使われます。 LANG が指定されていないか空白文字列に設定されている場合、 LANG の代わりに Cがデフォルトとして使 われます (lang(5) を参照)。 国際化変数に無効な設定値が含まれている場合、すべての国際化変数はデフォルトの"C"になります (environ(5) を参照)。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 終了コードは以下のいずれかに設定されます。 0 正常終了 1 異常終了 診断 at は、構文エラーおよび範囲外の時刻に対して、説明メッセージを生成します。 warning: commands will be executed using /usr/bin/sh ログインシェルが POSIX シェル (/usr/bin/sh) でない場合、 at および batch は、 at および batch の ジョブが /usr/bin/sh を使用して実行されるという警告メッセージを生成します。 例 以下のコマンドは、ファイル名 delayed-job という名前の POSIX シェルスクリプトを今から 5分後に実行する 3通りの方法を示します。 at -f delayed-job now + 5 minutes cat delayed-job | at now + 5 minutes at now + 5 minutes <delayed-job システム負荷レベルが許すときに典型的な HP-UX コマンド (この場合は nroff) を実行し、標準出力および標準 エラーを次のファイルにリダイレクトします。 batch nroff source-file >output-file 2>error-file eof (the default is Ctrl-D) HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-55 at(1) at(1) ホームディレクトリの中の future に入っているジョブを、2013年12月27日午前12:20 に実行します。 at -f $HOME/future -t201312271220.00 標準エラーをパイプにリダイレクトします (これは、シェルプロシージャでよく使用されます)。出力のリダイ レクト指定シーケンスが重要であることに注意してください。標準エラーは標準出力の出力先にリダイレクト され、標準出力はファイルにリダイレクトされます。最初の「標準出力」(現在は、以前の標準エラーで構成さ れているもの) は、 mail プログラムにパイプ処理されます。 batch <<!! (eofを一時的に !! とする) nroff input-file 2>&1 1> output-file | mail loginid !! ホームディレクトリの中の jobfile に入っているジョブを、次の火曜日の 5:00am に実行します。 at -f $HOME/jobfile 5am tuesday next week 同じジョブを、次の火曜日の 1週間後の 5:00am に実行します (すなわち、2度目の火曜日)。 at -f $HOME/jobfile 5am tuesday + 2 weeks ホームディレクトリ中のディレクトリ jobs にあるファイル weekly-run にコマンドを追加して、このコマンド が実行のたびに自分自身を自動的にスケジュールし直すようにします。この例は、自分自身を毎週火曜日 1900 (7:00 p.m.) にスケジュールします。 echo "sh $HOME/jobs/weekly-run" | at 1900 thursday next week 以下のコマンドは、 at で認識される形式をいくつか示しており、これらは母国語使用を含みます。 at 0815 Jan 24 at 8:15 Jan 24 at 9:30am tomorrow at now + 1 day at -f job 5 pm Friday at 17:40 Tor. # in Danish at 17h46 demain # in French at 5:30 26. Feb. 1988 # in German at 12:00 26-02 # in Finnish 警告 date 引き数が数字で始まり、 time 引き数も接尾辞なしの数字で表されている場合、 time 引き数は、時間と分 を正確に解釈できる4桁の数字でなければなりません。 単一の at コマンド内で next と +count の両方を同時に使用すると、最初の演算子は受け入れられますが、後の 演算子は無視され、メッセージ等は出力されません。 同一のコマンド内で -t と time ... の両方を同時に使用すると、最初に指定したものは受け入れられますが 2番 Section 1-56 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 at(1) at(1) 目に指定したものは無視され、メッセージ等は出力されません。 cron と通信するのに使用される FIFO がいっぱいになると、 at は、 at が書き込もうとしているメッセージの スペースをとるため、 cron がFIFOから十分なメッセージを読み取るまで一時停止します。この状態は、 at が cron のメッセージ処理速度より高速でメッセージを書き込む場合、または cron が実行されていない場合に発 生します。 スケジュールされたプロセスは、バックグラウンドで実行されます。自分自身を呼び出すようなスクリプト ファイルは、ユーザーまたはシステムの使用可能プロセス数不足の原因となります。 あるジョブに対する実行時刻要求が、現在スケジュールされているジョブの実行時刻と重複する場合、新しい ジョブの時刻は、秒単位で次に使用可能な時刻に設定されます。 at は、開始時刻が現時代 (グリニッジ標準時間 1970年1月1日 00:00:00) よりも前のジョブはスケジュールしま せん。 at は、2037 年より先のジョブはスケジュールしません。 制約 HPプロセスリソースマネージャ オプションの HP プロセスリソースマネージャ (PRM) ソフトウェアがインストールおよび構成されている場 合、ジョブは、当該ジョブをスケジュールしたユーザーの初期プロセスリソースグループ内で開始されます。 ユーザーの初期グループが決定されるのは、ジョブがスケジュールされた時点ではなく、ジョブが起動された 時点です。ユーザーの初期グループが未定義の場合、ジョブはユーザーのデフォルトグループ (PRMID=1) 内 で実行されます。 HP PRM の構成方法については prmconfig(1) を、またユーザーの初期プロセスリソースグ ループの決定方法については prmconf (4) を参照してください。 著者 at は AT&T と HP で開発されました。 ファイル /etc/default/cron 設定ファイル /usr/bin/sh POSIXシェル /usr/lib/cron/at.allow 許可されているユーザーのリスト /usr/lib/cron/at.deny 拒否されているユーザーのリスト /var/adm/cron メイン cron ディレクトリ /var/adm/cron/.proto このファイルには、 at ジョブ用の環境を現在の環境と同じにするために at ジョ ブファイルに追加する一組のシェルコマンドが含まれています。 proto(4) を参照 してください。 /var/adm/cron/queuedefs スケジュール情報 /var/spool/cron/atjobs スプール用ディレクトリ 参照 crontab(1), kill(1), mail(1), nice(1), ps(1), sh(1), stty(1), cron(1M), proto(4), queuedefs(4), compartments(5), privileges(5). HP Process Resource Manager: 『 HP プ ロ セ ス リ ソー ス マ ネー ジャ ユー ザー ズ ガ イ ド』 中 の prmconfig(1), HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-57 at(1) at(1) prmconf(4) 標準準拠 at: SVID2, SVID3, XPG2, XPG3, XPG4 batch: SVID2, SVID3, XPG2, XPG3, XPG4 Section 1-58 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 attributes(1) attributes(1) 名称 attributes − 音声ファイルについての説明 構文 /opt/audio/bin/attributes filename 説明 このコマンドは、ファイルフォーマット、データフォーマット、サンプリングレート、チャンネル数、データ 長およびヘッダー長など、音声ファイルについての情報を提供します。 例 下の例では、HP-UX に付属の音声ファイルに対して attributes を使用しています。 $ /opt/audio/bin/attributes /opt/audio/sounds/welcome.au File Name: /opt/audio/sounds/welcome.au File Type: NeXT/Sun Data Format: Mu-law Sampling Rate: 22050 Channels: Mono Duration: 1.972 seconds Bits per Sample: 8 Header Length: 40 bytes Data Length: 43492 bytes 著者 attributes は、 HP で開発されました。 Sun は米国 Sun MicroSystems 社の商標です。 NeXT は NeXT Computers, Inc. の商標です。 参照 audio(5), asecure(1m), aserver(1m), convert(1), send_sound(1) 『Using the Audio Developer’s Kit』 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-59 awk(1) awk(1) 名称 awk − パターン指向の走査処理言語 構文 awk [-Ffs ] [-v var=value ] [ program -f progfile ... ] [ file ... ] 説明 awk は入力された file を走査し、 program または -f progfile でリテラルに指定したパターンのセットと一致す るものを捜します。各パターンごとに file 内の行がパターンと一致すると、そのアクションが実行されます。 各行は、各パターンアクション文のパターン部分と照合され、一致したパターンごとに対応するアクションが 実行されます。ファイル名 - は標準入力のことです。 var=value という形式の file は、ファイル名ではなく割 当てとして処理されます。 -v オプションが使用されない限り、割当ては、ファイル名であればオープンされる 時点で評価されます。 入力行は、空白、または正規表現 FS で区切られたフィールドで構成されます。このフィールドは、 $1、 $2、 ....と表されます。 $0 は行全体を参照します。 オプション awk が認識するパラメータは次のオプションおよび引き数です。 -F fs フィールドを区切る正規表現を指定します。デフォルトはスペースおよびタブ文字を 認識し、先行するスペースおよびタブを廃棄します。 -F オプションを使用すると、 先行する入力フィールドセパレータは廃棄されません。 -f progfile awkプログラムファイルを指定します。最大100個までのプログラムファイルを指定で きます。これらのファイルにおけるパターンアクション文は、ファイルの指定と同じ 順序で実行されます。 -v var=value BEGIN アクション(もし存在すれば)の実行前に、 var=value の割当てをします。 文 パターンアクション文の形式は次のとおりです。 pattern { action} { action } を省略すると、行を出力します。パターンを省略すると、常に一致します。パターンアクション文 は、改行またはセミコロンで区切ります。 アクションは一連の文です。文は次のいずれかを可能とします。 if( expression ) statement [ else statement ] while( expression) statement for( expression ; expression ; expression) statement for( var in array ) statement do statement while( expression ) break Section 1-60 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 awk(1) awk(1) continue { [ statement ... ] } expression # commonly var = expression print [ expression-list ] [ > expression ] printf format [, expression-list ] [ > expression ] return [ expression ] next # skip remaining patterns on this input line. delete array [ expression ] # delete an array element. exit [ expression ] # exit immediately; status is expression. 文は、セミコロン、改行、または右中かっこで終了します。空の expression-list は $0 を表します。文字列定数 は引用符 (" ") で囲み、その中では通常のCエスケープが認識されます。式は適宜、文字列または数値となり、 次の演算子 +、 -、 *、 /、 %、 ˆ (指数化)および連結(空白で示されます)で構築されます。次の演算子 ++、 - -、 +=、 -=、 *=、 /=、 %=、 ˆ=、 **=、 >、 >=、 <、 <=、 ==、 !=、 "" ( 二重引用符、文字列変換演算 子)、および ?: も式に利用できます。変数は、スカラー、配列要素( x[i]と表される)、フィールドが使えます。 変数はヌル文字列に初期化されます。配列添え字は任意の文字列にすることができ、数値でなくてもかまいま せん(これにより、結合メモリーの形式が考慮されます)。 [ i,j,k ] などの複数の添え字も可能です。構成要素は 連結され、 SUBSEP の値で区切られます。 print 文は、その引き数を標準出力に(あるいは、 > file または >> file が存在する場合にはファイルに、もしく は |cmd が存在する場合にはパイプに)出力します。その際、現在の出力フィールドセパレータで区切り、出力 レコードセパレータで終了します。 file および cmd は、リテラル名、またはかっこで囲まれた式です。異なる 文の中の同じ文字列値は同じオープンファイルを表します。 printf 文は、フォーマットに従ってその式リスト をフォーマットします( printf (3S) を参照)。 組込み関数 組込み関数 close(expr) は、 print または printf 文でオープンされたファイルまたはパイプ expr 、または同じ 文字列値 expr を指定した getline への呼び出しをクローズします。この関数は、正常終了するとゼロを返し、 異常終了すると非ゼロを返します。 常用関数 exp、 log、 sqrt、 sin、 cos、 atan2 も組み込まれています。他の組込み関数は次のとおりです。 blength [( [ s ] ) ] 指定された引き数を文字列とみなし、長さを返します(バイト数)。引き数がなければ、 $0 の長さを返します。 length [( [ s ] ) ] 指定された引き数を文字列とみなし、長さを返します(文字数)。引き数がなければ、 $0 の長さを返します。 rand() 0から1の間の乱数を返します。 srand( [ expr ] ) rand のシード値を設定し、以前のシード値を返します。引き数が与えられなければ、 日時が初期値として使用されます。これ以外の場合は、 expr が使用されます。 int(x) 整数値に切り捨てます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-61 awk(1) awk(1) substr(s, m [, n] ) 文字列 s 中の位置 m (初期値1)から始る、最大 n -文字の副文字列を返します。 n を省 略すると、部分文字列は、文字列 s の長さによって制限します。 index( s, t ) 文字列 s 中で、文字列 t が最初に出現する位置を、1から始る文字数で返します。まっ たく出現しない場合は、0を返します。 match( s, ere ) 文字列 s 中で、拡張正規表現 ere が出現する位置を、1から始る文字数で返します。出 現しない場合は、0を返します。変数 RSTART および RLENGTH は、一致した文字列 の位置と長さに設定されます。 split( s, a[ , fs] ) 文字列 s を配列要素 a[1] 、 a[2] 、 ...、 a[n]に分け、 n を返します。区切りは正規表現 fs または fs が与えられなければ、フィールドセパレータ FS で行われます。 sub( ere, repl [ , in] ) 文字列 in 中で拡張正規表現 ere に一致する最初のものを repl に置き換えます。 in を与 えなければ、 $0 を使用します。 sub と同じですが、正規表現で検出された場合、すべて置き換えられます。 sub および gsub gsub は置換え数を返します。 sprintf( fmt, expr, ... ) printf (3S) フォーマット fmt に従って expr ... をフォーマットした結果の文字列 system(cmd) cmd を実行し、その終了ステータスを返します。 toupper(s) 引き数文字列 s を大文字に変換し、結果を返します。 tolower(s) 引き数文字列 s を小文字に変換し、結果を返します。 組込み関数 getline は、現在の入力ファイルからレコードを入力し $0 に設定します。 getline < file は file から レコードを入力し $0 に設定します。 getline x は、レコードを入力し変数 x に設定します。 cmd | getline は cmd の出力を getline にパイプで渡します。 getline は呼び出されるたびに、 cmd から出力された行を戻しま す。すべての場合において、 getline は、正常な入力については1を、ファイルの終わりについては0、エラー については −1 を返します。 パターン パターンは、( ! || && による)正規表現と関係式の任意の論理的組み合わせです。 awk は、 regexp(5) の説明に 従って拡張正規表現をサポートします。パターンにおける離れた正規表現は、行全体に適用されます。正規表 現は、演算子 ˜ および !˜ を使って関係式で使用できます。 /re/ は定数正規表現です。パターンにおける離れた 正規表現の位置を除いて、任意の文字列(定数または変数)を正規表現として使用できます。 パターンは、2 つのパターンをコンマで区切ったものでも構成できます。この場合、アクションは最初のパ ターンから第2のパターンまですべての行に対して行われます。 関係式は次のうちのいずれかです。 expression matchop regular-expression expression relop expression expression in array-name Section 1-62 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 awk(1) awk(1) (expr,expr,...) in array-name ただし、relopは、Cの6つの関係演算子のいずれかであり、matchopは、 ˜ (一致する)または !˜ (一致しない)の いずれかです。条件文は、算術式、関係式、またはこの2つの論理的組み合わせです。 特殊パターン BEGIN および END を使用すると、最初の入力行が読み取られる前か、最後の入力行が読み取 られた後に処理を制御できます。 BEGIN および END は他のパターンと組み合わせることはできません。 特殊文字 正規表現および文字列の両方において次の特殊エスケープシーケンスが、 awk によって認識できます。 エスケープ 意味 \a 警報文字 \b バックスペース文字 \f フォームフィード文字 \n 改行文字 \r キャリッジリターン文字 \t タブ文字 \v 垂直タブ文字 \nnn 1∼3桁の8進値 nnn \xhhh 1∼n桁の16進数 変数名 特殊な意味のある変数名は次のとおりです。 FS -F fs 入力フィールドセパレータの正規表現。デフォルトはスペース文字です。オ プション -F fs を使って設定することも可能です。 NF 現在のレコードにおけるフィールド数 NR 現在のレコードの、入力の先頭からの順序数です。 BEGIN アクション内では、こ の値は0です。 END アクション内では、この値は最後に処理されたレコードの番 号です。 FNR 現在のファイルにおける現在のレコード番号。 BEGIN アクション内では、この値 は0です。 END アクション内では、この値は、最後に処理されたファイル中の最 後に処理されたレコードの番号です。 FILENAME 現在の入力ファイルのパス名。 RS 入力レコードセパレータ。デフォルトは改行文字です。 OFS print 文の出力フィールドセパレータ。デフォルトはスペース文字です。 ORS print 文の出力レコードセパレータ。デフォルトは改行文字です。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-63 awk(1) awk(1) OFMT 数値の出力フォーマット( デフォルトは %.6g)。 OFMT の値が浮動小数点フォー マット指定でなければ、結果は不定です。 CONVFMT 数値の内部変換フォーマット(デフォルトは %.6g)。 CONVFMT の値が浮動小数 点フォーマット指定でなければ、結果は不定になります。 UNIX 標準環境 ( standards(5) 参照) で CONVFMT が指定されない場合、 %d がデ フォルトとして数値の内部変換フォーマットに使用されます。 SUBSEP 複数次元配列の添え字のセパレータ文字列。デフォルト値は" 34"です。 ARGC ARGV 配列の要素数。 ARGV コマンド行引き数の配列。オプションおよび0 番目から ARGC-1 番目までの program 引き数は除外されます。 ARGV 中の引き数は、修正または追加が可能です。 ARGC は変更可能です。各入 力ファイルが終了すると、 awk は、 ARGV の中で、 ARGC-1 の現在の値を超え ない、次の非ヌルの要素を、次の入力ファイルの名前として取り出します。した がって、 ARGV の要素をヌルに設定すると、その要素は入力ファイルとして扱わ れません。名前 - は標準入力を示します。ある引き数が assignment オペランドの フォーマットに一致する場合、その引き数は file 引き数ではなく代入として扱われ ます。 ENVIRON 環境変数の配列。添え字は名前です。たとえば、環境変数 V=thing ならば、 ENVIRON["V"] は thing を生成します。 RSTART match 関数で一致した文字列の先頭位置で、1から始ります。これは、 match 関数 の戻り値と常に等価です。 RLENGTH match 関数で一致した文字列の長さです。 関数は、(パターンアクション文の位置で)次のように定義できます。 function foo(a, b, c) { ...; return x} パラメータは、スカラーの場合には値によって渡され、配列名の場合には参照によって渡されます。関数は、 再帰的に呼び出すことができます。パラメータは関数に対してローカルです。その他の変数はすべてグローバ ルです。 awk コマンドへの引き数として HP-UX コマンド行でパターンアクション文を使用する場合には、シェルから 保護するためにパターンアクション文を一重引用符で囲まなければならないことに注意してください。たとえ ば、72文字よりも長い行をプリントするには、スクリプト (-f progfile コマンド形式)で使用するパターンアク ション文は次のとおりです。 length > 72 awk コマンドへの引き数として使用する同じパターンアクション文は、次のように引用符で囲まれます。 Section 1-64 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 awk(1) awk(1) awk ’length > 72’ 多言語化対応 UNIX標準環境についての情報は、 standards(5) を参照ください。 環境変数 LANG 未設定またはヌルのインターナショナル変数に対するデフォルト値を提供します。 LANG が 未設定またはヌルの場合は、デフォルト値として"C"( lang(5) を参照) が使用されます。イン ターナショナル変数のいずれかの設定が不適当な場合には、 awk は、すべてのインターナ ショナル変数が "C" に設定されているものとして動作します。 environ(5) を参照してくださ い。 LC_ALL 空でない文字列値に設定されている場合は、他のすべてのインターナショナル変数の値が無効 になり、この値が適用されます。 LC_CTYPE テキストの解釈方法(シングルバイト文字、マルチバイト文字、またはその両方)、プリント可 能な文字の種別、および正規表現の中の文字クラス表現に一致する文字を決定します。 LC_NUMERIC 数値入力の解釈、数値と文字列値の変換、および数値出力のフォーマットを行うときに使用さ れる小数点を決定します。ロケールとは無関係に、ピリオド文字(POSIXロケールの10進小数 点文字)が、 awk プログラムの処理(コマンド行引き数中の代入も含む)中で、 10進小数点文 字として認識されます。 LC_COLLATE 正規表現の中のマルチ文字照合要素、等価クラス、および範囲に関する動作のロケールを決定 します。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセージの、 フォーマットと内容を制御するために使用すべきロケールを決定します。 NLSPATH LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 PATH system(cmd), または入力および出力パイプによって実行されるコマンドを検索するときの検索 パスを決定します。 さらに、すべての環境変数は awk 変数 ENVIRON を介して参照することができます。 サポートされるコードセット シングル/ マルチバイトの文字コードセットがサポートされています。ただし、変数名には ASCII 文字だけ を、正規表現には有効な文字だけを入れなければなりません。 診断 awk は、レコード当たり最大199個までのフィールド ($1 、 $2 、...、 $199) をサポートします。 例 次の指定では、72文字よりも長い行を出力します。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-65 awk(1) awk(1) length > 72 次の指定では、反対の順序で最初の2つのフィールドを出力します。 { print $2, $1} 次の指定は上と同じですが、コンマ、タブ、ブランクのいずれかで入力フィールドを区切ったものを反対の順 序で出力します。 BEGIN { FS = ",[ \t]*|[ \t]+"} { print $2, $1 } 次の指定では、最初のカラムを加算して合計と平均を出力します。 { s += $1 }" END { print "sum is", s, " average is", s/NR } 次の指定では、start/stopペアの間の行をすべて出力します。 /start/, /stop/ 次の指定では、 echo コマンドをシミュレートします( echo(1) を参照)。 BEGIN { # Simulate echo(1) for (i = 1; i < ARGC; i++) printf "%s ", ARGV[i] printf "\n" exit } 著者 awk は AT&T, IBM, OSF, および HP によって開発されました。 参照 lex(1), sed(1), standards(5) A. V. Aho, B. W. Kernighan, P. J. Weinberger: The AWK Programming Language , Addison-Wesley, 1988年 標準準拠 awk: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-66 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 banner(1) banner(1) 名称 banner − 拡大文字によるポスターの作成 構文 banner strings 説明 banner は、標準出力にその引き数(最大10文字まで)を拡大文字でプリントします。 各引き数は別の行に表示されます。複数ワードの引き数を同じ行にプリントするためには、コーテーションで 囲まなければならないことに注意してください。 例 スクリーンに拡大文字でメッセージ "Good luck Susan" をプリントします。 banner "Good luck" Susan この例では、 Good luck の次の行に Susan が表示されます。 警告 このコマンドは、X/Open標準から廃止されます。このコマンドを使用しているアプリケーションは、異機種の プラットフォームへは移植できない可能性があります。 参照 echo(1) 標準準拠 banner: SVID2, SVID3, XPG2, XPG3 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-67 basename(1) basename(1) 名称 basename, dirname − パス名の一部の取り出し 構文 basename string [suffix] dirname [string] 説明 basename は / で終わるすべてのプレフィックスと( string の中にあれば) suffix を、 string から削除しその結果 を標準出力に出力します。 string がスラッシュ文字だけで構成される場合には、 string はスラッシュ1文字に 設定されます。 string に続けてスラッシュ文字がある場合は削除されます。拡張子オペランドが存在しても、 string の残りの文字と同じでない場合や、 string の残りの文字の拡張子と同じ場合には、拡張子は string から 削除されます。 basename は通常シェルプロシージャの中のコマンド置換えマーク (‘...‘) 内で使用されます。 dirname は string の中にあるパス名を構成する一番下のディレクトリを除いたすべてのディレクトリを抽出し ます。 string にディレクトリ構成要素がなければ、 dirname は . を戻し、現在のワークディレクトリを示しま す。 多言語化対応 環境変数 LC_CTYPE は、string および basename の場合の suffix を、シングルバイト文字およびマルチバイト文字また はそのいずれかとして解釈することを確定します。 現在の環境で、 LC_CTYPE が指定されていない場合や、空の文字列に設定されている場合には、 LANG の値 がその変数のデフォルトとして使用されます。 LANG が指定されていなかったり、空の文字列に設定されてい る場合には、デフォルトの "C"( lang(5) 参照)が LANG のかわりに使われます。多言語化対応変数の設定に不 適当なものがある場合には、 basename および dirname はすべての多言語化対応変数が"C"に設定されている ものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 例 次のシェルスクリプトが、引き数に /usr/src/cmd/cat.c を付けて実行すると、指定ファイルがコンパイルされ、 現在のディレクトリにある cat という名前のファイルに出力されます。 cc $1 mv a.out ‘basename $1 .c‘ 次の例では、シェル変数 NAME を /usr/src/cmd に設定します。 NAME=‘dirname /usr/src/cmd/cat.c‘ Section 1-68 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 basename(1) basename(1) 戻り値 basename および dirname は、次の値のいずれかを返します。 0 正常終了。 1 コマンド行の引き数の数が誤っている。 参照 expr(1), sh(1) 標準準拠 basename: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 dirname: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-69 bc(1) bc(1) 名称 bc − 任意の精度の算術言語 構文 bc [-c] [-l] [ file...] 説明 bc は、Cに類似した言語の対話型のプロセッサですが、精度を限定しない演算が可能です。任意のファイルか ら入力すると、標準入力を読み込みます。 オプション bc は次のコマンド行オプションを認識します。 bc コンパイルのみ実行します。 bc は、実際には dc のプリプロセッサであり、 dc を自動 -c 的に実行します ( dc(1) を参照)。 -c を指定すると、 dc が実行されずに dc 入力が標準出力 に送られます。 任意の精度の数値演算ライブラリが定義されます。副作用として、スケールファクタが設 -l 定されます。 プログラム構文 L a から z までの1文字 E 式 S 文 R 関係式 コメント コメントは /* と */ で囲みます。 名前 名前には次のようなものがあります。 単純変数: L 配列要素: L [ E ] ワード ibase, obase, scale スタック: L その他のオペランド その他のオペランドには次のようなものがあります。 オプションの符号および小数点がある任意の長さの数 (E) sqrt ( E ) Section 1-70 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 bc(1) bc(1) length ( E ) 有効桁数 scale ( E ) 小数点以下の桁数 L ( E, ... , E ) 引用符("")で囲った ASCII 文字の文字列 算術演算子 次の算術演算子の結果はEになります。 + - * / % ˆ (% は余り(modではない、下記を参照)です。 ˆ はべき乗です) ++ -- (接頭字および添字。名前に適用されます) = += -= *= /= %= ˆ= 関係演算子 次の関係演算子を E op E として使用すると、結果はRになります。 == <= >= != < > 文 E { S ; ... ; S } if ( R ) S while ( R ) S for ( E ; R ; E ) S null statement break quit 関数定義 define L ( L ,..., L ) { auto L, ... , L S; ... S return ( E ) } −l数学ライブラリにおける関数 -l 数学ライブラリの関数には以下のものがあります。 s(x) sin c(x) cos e(x) exp l(x) log a(x) arctan HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-71 bc(1) bc(1) j(n,x) Bessel関数 関数の引き数はすべて値で渡します。三角関数の角度はラジアンで指定します。ただし、2πラジアンは360度 です。 式である文の値は、主な演算子が代入演算子でない限り出力されます。演算子は文字列には定義されていませ んが、式の結果が出力されるコンテキストに文字列が現れた場合、出力されます。セミコロンか改行で文を区 切ることができます。 scale への代入により、 dc(1) の形式で算術演算に保持される桁数に影響がでます。 ibase または obase への代入は、 dc(1) による定義と同じ形式でそれぞれ入力と出力の数の基数を設定します。 同じ英字を同時に配列、関数、および単純変数として使用することができます。変数はすべてプログラムに対 してグローバルです。 "自動"変数は関数呼び出し時にプッシュダウンされます。配列を関数の引き数として定 義するか、自動変数として定義する際は、空の大かっこを配列名に続けなければなりません。 % 演算子は整数ではなく、現在のスケールでの余りを計算します。したがって、スケール1では 7 % 3 は1で はなく.1(10分の1)です。これはスケール1のとき、 7 / 3 は2.3となり、余りは.1であるためです。 例 指数関数の近似値を計算する関数を定義します。 scale = 20 define e(x){ auto a, b, c, i, s a=1 b=1 s=1 for(i=1; 1==1; i++){ a = a*x b = b*i c = a/b if(c == 0) return(s) s = s+c } } 1から10までの整数の指数関数の近似値を出力します。 for(i=1; i<=10; i++) e(i) 警告 現在 && (AND) や || (OR)に相当するものはありません。 for 文には式が3つ必要です。 quit は実行時ではなく、読み込み時に解釈されます。 Section 1-72 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 bc(1) bc(1) bc のパーサは、入力エラーへの対応が不十分です。 2+2のような単純な式で回復させることができます。 代入演算子 =+ =- =* =/ =% =ˆ は現在使用されていません。これらの演算子があると構文エラーが発生しま す。ただし、 =- は = の後ろに単項マイナスが続くものとして解釈されるため、エラーにはなりません。 配列全体や関数も、関数パラメータとして渡すことはできません。 ファイル /usr/bin/dc 電卓実行可能プログラム /usr/lib/lib.b 数学ライブラリ 参照 bs(1), dc(1). 『Number Processing Users Guide』の bc チュートリアル 標準準拠 bc: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-73 bdiff(1) bdiff(1) 名称 bdiff − ラージファイルのdiff 構文 bdiff file1 file2 [ n ] [ -s ] 説明 bdiff は2つのファイルを比べて、 diff ( diff (1) 参照)によって生成される出力と同じ出力を作成し、ファイルを 同一にするための変更を指定します。 bdiff は diff には大きすぎるファイルを処理するために設計されていま すが、任意の長さのファイルに使用できます。 bdiff はファイルを次のように処理します。 • • 両方のファイルの先頭に共通な行を無視します。 指定した各ファイルの残りを n-line セグメントに分割し、次に対応するセグメントに対して diff を 実行します。 n のデフォルト値は3500です。 コマンド行引き数 bdiff は次のコマンド行引き数を認識します。 file1 bdiff によって比較される2つのファイルの名称。 file1 または file2 (どちらか一方)が - な file2 らば、標準入力がその代わりに使用されます。 n 第3の引き数として数値が存在する場合には、ファイルは diff の処理の前に n-line セグメ ントに分割されます。 n のデフォルト値は3500です。このオプションは3500行のセグメ ントが diff による処理に大きすぎる場合に有効です。 -s サイレントオプションは、 bdiff による診断メッセージは出さないようにしますが、 diff から生じるエラーメッセージは表示します。 n および -s の引き数が併用されている場合 は、 n 引き数は、コマンド行の -s オプションの前に置かなければなりません。そうしな いと、 n 引き数は適切に認識されません。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定され ている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 bdiff は全ての国際化変数が"C"に設定されているように振る舞 います。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 Section 1-74 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 bdiff(1) bdiff(1) 診断 both files standard input (bd2) 両方のファイルに対して標準入力が指定されています。 1つのファイルのみを標準入力として指定 できます。 non-numeric limit (bd4) 数値でない値が n (第3)引き数に対して指定されています。 例 2つの大きなファイル、 file1 と file2 との相違を探して、その結果を diffs_1.2 という名前の新しいファイルに 書き込みます。 bdiff file1 file2 >diffs_1.2 同じ操作を行いますが、ファイルの長さを1400 行までに制限して診断メッセージを出さないように指定しま す。 bdiff file1 file2 1400 -s >diffs_1.2 警告 bdiff は、出力が diff によって処理されたものと同じになるように、 diff からの出力と同じ出力を作成し必要 な行番号修正を行います。ただし、どこでファイルが分割されるかに応じて、 bdiff が必要最小限のファイル 相違を探し出せる場合と探し出せない場合があります。 ファイル /tmp/bd?????? 参照 diff(1) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-75 bs(1) bs(1) 名称 bs − 中規模の大きさのプログラム用のコンパイラ/インタプリタ 構文 bs [ file [ args ] ] 説明 bs は、一部のC言語が追加された BASIC および SNOBOL4 の系列です。 bs は、プログラム開発時間がプログラ ムの実行スピードと同程度に重要な場合、そのタスクプログラミングを目的として設計されています。データ 宣言の形式とファイル/プロセス操作は最小限にされています。1行デバッギング、 trace および dump 文、お よび有効な実行時エラーメッセージにより、プログラムテストは単純になります。さらに、不完全なプログラ ムをデバッグすることもできます。つまり、 外側の関数が作成される前に、 内側の関数をテストすることがで きます。また、その逆も可能です。 file をコマンド行で指定すると、キーボードから入力が読み取られる前に、そのファイルが入力に使用されま す。デフォルトでは、 file から読み取られた文は、後の実行のためにコンパイルされます。また、通常、キー ボードから入力された文は、即座に実行されます(下記の compile および execute を参照)。最後の操作が代入 でない限り、即座に文の結果がプリントされます。 bs プログラムは入力行で構成されます。行の最後の文字が \ ならば、行は続行します。 bs は、以下の形式で 行を受け付けます。 statement label statement ラベルは、後にコロンが付いた name (以下を参照)です。ラベルと変数は、同じ名前にすることができます。 bs 文は、式またはゼロ以上の式につづくキーワードです。いくつかのキーワード (clear, compile, !, execute, include, ibase, obase, run) は、つねにコンパイル時に実行されます。 文の構文 式の実行結果を他の処理に使います(値、代入、または関数呼び出し)。式の詳細については、 expression 以下の文のタイプの説明の後に示します。 break break は最も内部の for/while ループを終了します。 clear シンボルテーブルとコンパイル済みの文をクリアします。 clear は即座に実行されます。 compile [expression] 連続した文がコンパイルされます (即時の実行というデフォルトにオーバライドします)。オ プションの式が評価され、以降の入力のファイル名として使用されます。後者の場合には clear が伴います。 compile は即座に実行されます。 continue continue は、現在の for/while ループのループ継続に移行します。 dump [name] 各非ローカル変数の名前と現在の値がプリントされます。オプションにより、指定した変数だ けがレポートされます。エラーまたは割込み後に、最後の文の数が表示されます。ユーザー関 Section 1-76 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 bs(1) bs(1) 数のトレースは、関数で発生したエラーまたは stop の後に表示されます。 edit 呼び出しは、 EDITOR 環境変数が存在する場合には、それによって選択されるエディタに対 して、 EDITOR が不定またはヌルならば ed(1) に対して行われます。 file 引き数がコマンド 行にあれば、 file は、エディットするファイルとしてエディタに渡されます (引き数が存在し なければ、ファイル名は使用されません)。エディタを終了すると、そのファイル名を引き数 として、 compile 文(および、それに伴う clear )が、実行されます。 exit [expression] システムレベルに戻ります。式はプロセスステータスとして戻されます。 execute 即時実行モードに変わります(割込みには同様の効果があります)。この文によって、ストアさ れた文が実行されることはありません(以下の run を参照)。 for name = expression expression statement for name = expression expression ... next for expression , expression , expression statement for expression , expression , expression ... next for 文は、指定した変数の制御下で、1つの文(第1の形式)または文のグループ(第2の形式)を 繰り返し実行します。変数は最初の式の値となり、第2式の値を超えないように、各ループご とに1増分されます。第3および第4の形式には、コンマで区切った3つの式が必要です。 3つ の式の第1は初期化であり、第2はテスト(真の場合に続行する)であり、第3はループ継続アク ション(通常は増分)です。 fun f ( [a, ... ] ) [ v, ... ] ... nuf fun は、ユーザーが作成した関数に対して関数名、引き数、およびローカル変数を定義しま す。最大10個までの引き数とローカル変数を指定できます。これらの名前は配列とすること はできず、また I/O と対応付けることもできません。関数定義はネストできません。未定義の 関数の呼び出しは許されます。以下の関数呼び出しを参照してください。 freturn ユーザーが作成した関数の失敗を示す方法。以下の質問演算子 (?) を参照してください。質 問がなければ、 freturn はゼロに戻ります。質問が アクティブな場合、 freturn はその式に移 行します(バイパスする中間関数が戻ります)。 goto name 内部ストアされた文の内でラベルが一致する文に制御を移します。 ibase n ibase は入力ベース( 基数) を n に設定します。 n をサポートする値は、定数 8, 10 ( デフォル ト)、および 16 だけです。 16進値10∼15は a-f として入力されます。先行桁が必要です(つま り、 f0a は 0f0a として入力しなければなりません)。 ibase (および以下に説明する obase )は 即座に実行されます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-77 bs(1) bs(1) if expression statement if expression ... [else...] 式が非ゼロの評価値になる場合、文(最初の形式)または文のグループ(第2の形式)が実行され fi ます。文字列 0 および" "(ヌル)はゼロとして評価します。第2の形式では、オプションの else は、最初のグループが実行されず、第2グループの文が実行されることを示します。 else と同 じ行に認められる文は if だけです。他の fi だけを fi と同じ行に入れることができます。 else および if の elif への連結はサポートされます。 if ... elif ... [ else ... ] シーケンスをクローズ するには、単一の fi だけが必要です。 include expression expression は必ずファイル名の評価値になるので、このファイルには bs ソース文を入れなけ ればなりません。このような文は、コンパイル対象のプログラムの一部になります。 include 文はネストできません。 obase は出力ベースを n に設定します(上記の ibase を参照)。 obase n onintr label 割込みのプログラム制御ができます。最初の形式では、制御は、 onintr の実行中に goto が実 onintr 行された場合と同様に、与えられたラベルに渡されます。文の効果は、それぞれの割込み後に クリアされます。第2の形式では、割込みで、 bs が終了します。 return [expression] 式を評価し、結果を関数呼び出しの値として返します。式を与えなければ、ゼロを返します。 乱数ジェネレータをリセットします。制御は最初の内部文に渡されます。 run 文がファイル run に含まれる場合は、それを最後の文にしなければなりません。 内部文の実行を停止します。 bs は即時モードに戻ります。 stop trace [expression] trace 文は関数トレーシングを制御します。式がヌルである(または、ゼロの評価値になる)場 合には、トレーシングはオフになります。それ以外の場合には、ユーザー関数呼び出し/戻り の記録が表示されます。各 return ごとに trace expression 値を減分します。 while expression statement while expression ... next while は for と同様ですが、ループ継続の条件式のみが与えらます。 ! shell command シェルへの即座のエスケープ。 # ... Section 1-78 この文は無視されます(コメントとして処理されます)。 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 bs(1) bs(1) 式の構文 name 名前は変数の指定に使用します。名前は、1文字の英字(大文字または小文字)、オプションに より英字や数字がその後につづきます。名前の最初の6文字だけが有効です。 fun 文で宣言さ れる名前を除いて、名前はすべてプログラムではグローバルです。名前は、数値(倍精度実数 型)、文字列に付けるか、または入出力に対応させることができます(以下の組込み関数 open ( ) を参照)。 name ( [expression [ , expression] ... ] ) 名前とその後のかっこで囲んでコンマで区切った引き数によって、関数を呼び出すことができ ます。組込み関数(以下にリストがあります)を除いて、名前は fun 文で定義しなければなりま せん。関数への引き数は値で渡されます。関数がまだ定義されていなければ、その関数の呼び 出し履歴が表示され、式としての戻り値を要求します。その式の結果は、未定義の関数の結果 であるものと見なされます。これにより、必ずしもすべての関数がまだ定義されていなくて も、プログラムのデバッギングが可能です。値は現在の入力ファイルから読み取られます。 name [ expression [ , expression ] ... ] この構文を使用して配列またはテーブルのいずれかを参照します (以下の組込みの table 関数 を参照)。配列については、それぞれの式は整数に切り捨てられ、名前の指定子として使用さ れます。生成される配列参照は、構文で言えば名前と同じです。 a[1, 2] は a[1][2] と同じで す。式は、0から32 767までの値に制限され切り捨てられます。 number 数値は、定数値を表すのに使用します。数値はFortran スタイルで書きます。また、数値は数 字とオプションの小数点、そして場合によっては e とそれにつづくおそらく符号付きの指数 からなるスケールファクタで構成されます。 string 文字列は " 文字で区切ります。 \ エスケープ文字を使って、文字列に現れる二重引用符(\"),改 行 (\n), キャリッジリターン (\r), バックスペース (\b), タブ (\t) 文字を文字列に入れることがで きます。それ以外の場合は、 \ はそれ自体の意味を表します。 ( expression ) 小かっこは、通常の評価の順序を変更するのに使用します。 ( expression , expression [ , expression ... ] ) [ expression ] 大かっこで囲まれた式は、小かっこで囲まれたリストからコンマで区切られた式を選択するた めの添え字として使用されます。リスト要素は、ゼロから始めて左から番号をつけられます。 次の式には、比較が真ならば値 True が入ります。 ( False, True )[ a == b ] ? expression 質問演算子は、その値ではなく式が正常終了するかどうかのテストを行います。今のところ、 これは、ファイルの最後(以下の プログラミングのヒントの項の例を参照)と eval 組込み関数 の結果のテストや、ユーザー作成の関数( freturn を参照)からの戻りをチェックする際に便利 です。一定の条件(ファイルの最後など)により、即座に最新の質問に移り、代入文または介在 する関数レベルをスキップすることができます。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-79 bs(1) bs(1) - expression 結果が式の否定となります。 ++ name 変数(または配列参照)の値を増分します。結果は新しい値になります。 - - name 変数の値を減分します。結果は新しい値になります。 !expression 式の論理否定です。シェルエスケープ コマンドを監視します。 ふたつの引き数の operator 式の共通関数を短縮するには、ふたつの引き数の間に関数を表す exression 演算子を入れます。代入割当て、連結、および関係演算子を除いて、オペランドは両方とも関 数の適用前に数値形式に変換されます。 2項演算子(優先順位が高くなる順) = は代入演算子です。左のオペランドは、名前または配列要素になります。結果は右のオペラ = ンドです。代入は右から左に設定され、その他すべての演算子は左から右に設定されます。 _ _ (アンダースコア)は連結演算子です。 &| & (論理 AND)は、その引き数のいずれかがゼロならば、結果がゼロになります。その引き数 が両方とも非ゼロならば、結果が1になります。 | (論理 OR)は、その引き数が両方ともゼロな らば、結果がゼロになります。その引き数のいずれかが非ゼロならば、結果が1になります。 どちらの演算子もヌル文字列をゼロとして処理します。 < <= > >= == != 関係演算子 (<: 小なり、 <=: 以下、 >: 大なり、 >=: 以上、 ==: 等しい、 !=: 等しくない) は、 引き数が指定された関係にあれば、1を返し、そうでなければ、0を返します。同レベルの関 係演算子は次のように展開します。 a>b>c は、 a>b & b>c と等価です。両方のオペランドが 文字列ならば、文字列の比較が行われます。 +- 加算と減算を行います。 */% 乗算、除算、および剰余計算を行います。 ˆ 指数化 組込み関数 引数の扱い arg(i) 関数呼び出しの現在のレベルで i-th の実際のパラメータ値です。レベルゼロで、 arg は i-th コマンド行引き数を返します (arg(0) は bs を返します)。 narg( ) 渡される引き数の数を返します。レベルゼロで、コマンド引き数カウントが返されます。 数学演算 abs(x) x の絶対値です。 atan(x) x のアークタンジェントです。その値は、−π/2と π/2の間です。 ceil(x) x 以上の最小整数を返します。 Section 1-80 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 bs(1) bs(1) cos(x) x (ラジアン)のコサインです。 exp(x) x の指数関数です。 floor(x) x 未満の最大整数を返します。 log(x) x の自然対数です。 rand( ) ゼロと1の間で均等に分散した乱数です。 sin(x) x (ラジアン)のサインです。 sqrt(x) x の平方根です。 文字列演算 size(s) s のサイズ(バイト単位の長さ)が返されます。 format( f , a) a のフォーマット済みの値を返します。 f は printf (3S) スタイルのフォーマット指定であると 仮定します。 % ... f, % ... e, および % ... s タイプのみが確かです。 format 呼び出しがコーディ ングされる際に a が数値であるか、文字列であるかの判定が常に可能であるとは限りませ ん。ですから、( e または f フォーマット用に)ゼロを加算するか、または( s フォーマット用 に) (_) ヌル文字列を連結して、強制的に a を f に必要なタイプにする検討をしてください。 index(x, y) y からの文字のいずれかが一致する x の最初の位置の数を返します。一致しなければ、ゼロに なります。 trans(s, f, t) f の一致する文字から、ソース s の文字を、 t の同じ位置の文字に変換します。 f に現れない ソース文字は結果にコピーされます。文字列 f が t よりも長いと、 f の超過部分で一致する ソース文字は結果に表示されません。 substr(s, start, width) 開始位置、および width の定義する s の部分文字列を返します。 match(string, pattern) mstring(n) pattern は、基本正規表現の定義に従った正規表現です( regexp(5) を参照)。 mstring は、 match への最新呼び出しで、パターンシンボル \( および \) のペアの間にあった n-th (1 <= n <= 10)部分文字列を返します。正常終了には、パターンは(すべてのパターンが ˆ で始まるか のように)文字列の先頭に一致しなければなりません。関数は、一致した文字数を返します。 例えば match("a123ab123", ".*\([a-z]\)") == 6 mstring(1) == "b" ファイル処理 open(name, file, function) close(name) name 引き数は bs 変数名でなければなりません( 文字列として渡されます)。 open について は、 file 引き数は次のようになります。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-81 bs(1) bs(1) 1. 0(ゼロ)、1、または2はそれぞれ標準入力、出力、またはエラー出力を表します。 2. 文字列はファイル名を表します。または、 3. ! で始まる文字列は( sh -c によって)、実行するコマンドを表します。 function 引き 数は、 r (読み取り)、 w (書き込み)、 W (改行なしの書き込み)、または a (追加)の いずれかでなければなりません。 close の後に、 name は通常の変数状態に戻りま す。 name がパイプであった場合は、クローズの完了前に wait() が実行されます( wait(2) を参照)。 bs exit コマンドでは、このような待機は行いません。初期の対応 づけは次のとおりです。 open("get", 0, "r") open("put", 1, "w") open("puterr", 2, "w") 例は次項で示します。 access() を実行します( access(2) を参照)。 access(s, m) 次の1文字のファイルタイプ表示を返します。通常ファイルには f , FIFO (つまり名前付きパイ ftype(s) プ)には p , ディレクトリには d , ブロック型スペシャルには b , またはキャラクタ型スペシャ ルには c となります。 テーブル table(name, size) bs におけるテーブルは、結合的にアクセスされる1次元配列です。「添字」(キーという)は文 字列です(数値は変換されます)。 name 引き数は bs 変数名でなければなりません(文字列とし て渡されます)。 size 引き数は、割り振る要素の最小数を設定します。 bs は、テーブルオー バフロー時にエラーメッセージをプリントして停止します。 table の結果は name です。 item(name, i) key() item 関数は連続的にテーブル要素にアクセスします (通常の使用では、キー値は規則どおりに 進行しません)。 item 関数が値にアクセスする場合、 key 関数は前の item 呼び出しの「添え 字」にアクセスします。前の item 呼び出しに有効な添え字がなかった場合、異常終了します( あるいは、 質問演算子がない場合、ヌルを返します)。 name 引き数は引用符で囲まないでく ださい。正確なテーブルサイズは定義されないため、質問演算子はテーブルの終端の検出に使 用してください。例えば、 table("t", 100) ... # If word contains "party", the following expression adds one # to the count of that word: ++t[word] ... # To print out the the key/value pairs: Section 1-82 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 bs(1) bs(1) for i = 0, ?(s = item(t, i)), ++i if key() put = key()_":"_s 質問演算子を使用しない場合、テーブルにこれ以上の要素がなければ、 item の結果はヌルで す。ただし、ヌルは正当な「添え字」です。 iskey(name, word) iskey は、キー word がテーブル name にあるかどうか判断し、ある場合には1、ない場合には 0を返します。 その他 eval(s) 文字列引き数は bs 式として評価されます。この関数は、数値文字列を数値内部形式に変換す るのに便利です。 eval は、次のように、間接的な形としても使用できます。 name = "xyz" eval("++"_ name) これは、変数 xyz を増やします。さらに、前に質問演算子がある eval で、(ユーザーは) bs エ ラー状態を制御できます。例えば ?eval("open(\"X\", \"XXX\", \"r\")") は、 XXX という名前のファイルがなければ、 ( ユーザーのプログラム停止) 値ゼロを返しま す。次の指定では、ラベル L (存在すれば)に対して goto を実行します。 label="L" if !(?eval("goto " label)) puterr = "no label" plot(request, args) tplot コマンドが利用できれば、 plot 関数は tplot で認識されるデバイスに出力します。 requests は次のとおりです。 呼び出し 機能 これ以降の plot 出力が、 -Tterm. の引き数で plot(0, term) tplot にパイプ接続されます。 term の長さは最大 40文字です。 plot(1) プロッタ画面を「消去」します。 plot(2, string) string で、現在位置にラベルを付けます。 plot(3, x1, y1, x2, y2) (x1,y1) と (x2,y2) の間に線を引きます。 plot(4, x, y, r) 中心 (x,y) および半径 r で円を描画します。 中心 (x1,y1), 両端 (x2,y2) および (x3,y3) で(左回 plot(5, x1, y1, x2, y2, x3, y3) りの)円弧を描画します。 これは使用できません。 plot(6) HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-83 bs(1) bs(1) plot(7, x, y) 現在位置を (x,y) にします。 plot(8, x, y) 現在位置から (x,y) に線を引きます。 plot(9, x, y) (x,y) に点を描画します。 plot(10, string) 行モードを string に設定します。 plot(11, x1, y1, x2, y2) (x1,y1) をプロット領域の左下のコーナーにし、 (x2,y2) を プ ロッ ト 領 域 の 右 上 コー ナー と し ま す。 プロットされる前に、続くx(y) 座標が x1 (y1) で plot(12, x1, y1, x2, y2) 乗算され、次に x2 (y2) に加算されます。初期ス ケーリングは plot(12, 1.0, 1.0, 0.0, 0.0) です。 要求によっては、すべてのプロッタに適用されません。 0と12を除いたすべての要求は、文字 を tplot にパイプ接続することにより実行されます。 ピクチャの描画が一回の操作で完了しない場合、キーボードから実行される各文により、 tplot が再び呼び出され、結果が予測できない状態になります。したがって、単一のストリー ムですべての出力を tplot に向けられるように、プロットは、関数または完全なプログラムで 行わなければなりません。 last() 直接モードでは、 last は、最後に計算された値を返します。 多言語化対応 環境変数 LC_COLLATE により、正規表現を評価する際に使用される照合順序を決定します。 LC_CTYPE は、正規表現において、文字クラス式によって照合される文字を決定します。 LC_COLLATE または LC_CTYPE が(現在使用している)環境で指定されていなかったり、空の文字列に設定 されている場合、 LANG の値がその変数のデフォルトとして用いられます。 LANG が指定されていなかった り、空の文字列の場合、"C"のデフォルト ( lang(5) 参照) が LANG の値として使われます。いずれかの多言語 化対応変数の設定が不適当な場合、 bs はすべての多言語化対応変数が "C" に設定されるものとして動作しま す。 environ(5) を参照してください。 サポートされるコードセット シングルバイトの文字コードセットがサポートされています。 例 電卓として bs を使用するとします。 ($ はシェルプロンプト) $ bs # Distance (inches) light travels in a nanosecond. 186000 * 5280 * 12 / 1e9 Section 1-84 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 bs(1) bs(1) 11.78496 ... # Compound interest (6% for 5 years on $1,000). int = .06 / 4 bal = 1000 for i = 1 5*4 bal = bal + bal*int bal - 1000 346.855007 ... exit 代表的な bs プログラムの概要は次のとおりです。 # initialize things: var1 = 1 open("read", "infile", "r") ... # compute: while ?(str = read) ... next # clean up: close("read") ... # last statement executed (exit or stop): exit # last input line: run 入出力の例は次のとおりです。 # Copy file oldfile to file newfile. open("read", "oldfile", "r") open("write", "newfile", "w") ... while ?(write = read) ... # close "read" and "write": close("read") close("write") HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-85 bs(1) bs(1) # Pipe between commands. open("ls", "!ls *", "r") open("pr", "!pr -2 -h ’List’", "w") while ?(pr = ls) ... ... # be sure to close (wait for) these: close("ls") close("pr") 警告 グラフィックスモード (plot ...) は、 tplot コマンドがシステムで利用可能でない限り、特に有効ではありませ ん。 bs は、一部のエラーに対しては許容しません。例えば、 fun 宣言をミスタイプすると ( clear を行わずに新し い定義を行うことができないため)、訂正が困難です。この場合の解決法としては、 edit コマンドを使って起 動するのがよいでしょう。 参照 ed(1), sh(1), access(2), printf(3S), stdio(3S), lang(5), regexp(5) 数学関数の詳細については、Section (3M)を参照してください。 pow() は、指数化に使用します( exp(3M) を参照)。 bs は標準I/Oパッケージを使用します。 Section 1-86 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 cal(1) cal(1) 名称 cal − カレンダのプリント 構文 cal [ [ month ] year ] 説明 cal は指定された年のカレンダをプリントします。月も指定した場合は、該当する月のカレンダだけがプリン トされます。いずれの引き数も指定しない場合は、その月のカレンダがプリントされます。 year には 1 から 9999 までの値を指定することができます。 month は 1 から 12 までの 10進数を指定します。作成されるカレン ダーはグレゴリオ暦です。 多言語化対応 UNIX 標準環境についての情報は、 standards(5) を参照してください。 環境変数 LC_ALL および対応する環境変数(先頭が LC_ で始まる)がロケール変数を指定しない場合、 LANG がロケー ルカテゴリで使われるロケール変数を決定します。 LANG が設定されていないか空白文字列に設定されている 場合、 Cがデフォルトとして使われます( lang(5) を参照)。 LC_CTYPE は、テキストデータのバイトシーケンスをキャラクタとして解釈する ( 例えば引き数および入力 ファイル内のシングルバイト対マルチバイトキャラクタ) ためのロケール変数を決定します。 LC_TIME カレンダーのフォーマットおよび内容を決定します。 TZ は、現在の月の値を計算するために使われるタイムゾーンを決定します。 国際化変数のどれかが無効な設定を含む場合、 cal は全ての国際化変数が"C"に設定されているように振る舞い ます。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 次のコマンドにより、 cal 9 1850 1850 年9月のカレンダが画面上に次のようにプリントされます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-87 cal(1) cal(1) September 1850 S M Tu W Th F 1 2 3 4 5 6 S 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 しかしUNIX標準( standards(5) を参照) の場合は、出力が次のようになります。 Sep 1850 Sun Mon Tue Wed Thu Fri 1 2 3 4 5 6 Sat 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 警告 年は必ず1月から始まるものとします (ただし、歴史的には正しくない場合もあります)。 cal 83 は 1983年の略 ではなく、西暦 83年を指すことに注意してください。 参照 standards(5) 標準準拠 cal: SVID2, SVID3, XPG2, XPG3, XPG4 Section 1-88 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 calendar(1) calendar(1) 名称 calendar − メモサービス 構文 calendar [-] 説明 calendar は、カレントディレクトリにある calendar ファイルを調べ、当日または明日の日付を含む行をプリン ト(アウト)します。週末の場合、「明日」は月曜日のことです。 - コマンド行引き数が現れると、 calendar は、各ユーザーのホーム名ディレクトリで calendar ファイルを検索 し、関連情報があれば、 mail( mail(1) を参照 ) ユーザーにその結果を送ります。通常、以上の作業は cron( cron(1M) を参照) の制御下で午前中の早い時間に行われます。 cron で起動されると、 calendar は calendar ファイルの最初の行を読み込んで、ユーザーの環境を決定します。 スペルや日付形式(以下に説明があります)などの言語依存情報は、 calendar ファイルにあるユーザー指定の LANG 文により決定されます。この文は LANG=language の形式でなければなりません。ここで language は言 語名です( lang(5) を参照)。この行が calendar ファイルに存在しない場合、 多言語化対応の環境変数に説明の あるアクションが実行されます。 calendar には2つのフィールド(月、日)が関係します。月フィールドは、月名(略語形でも非略語形でもよい)を 表す文字列、数値で表した月、またはアスタリスク(任意の月を表す) など、3種類のフォーマットで表現でき ます。月の名前を表す文字列として月を表現する場合、最初の文字は大文字でも小文字でもかまいませんが、 他の文字は小文字でなければなりません。月名のスペルは、 nl_langinfo() (langinfo(3C) を参照) で呼び出すと 返される文字列に一致しなければなりません。日フィールドは月の日を表す数値です。 月-日のフォーマット 月フィールドが文字列の場合、その後ろに0個以上の空白を続けられます。月フィールドが数値の場合は、そ の後ろにスラッシュ (/) かハイフン (-) のいずれかを続けなければなりません。月フィールドがアスタリスク (*) の場合、その後ろにスラッシュ (/) を続けなければなりません。日フィールドのすぐ後ろには、空白または 非数字文字を続けられます。 日-月のフォーマット 日フィールドは数字で表現します。日フィールドの後ろに続くものは、月のフォーマットによって決定されま す。月フィールドが文字列の場合、日フィールドの後ろには0個または1個のドット (.) とさらに0個以上の空 白を続けなければなりません。月フィールドが数字で表されている場合、日フィールドの後ろにはスラッシュ (/) かハイフン (-) のいずれかを続けなければなりません。月フィールドがアスタリスクの場合、日フィールド の後ろにはスラッシュ (/) を続けなければなりません。 多言語化対応 環境変数 LANG 文が calendar ファイルで指定されていないとき、 LC_TIME は、日付および時刻を表す文字列の フォーマットおよび内容を決定します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-89 calendar(1) calendar(1) LANG は、メッセージの表示言語を決定します。 現在使用している環境において、 LC_TIME が指定されていない場合や、 LC_TIME が空の文字列に設定され ている場合、 LANG の値がその変数のデフォルトとして用いられます。 LANG が指定されていなかったり、 空の文字列の場合、デフォルトの "C" ( lang(5) 参照)が LANG の値として使われます。いずれかの多言語化対 応変数の設定が不適当な場合、 calendar はすべての多言語化対応変数が "C" に設定されているものとして動作 します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 以下の calendar ファイルは calendar で認識されるフォーマットをいくつか示します。 LANG=en_US.roman8 Friday, May 29th: group coffee meeting meeting with Boss on June 3. 3/30/87 - quarter end review 4-26 Management council meeting at 1:00 pm It is first of the month ( */1 ); status report due. 以下の calendar ファイルでは、日付は欧州英語慣用法に従って表現しています。 LANG=en_GB.roman8 On 20 Jan. code review Jim’s birthday is on the 3. February 30/3/87 - quarter end review 26-4 Management council meeting at 1:00 pm It is first of the month ( 1/* ); status report due. 警告 メモサービスを受けるには、カレンダが公共情報であるか、または私用の crontab ファイルからシステム全体 で動作する calendar - とは別に calendar を実行しなければなりません。 calendar を自分で実行する場合、カ レンダファイルがホームディレクトリにある必要はないことに注意してください。 calendar の 「明日」 についての拡大解釈に休日は含まれません。 このコマンドは、X/Open標準から廃止されます。このコマンドを使用しているアプリケーションは、異機種の プラットフォームへは移植できない可能性があります。 著者 calendar は、AT&TおよびHP社で開発されました。 ファイル calendar Section 1-90 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 calendar(1) calendar(1) /tmp/cal* /usr/lbin/calprog 当日と明日の日付を調べます。 /usr/bin/crontab /etc/passwd 参照 cron(1M), nl_langinfo(3C), mail(1), environ(5) 標準準拠 calendar: SVID2, SVID3, XPG2, XPG3 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-91 cat(1) cat(1) 名称 cat − ファイルの連結、コピー、および出力 構文 cat [-benrstuv] file ... 説明 cat は、各 file を順次読み込んで、標準出力に書き込みます。 cat file これにより、 file をデフォルトの 標準出力 デバイスに出力します。 cat file1 file2 > file3 これは、 file1 と file2 を連結し、結果を file3 に置きます。 - が file 引き数の場合は、 cat は標準入力を使用します。標準入力と他のファイルを連結するには、 - と file 引 き数を併用してください。 オプション cat では、以降の オプションが使用できます。 -b -n オプションが指定されたとき、空白行の行番号を省略します。このオプションが指定された場 合、 -n オプションが自動的に選択されます。 -e 各行の最後(改行の前)に $ 文字を表示します。このオプションが指定された場合、 -v オプション が自動的に選択されます。 -n -r 出力行の前に行番号を表示します。行番号は1から始るシーケンシャル番号です。 複数の連続した空行を1行の空行で置き換えて、文字を含む行と行の間が2行以上空くことのない ようにします。 -s サイレントオプション。これにより cat は、ファイルが存在しない場合、入力と出力のファイル が同一の場合、書き込みエラーがある場合に、エラーメッセージを出さないようにします。通 常、スペシャルファイル以外は、入力ファイルと出力ファイルは同じ名前を持つことはできませ ん。 -t 各タブ文字を ˆI 、改ページ文字を ˆL として表示します。このオプションが指定された場合、 -v オプションが自動的に選択されます。 -u 出力をバッファリングしません( 文字単位で処理します)。通常は出力はバッファリングされま す。 -v 非プリント文字 ( タブ、ニューライン および改ページは除く) を表示します。制御文字は、 ˆX (Ctrl-X) を使用して表示され、 DEL 文字 (8進数の 0177) は ˆ? として表示されます( ascii(5) を参 照)。最上位ビットが設定されているシングルバイトの制御文字は、 M-ˆx, を使用して表示され ます。ここで x は、下位7ビットで指定される文字です。その他の非プリント 文字は、 M-x にな Section 1-92 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 cat(1) cat(1) ります。 x は、下位7ビットで指定される文字です。このオプションは、 LC_CTYPE 環境変数 および対応するコードセットの影響を受けます。 多言語化対応 環境変数 LANG は、未設定またはヌルのインターナショナル変数に対するデフォルト値を提供します。 LANG が未設 定またはヌルの場合は、デフォルト値の"C"( lang(5) を参照)が使われます。インターナショナル変数のいずれ かの設定が不適当な場合には、 cat はすべてのインターナショナル変数が"C"に設定されているものとして動作 します。 environ(5) を参照してください。 LC_ALL が空でない文字列値に設定されている場合は、他のすべてのインターナショナル変数の値が無効にな り、この値が適用されます。 LC_CTYPE は、テキストの解釈方法(シングルバイト文字、マルチバイト文字、またはその両方)、プリント可 能な文字の種別、および正規表現の中の文字クラス表現に一致する文字を決定します。 LC_MESSAGES は、標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセー ジの、フォーマットと内容を制御するために使用すべきロケールを決定します。 NLSPATH は、 LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 戻り値は、次のとおりです。 0 >0 正常終了 エラー状態の発生 例 長さ0のファイルを作成するには、次のいずれかを使用します。 cat /dev/null > file cp /dev/null file touch file 次のコマンドは、 file1 中でタブ文字が出現したすべての箇所について ˆI を表示します。 cat -t file1 存在しないファイルに関するエラーメッセージを抑止するには、次のコマンドを使用します。 cat -s file1 file2 file3 > file file2 が存在しない場合、上記のコマンドは file1およびfile3 を連結しますが、 file2 に関するエラーは報告しま せん。 -s オプションを指定しなくても、 cat がエラーメッセージを表示する点を除けば、結果は同じです。 file2 中の非プリント文字を表示するには、次のコマンドを使用します。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-93 cat(1) cat(1) cat -v file2 警告 次のコマンド形式を使用すると、連結の前に file1 のデータをオーバライトするので、ファイルが破壊されま す。 cat file1 file2 > file1 したがって、シェルの特殊文字を使用する場合は注意が必要です。 参照 cp(1), more(1), pg(1), pr(1), rmnl(1), ssp(1) 標準準拠 cat: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-94 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 cc_bundled(1) cc_bundled(1) 名称 cc_bundled: cc − バンドルされている C コンパイラ 構文 cc [options] files 説明 cc は HP-UX にバンドルされた C コンパイラを起動します。 C のソースコードは、オブジェクトコードに直接 コンパイルされます。 このコマンドは、コード生成に加えて、前処理、構文チェック、タイプチェックのために、 ecom (Itanium(R) ベース システム) または ccom (PA-RISC (Precision Architecture)) コンパイラを使用します。 cc では、 files に数種類の引き数を指定できます。 .c 接尾辞 .c で終わる名前の引き数は、C のソースファイルとして解釈します。各 .c ファイルをコンパイル し、その結果のオブジェクトファイルは、ソースファイルと同じベース(ファイル)名で拡張子が .c ではなく .o のファイルになります。ただし、1 つの C ソースファイルのコンパイルからリン クまでを 1 ステップで行うと、 .o ファイルは削除されます。 .s 接尾辞 .s で終わる名前の引き数は、アセンブリソースファイルとして解釈してアセンブルし、各 .s ファ イルに対する .o ファイルを生成します。 .i 接尾辞 .i で終わる名前の引き数は、前処理が終わったソースファイルとして解釈されます (後述の -P オ プションの項を参照)。各オブジェクトファイルのベース(ファイル)名は引き数と同じで、拡張子 が .i ではなく .o なります。 -lx 形式 −lx という形式の引き数を指定すると、リンカーはこの引き数を読み取った時点で未解決になっ ている外部参照を解決しようとして、ライブラリ libx.so (Itaniumベース システム) または libx.sl (PA-RISC) または libx.a を検索します。コマンド行中のライブラリ名指定を読み取ったときにそ のライブラリを検索するので、 −l を指定する位置は重要です。あるファイルに未解決の外部参照 が含まれる場合には、コマンド行ではそのファイルより 後ろにその外部参照の定義を含むライブ ラリを指定する必要があります。詳細は、 ld(1) を参照してください。 -l:libx.suffix形式 -l:libx.suffix という形式の引き数を指定すると、リンカーはこの引き数を読み取った時点で未解決 になっている外部参照を解決しようとして、ライブラリ libx.so (Itaniumベース システム) または libx.sl (PA-RISC) または libx.a を検索します (どちらのライブラリを検索するかは suffix で決まり ます)。これは -l オプションと同様ですが、 -Wl,-a オプションの現在の状態に依存しない点だけ が異なります。 その他の接尾辞 上記以外の引き数 (.o 、 .a または .so などで終わる名前) は、実行可能プログラムを生成するため に一緒にリンクされるリロケータブルオブジェクトファイルとして解釈され、 ld (ld(1) を参照) に渡されます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-95 cc_bundled(1) cc_bundled(1) 引き数およびオプションは、 CCOPTS 環境変数やコマンド行を通じてコンパイラに渡すことができます。コ ンパイラは CCOPTS の値を読み取り、これらのオプションを空白で区切られた縦線 (|) より前に指定されてい るものと後ろに指定されているものの 2 つの組に分割します。1 組目のオプションは cc のコマンド行パラメー タの前に配置され、2 組目のオプションは cc のコマンド行パラメータの後ろに配置されます。縦線がない場合 には、すべてのオプションがコマンド行パラメータの前に配置されます。例えば、 sh(1) 表記で次のように指 定すると、 CCOPTS=-v | -lm export CCOPTS cc -p prog.c コマンド行に次のように指定したのと等価になります。 cc -v -p prog.c -lm TMPDIR 環境変数を設定すると、コンパイラはデフォルトの格納用ディレクトリ /var/tmp にではなく、この 変数に設定されたディレクトリに一時ファイルを格納します。 オプション 注記オプションの詳細は、 HP C Online Help を参照してください。オンラインヘルプを起動するには、HTML ブラウザを使って、以下の URL を参照してください。 file:/opt/ansic/html/$LANG/guide/index.htm (Itanium ベース システム) または file:/opt/ansic/html/guide/$LANG/index.htm (PA-RISC) cc が認識できるオプションは、下記のオプションです。 -b リンカー ld に、通常の実行可能形式ファイルの代わりに、共有ライブラリを生成することを 指示します。詳細は、 ld(1), 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイ ド』および 『Programming on HP-UX』マニュアルを参照してください。 -c コンパイルのリンク編集段階を抑止し、たとえ 1つのプログラムだけをコンパイルする場合で も、各 .c または .i ファイルに対応するオブジェクト (.o) ファイルが生成されるようにしま す。 C プログラムから生成されるオブジェクトファイルは、リンクしてからでないと実行で きません。 -Dname=def -Dname #define を使って定義したかのように、 ( ctcom の) プリプロセッサパスに name を定義しま す。 -E -.suffix 指定された C ファイルのプリプロセスを行い、その結果を標準出力に出力します。 -E オプションで標準出力を使う代わりに、各 .c ファイルの出力を対応した .suffix ファイルに 格納します。 -Idir プリプロセッサパスでインクルードファイルを検索するために使用するアルゴリズムを変更し て、 dir で指定したディレクトリ内も検索するようにします。詳細は、 HP C Online Help を参 Section 1-96 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 cc_bundled(1) cc_bundled(1) 照してください。 -I- インクルードファイルのディレクトリを、二重引用符 ("") で囲まれたファイルを検索すると きの開始場所として使いません。 -I を最初の開始場所として使います。 <> で囲まれたファ イルは -I- の後のパスで検索されます。 -lx -L dir 「説明」の項の -lx および -l:libx.suffix (第 4 項と第 5 項) の説明を参照してください。 リンカーが libx.so (Itaniumベース システム) または libx.sl (PA-RISC) または libx.a を検索する アルゴリズムを変更します。 −L オプションを指定すると、 ld はデフォルトのロケーション を検索する前に dir で指定されたディレクトリ内を検索します。このオプションは、コマンド 行で −l オプションの前にあった場合のみ有効です。詳細は、 ld(1) を参照してください。 -ooutfile リンカーの出力ファイル名 outfile を指定します。デフォルトのファイル名は a.out です。 -b と共に指定すると、共有ライブラリ名の指定になります。 -c と共に指定すると、オブジェク トファイル名の指定になります。 -P 指定された C ファイルのプリプロセスを行い、結果を .i の接尾辞のついた対応するファイル に格納します。 -s リンカーがシンボルテーブル情報を出力しないようにします。詳細は、 strip(1) を参照してく ださい。このオプションを使用してリンクされたプログラムでは、シンボリックデバッガは使 用できません。詳細は、 ld(1) を参照してください。 他のオプションと共に -s を指定すると、オプションを指定した順序とは無関係に、 -s オプ ションが無視されます。 -S 指定された C ファイルをコンパイルし、アセンブリ言語による出力を、接尾辞が .s の対応す るファイルに格納します。 -tx,name サブプロセス x を name に置き換えます。または、サブプロセス x を name に挿入します。こ こで、 x は 1つまたは複数のサブプロセスを示す 1つまたは複数の識別子です。このオプショ ンは、次の 2種類のモードで機能します。 (1) x が 1 つの識別子である場合には、 name は新 しいサブプロセスの絶対パス名を表します。 (2) x が識別子の組である場合には、 name は標 準接尾辞を連接して、新しいサブプロセスの絶対パス名を組み立てるための接頭辞を表しま す。 x には次の値を 1つまたは複数指定できます。 a アセンブラ; 標準接尾辞は as c コンパイラ; 標準接尾辞は ecom (Itaniumベース システム) または ccom (PA-RISC) l リンカー; 標準接尾辞は ld p プリプロセッサ; 標準接尾辞は cpp HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-97 cc_bundled(1) cc_bundled(1) x すべてのサブプロセス。 -Uname コンパイルのプリプロセッサ処理に先立って、 name の初期定義をすべて削除します。 -v 冗長モードを使用可能にします。このモードでは、コンパイル処理のステップごとの記述が標 準エラーに出力されます。 -V コンパイラとリンカー (リンカーを実行した場合) のバージョン情報を表示します。 -w 警告メッセージを抑止します。 -Wx,arg1[,arg2...] カンマで区切られた引き数をサブプロセス x に渡します。 x は −t オプションでリストした値 の 1 つか d (ドライバープログラム) ですが、 x (すべてのサブプロセス) は指定できません。 -W オプションを指定すると、標準ではサポートされない、処理系に固有のオプションをコン パイラのドライバーが認識できるようになります。 Itaniumベース システムのみのオプション -z アドレス 0 に何もバインドしません。この ld(1) オプションによって、実行時にヌルポイン ターが検出できます。後述する ポインターに関する注記を参照してください。 (Itanium ベー ス システムのみ) +dryrun 指定したコマンドに対するサブプロセス情報を、サブプロセスを実行することなく、生成しま す。 (Itaniumベース システムのみ) +m[d] このオプションは、二重引用符 ("") で囲まれたインクルードファイルの依存情報を make(1) 用 のフォーマットで出力します。 +m を指定すると、標準出力に出力されます。 +md を指定す ると、接尾辞 .d のファイルに出力されます。このファイルのディレクトリと接頭辞は、オブ ジェクトファイルと同一であり、 -o オプションに従います。 注記 -E を指定すると、オブジェクトファイルの生成が抑止されます。この場合、プリプロ セッサの出力は生成されません (Itaniumベース システムのみ)。 +M[d] +m と同様ですが、 <> と二重引用符 ("") で囲まれたインクルードファイルの両方が、依存関 係ファイルとして出力されます (Itaniumベース システムのみ)。 +p 旧式の構造を許可しません。通常、コンパイラは旧式の構造に対して警告を表示します。 +p オプションを使うと、コンパイラは旧式の構造を含むコードをコンパイルしません (Itanium ベース システムのみ)。 +time コンパイルのサブプロセスごとに個別の時間情報を生成します。各サブプロセスに対し、ユー ザープロセス、システムコール、および合計処理時間の各時間を算出します (Itanium ベース システムのみ)。 +uc 「プレーン」な文字型データを符号なし文字として扱います (オーバーローディングとマング リングは変更しません)。このオプションは、非修飾型(プレーン)の文字型データを、デフォ ルトの符号付き文字ではなく、符号なし文字として扱う環境からアプリケーションを移植する Section 1-98 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 cc_bundled(1) cc_bundled(1) ときに役に立ちます。コンパイル単位中のすべての非修飾データ型がこのオプションで影響を 受けるので (外部変数やシステムインタフェースを定義するヘッダーも含まれます)、1 つのプ ログラムで使われるインタフェースも同時にコンパイルする必要があります。 問題がありそうなすべての構造について警告を表示します。 +w オプションを指定しない場合 +w は、ほとんど確実に問題がある構造についてのみ警告を表示します (Itanium ベース システム のみ)。 +Warg1[,arg2,...,argn] 指定した警告メッセージだけを、選択的に抑止します。ここに、 arg1 ∼ argn には、有効なコ ンパイラ警告メッセージの番号を指定します (Itaniumベース システムのみ)。 +Wearg1[,arg2,...,argn] 指定した警告メッセージ、またはエラーメッセージにつながるメッセージを選択的にエラー メッセージとして解釈します。 arg1 ∼ argn には、有効なコンパイラメッセージの番号を指定 します (Itaniumベース システムのみ)。 システムに依存するオプション コンパイラはオペレーティングシステムに依存する以下の追加オプションをサポートします。 +DDdata_model ILP32 または LP64 データモデルのいずれかを使うコードを生成します。 data_model で定義されている 値は、以下のとおりです。 32 ILP32 データモデルを使います。 int、long、ポインターのデータサイズは、32 ビットです。 64 LP64 データモデルを使います。 int のデータサイズは、32 ビットで、long とポインターのデー タサイズは、64 ビットです。プリプロセッサに対し、__LP64__ を定義します。 +DSmodel 指定した model に調整された命令スケジューラを使います。オプションを使わない場合は、コンパイ ラはプログラムをコンパイルしているコンピュータのアーキテクチャ用の命令スケジューラを使いま す。 オプション (その他) 定義されていないその他のオプションを使うと、標準エラーに警告が表示されます。 他の引き数には HP C と互換のオブジェクトファイルがありますが、これらのオブジェクトファイルは、通 常、以前の cc を実行したとき、または HP cc 互換ルーチンのライブラリによって生成されます。これらの ファイルは、指定したコンパイルの結果と共に、(指定した順番で) リンクされ、 a.out という名前の実行形式 プログラムを生成します。 ポインター NULL (ゼロ) ポインターのオブジェクトへのアクセスは、技術的には不正ですが、多くのシステムは過去にそ れを許していました。コードの移植性を最大限保証するために、以下のサポートを行っています。ハードウェ アでアドレス 0 から読み込んだとき (少なくとも、8 ビット、または 16 ビットにアクセスしたとき) に 0 を返 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-99 cc_bundled(1) cc_bundled(1) すことが許されている場合、 −z フラグが存在しなければ、0 を返す必要があります。 −z フラグを指定した場 合は、アドレス 0 にアクセスした場合、 SIGSEGV を生成します。アドレス 0 からの読み込みは許されていた としても、アドレス 0 への書き込みはエラーとして検出されます。ハードウェアがアドレス 0 への書き込みを 0 で初期化する、または 0 にロックすることを保証できない場合には、ハードウェアは −z フラグが常に設定 されているように動作する必要があります。 多言語化対応 環境変数 LANG は、表示されるメッセージの言語を決定します。 環境変数 LC_CTYPE が指定されていないか、または設定値が空の文字列の場合には、指定がないかまたは値 が空の各変数のデフォルトとして LANG の値が使用されます。 LANG を指定しないか、またはその値として 空の文字列を設定すると、 LANG の代わりに、デフォルトの C (lang(5) を参照) が使用されます。不当な値が 設定されている国際化変数があると、 C はすべての国際化変数の値が C になっているかのように動作しま す。 environ(5) を参照してください。 aCC_MAXERR で設定するエラーの最大数を超えると、コンパイラはコンパイルを終了させます (Itaniumベー ス システムのみ)。 SDKROOT はツールセットコンポーネントのすべてのリファレンスの接頭辞として使われ、ネイティブではな い開発キット、または代替場所にインストールされたツールセットを使う場合に設定しておく必要がありま す。ツールセットコンポーネントには、コンパイラドライバー、コンパイラアプリケーション、プリプロセッ サ、リンカー、およびオブジェクトファイルツールなどがあります。 TARGETROOT はターゲットセットコンポーネントのすべてのリファレンスの接頭辞として使われ、ネイティ ブではない開発キットを使う場合に設定しておく必要があります。ターゲットセットコンポーネントには、 ヘッダーファイル、アーカイブライブラリ、および共有ライブラリなどがあります。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 診断 コンパイラ自身が生成する診断は、それだけを見ても意味が分かるようになっています。ときどき、アセンブ ラ、またはリンクエディタがメッセージを生成する場合があります。 cc の処理完了前にエラーが発生すると、ゼロ以外の値が返されます。そうでなければ、ゼロが返されます。 依存関係 他のオプションと共に -s を指定すると、オプションを指定した順序とは無関係に、 -s オプションが無視され ます。 オペレーティングシステムに依存するオプション (32 ビットデータモデル、または 64 ビットデータモデル用 の +DDdata_model と、命令スケジューラ用の +DSmodel)の詳細は、上述の システムに依存するオプションの 項を参照してください。 Section 1-100 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 cc_bundled(1) cc_bundled(1) ファイル file.c C 入力ファイル file.i 以前にプリプロセスが行われた cc 入力ファイル file.o オブジェクトファイル file.so Itaniumベース システムで -b によって生成された共有ライブラ リ file.sl PA-RISC で -b によって生成された共有ライブラリ a.out リンクされて出力される実行可能ファイル /var/tmp/* コンパイラが使用する一時ファイル (Itaniumベース システム) /var/tmp/ctm* コンパイラが使用する一時ファイル (PA-RISC システム) /usr/ccs/bin/cc C ドライバー /usr/ccs/bin/cc_bundled C ドライバー /usr/ccs/lbin/ecom C コンパイラ (Itaniumベース システム) /usr/ccs/lbin/ccom C コンパイラ (PA-RISC システム) /usr/ccs/lbin/cpp .s ファイルをアセンブルするプリプロセッサ /usr/lib/nls/msg/$LANG/aCC.cat C コンパイラのメッセージカタログ (Itaniumベース システム) /usr/lib/nls/msg/$LANG/cc.cat C コンパイラのメッセージカタログ (PA-RISC システム) /usr/ccs/bin/as アセンブラ (as(1)を参照) /usr/ccs/bin/ld リンクエディター (ld(1)を参照) /usr/ccs/lib/crt0.o 実行時起動ルーチン (PA-RISC システム) /usr/include #include ファイルの標準ディレクトリ その他のライブラリ /usr/lib/hpux32/libc.so 標準 C ライブラリ、『 HP-UX リファレンス セクション (3)』 を参照してください。 (Itaniumベース システム) /usr/lib/hpux64/libc.so 標準 C ライブラリ、『 HP-UX リファレンス セクション (3)』 を参照してください。 (Itaniumベース システム) /usr/lib/libc.a 標準 C ライブラリ (アーカイブバージョン)、『 HP-UX リファ レンス セクション (3)』 を参照してください。 (PA-RISC) /usr/lib/libc.sl 標準 C ライブラリ (共有バージョン)、『 HP-UX リファレンス セクション (3)』 を参照してください。 (PA-RISC) HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-101 cc_bundled(1) cc_bundled(1) /usr/lib/hpux32/libm.a 数学ライブラリ (Itaniumベース システム) /usr/lib/hpux64/libm.a 数学ライブラリ (Itaniumベース システム) /usr/lib/libm.a 数学ライブラリ (PA-RISC システム) /usr/lib/hpux32/libdl.so ダイナミックローダーライブラリ (Itaniumベース システム) /usr/lib/hpux64/libdld.so ダイナミックローダーライブラリ (Itaniumベース システム) /usr/lib/libdld.sl ダイナミックローダーライブラリ (PA-RISC システム) /usr/lib/hpux32/dld.so ダイナミックローダー (Itaniumベース システム) /usr/lib/hpux64/dld.so ダイナミックローダー (Itaniumベース システム) /usr/lib/dld.so ダイナミックローダー (PA-RISC システム) 参照 オンラインヘルプ オンラインヘルプを起動するには、デフォルトの HTML ブラウザを使って、または、任意の HTML ブラウザ を使って、次の URL を参照してください。 file:/opt/ansic/html/$LANG/guide/index.htm (Itanium ベース システ ム) または file:/opt/ansic/html/guide/$LANG/index.htm (PA-RISC システム) そ の 他 の ト ピッ ク ス は、 『 Compiler Pragmas, Floating Installation and Implementation Defined aspects of the compiler』を参照してください。 次の Web サイトにも情報があります。 http://www.hp.com/go/c プロファイリングとデバッギングのツール gprof (1) コールグラフのプロファイルデータを表示します。 monitor(3C) 実行形式のプロファイルを準備します wdb(1) C、C++ および Fortran 用シンボリックデバッガー gdb(1) C、C++ および Fortran 用シンボリックデバッガー adb(1) アブソリュートデバッガ システムツール as(1) アセンブリコードをマシンコードに変換します。 cpp(1) C 言語プリプロセッサを実行します。 cc(1) C コンパイラ ld(1) リンクエディタを実行します。 その他 strip(1) オブジェクトファイルからシンボルおよび行番号の情報を取り除きます。 crt0(3) 起動ルーチンを実行します。 end(3C) プログラムの最終位置のシンボルです。 Section 1-102 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 cc_bundled(1) exit(2) cc_bundled(1) tプロセスを終了します。 指導書および標準文献 『American National Standard for Information Systems - Programming language C, ANS X3.159-1989』 『HP C Online help』も参照してください。 HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-103 cd(1) cd(1) 名称 cd − ワークディレクトリの変更 構文 cd [ directory ] 説明 directory を省略すると、シェルパラメータ HOME の値を新しいワークディレクトリとして使用します。 directory に /, ., . . で始まる絶対パスを指定すると、 directory が新しいワークディレクトリになります。上記のいず れでもない場合、 cd は、シェル変数 CDPATH により指定したパスのいずれかの下にあるディレクトリを相対 的に見つけようとします。 CDPATH の構文と意味は、 PATH シェル変数と同じです。 cd では directory での 実行 (検索) パーミッションが必要になります。 cd は、シェル組み込み関数としてのみ存在します。これは、通常のシステムコマンドとして作成し実行する と、コマンドが実行されるたびに新しいプロセスが生成され、 cd が役に立たなくなるためです。また、シェ ルが異なると、組み込み関数としての cd の実現方法が異なります。ここに示す cd の特徴は、すべてのシェル でサポートされるわけではありません。相違点については、それぞれのシェルのマンページを参照してくださ い。 cd が以下のようにサブシェルまたは個別のユーティリティ実行環境で呼び出されると、 find . -type d -exec cd {}; -exec foo {}; (これは foo をアクセス可能なディレクトリで呼び出します。) cd は、呼び出し元の環境の現在のディレクトリには影響を与えません。 cd を単独コマンドとして使用する別 の用途としては、コマンドの終了ステータスを取得することがあります。 多言語化対応 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 環境変数 以下の環境変数は、 cd の実行に影響を与えます。 HOME CDPATH ディレクトリオペランドを指定しなかった場合に使用されるホームディレクトリ名 ディレクトリを参照するコロンで区切ったパス名のリスト。ディレクトリオペランドが スラッシュ文字 (/) で始まらず、最初の構成要素がドットでもドットドットでもない場 合は、 cd は、変数 CDPATH に指定された各ディレクトリ相対で、リストされた順序で directory を検索します。新しいワークディレクトリは、最初に一致したディレクトリに 設定されます。ディレクトリパス名に代わりに空文字列を指定した場合は、現在のディ レクトリを表します。 CDPATH が設定されていない場合は、空文字列として処理され ます。 Section 1-104 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 cd(1) cd(1) 例 ファイルシステムの任意の位置から現在のワークディレクトリを HOME ディレクトリに変更する場合は、次 のようにタイプします。 cd 現在のディレクトリに存在する新しい現在のワークディレクトリ foo に変更する場合は、次のようにタイプし ます。 cd foo または cd ./foo 現在のディレクトリの上位ディレクトリにあるディレクトリ foobar に変更する場合は、次のようにタイプしま す。 cd ../foobar 絶対パス名が /user/local/lib/work.files であるディレクトリに変更する場合は、次のようにタイプします。 cd /usr/local/lib/work.files ホームディレクトリ相対でディレクトリ proj1/schedule/staffing/proposals に変更する場合は、次のようにタイ プします。 cd $HOME/proj/schedule/staffing/proposals 戻り値 処理を完了すると、 cd は以下の値のいずれかで終了します。 0 >0 ディレクトリは正常に変更されました。 エラーが発生しました。ワークディレクトリは元のままです。 参照 csh(1), pwd(1), ksh(1), sh-posix(1), sh(1), chdir(2) 標準準拠 cd: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-105 cdc(1) cdc(1) 名称 cdc − SCCSデルタのデルタ注釈の変更 構文 cdc -r SID [-m[ mrlist ] ] [-y[ comment ] ] files 説明 cdc コマンドは、指定した各 SCCS ファイルごとに -r オプションで指定した SID デルタ注釈を変更します。 デルタ注釈は、 delta(1) コマンド (-m および -y オプション)により、正常に指定された修正要求 (MR) および 注釈情報になるように定義されます。 ディレクトリを指定した場合、 cdc は、そのディレクトリの各ファイルが指定されたものとして動作します。 ただし、非SCCSファイル(パス名の最終成分が s. で始まらない)および読み取り不能ファイルは、表示されず 無視されます。 - の名前を与えた場合、標準入力が読み込まれ (警告を参照)、標準入力の各行は、処理対象の SCCS ファイルの名前であるとみなされます。 オプション 任意の順序で指定可能な cdc への引き数は、 option 引き数およびファイル名で構成されます。 説明したすべての option 引き数は、指定した各ファイルに独立に適用されます。 -rSID デルタ注釈を変更するデルタの SCCS IDentification (SID) 文字列の指定に使用しま す。 -m[mrlist] SCCS ファイルに v オプションセット (admin(1) を参照) がある場合、 -r オプション によって指定された SID のデルタ注釈に追加および削除またはその一方の対象となる MR 番号のリストが与えられます。ヌルの MR リストは効果がありません。 MR エントリーは delta(1) のリストと同じ方法で、 MR のリストに追加されます。 MR を削除するには、 MR 番号の前に文字 ! (例を参照) を置きます。削除する MR が 現在 MR リストに存在する場合、それは削除されて「コメント」行に変わります。削 除したすべての MR のリストは、デルタ注釈のコメントセクションに置かれ、削除し た MR で始まるコメント行がその前に付きます。 -m の使用もなく、標準入力がターミナルならば、標準入力が読み込まれる前に、プ ロンプト MRs? が標準出力に発行されます。一方、標準入力がターミナルでなけれ ば、プロンプトは発行されません。 MRs? プロンプトは常に comments? プロンプト (-y オプション参照) の前に表示されます。 リストにある MR は、ブランクおよびタブ文字またはその一方によって区切られま す。エスケープなしの改行文字で MR リストは終了します。 v オプションに値がある場合 (admin(1) を参照)、 MR 番号の正確さを評価するプログ ラム(またはシェルプロシージャ)の名前として処理されることに注意してください。 非ゼロの終了ステータスが MR 番号の評価プログラムから返されると、 cdc は終了 Section 1-106 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 cdc(1) cdc(1) し、デルタ注釈はそのまま変化しません。 -y[comment] -r オプションで指定したデルタにすでに存在する comment または comments を置き換 えるのに使われる任意のテキスト。以前のコメントは保存され、変更されたことを表 すコメント行がその前に付きます。空の comment は効果がありません。 -y が指定されず、標準入力がターミナルならば、標準入力の読み込まれる前に、 comments? プロンプトが標準出力に発行されます。一方、標準入力がターミナルでな ければ、プロンプトは発行されません。エスケープ改行文字で comment テキストは終 了します。 SCCS ファイルを修正するために必要な正確なパーミッションは get(1) にドキュメントがあります。簡単に述 べると、これらは次のどちらかです。 • デルタを作成した場合は、そのデルタ注釈を変更できます。 • ファイルおよびディレクトリを所有する場合、デルタ注釈を修正できます。 多言語化対応 環境変数 LANG は、メッセージの表示言語を決定します。 サポートされる文字コードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 詳細については、 sccshelp(1) を使用してください。 例 bl78-12345 および bl79-00001 を MR リストに追加し、 bl77-54321 を MR リストから削除し、 s.file のデルタ 1.6にコメント trouble を追加します。 cdc -r1.6 -m"bl78-12345 !bl77-54321 bl79-00001" -ytrouble s.file 以下も同様です。 cdc -r1.6 s.file MRs? !bl77-54321 bl78-12345 bl79-00001 comments? trouble 警告 SCCS ファイル名を標準入力 (コマンド行では -) で cdc コマンドに与える場合、 -m および -y オプションも使 用しなければなりません。 ファイル x-file delta(1) を参照 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-107 cdc(1) cdc(1) z-file delta(1) を参照 参照 admin(1), delta(1), get(1), sccshelp(1), prs(1), sccsfile(4), rcsfile(4), acl(5), rcsintro(5) Section 1-108 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 chacl(1) chacl(1) 名称 chacl − ファイルのアクセス制御リスト(ACL)の追加、修正、削除、コピー、または要約 構文 /usr/bin/chacl acl file ... chacl -r acl file ... chacl -d aclpatt file ... chacl -f fromfile tofile ... chacl - [ z Z F ] file ... 説明 chacl は、 chmod(1) の機能を拡張したもので、ユーザーが特定の追加ユーザーおよびグループにファイルアク セスを認可したり、制限したりすることができます。ファイル作成の際に設定される従来のファイルアクセス パーミッションは、ファイル所有者、グループ、および他のユーザーへのアクセスを認めるかまたは制限しま す。これらのファイルアクセス パーミッション( 例: rwxrw-r--) は、3 つのベースアクセス制御リストエント リーにマップされます。 1つのエントリーはファイルの所有者用で (u.%, mode), 1つはファイルのグループ用 (%.g, mode), そしてもう1つは他のユーザー用 (%.%, mode) です。 chacl では、ユーザーは、ファイルのアクセス制御リストにストアされた最大13のパーミッションの追加セッ ト(これをオプションのアクセス制御リスト(ACL)エントリーといいます)を制御できます。 chacl を使用するには、所有者(またはスーパーユーザー)が acl を構成しますが、これは単一または複数のファ イルと対応付ける (user.group, mode) マッピングのセットです。特定のユーザーおよびグループは、名前か数値 のいずれかによって参照します。任意のユーザー (u), グループ (g), または両方を参照するには、 % 記号を使 用します。この記号は 任意のユーザーまたはグループを表します。 @ 記号は、ファイルの所有者またはグ ループを指定します。 読み込み、書み込み、および実行/検索 (rwx) modes は、 chmod で使用するシンボリック演算子 (op), アクセス 権の追加 (+), 削除 (-), または設定 (=) と同一です。 acl にスペースまたは特殊文字がある場合、全体を引用符 で囲むようにしてください。 acl を構成するには2通りの方法があります( acl(5) に詳しい説明があります)が、 以下の構文をお勧めします。 entry [, entry ] ... ただし、 entry の構文は次のようになります。 u.g op mode[ op mode ] ... デフォルトでは、 chacl は既存の ACL を修正します。それは、 ACL エントリーを追加するか、または既存の ACL エントリーにおけるアクセス権を修正します。 acl にすでにファイルと対応した ACL エントリーがある場 合、エントリーのモードビットは指定した新しい値に変更されるか、または指定した演算子によって修正され ます。ファイルの ACL にすでに指定エントリーがない場合、その ACL エントリーが追加されます。 chacl で、 ファイルへのアクセスをすべて削除することも可能です。nullの acl 引き数を与えると、「アクセスなし」( -r HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-109 chacl(1) chacl(1) オプションを使用しているとき)か、または「変更なし」を意味します。 構文の要約については、引き数なしで chacl を実行してください。 file に - を指定する場合、 chacl は標準入力としてオープンしているファイルに対して動作します。 オプション chacl は以下のオプションを認識します。 従来の ACL を、指定した ACL に置き換えます。すべての追加 ACL エントリーは、指 -r 定のファイルの ACL から最初に削除されます。ベースパーミッションがゼロに設定さ れ、新しい ACL が適用されます。 acl に所有者 (u.%), グループ (%.g), またはファイ ルの他の (%.%) ユーザーのエントリーがなければ、その ACL エントリーのモードは ゼロ(アクセスなし)に設定されます。コマンドはファイルの ACL エントリーすべてに 影響を与えますが、ファイル所有者またはグループ ID の変更はしません。 chmod(1) では、「変更」および「置き換え」操作は構文(文字列または8進値)によっ て区別されます。 ACL には可変個数のエントリーがあるため、決まった構造はありま せん。したがって、 chacl は、デフォルトにより特定のエントリーを修正し、オプ ションによりエントリーをすべて置き換えます。 指定されたすべてのファイルにあたる ACL から指定されたエントリーを削除します。 -d aclpatt 引き数は、 ACL そのものか、または ACL パターンでもかまいません( acl(5) を 参照 ) 。 chacl -d は、エントリーが削除される場合に限って、各ファイルの ACL を アップデートします。 任意のファイルからベース ACL エントリーを削除しようとすると、エントリーは残り ますが、そのアクセスモードはゼロ(アクセスなし)に設定されます。存在しない ACL エントリーをファイルから削除しようとすると(つまり、 ACL エントリーパターンが ACL エントリーに一致しない場合)、 chacl はエラーを通知し、処理を続行し、最終的 に非ゼロを返します。 -f fromfile tofile fromfile から指定した tofile に ACL をコピーし、必要ならば、所有権を移します ( acl(5), chown(2), または chownacl(3C) を参照)。 fromfile は、標準入力を表す - が可能 です。 このオプションは、 -r オプションを意味します。 fromfile の所有者およびグループが tofile のものと同一である場合、 chacl -f は以下のものと同一です。 chacl -r ‘lsacl fromfile‘ tofile ... 所有権を移すことなく ACL をコピーするには、 chacl -f の代わりに上記のコマンドを お勧めします。 -z ベースエントリーのみを残して、指定したファイルの ACL におけるオプションエント リーをすべて削除(「ザップ」)します。 Section 1-110 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 chacl(1) chacl(1) -Z 指定したファイルの ACL におけるオプションエントリーをすべて削除( 「ザップ」) し、ベースエントリーにおけるアクセスモードをすべてゼロ(アクセスなし)に設定し ます。これは元の ACL をnullの ACL で以下のように置き換えるのと等価です。 ACL: chacl -r ’’ file ... または副作用としてオプションエントリーを削除する chmod(1) を使った場合と等価 です。 chmod 0 file ... -F ACL エントリーをベース ACL エントリーに組み込み(「折り重ね」)ます。ベース ACL エントリーのパーミッションビットは、必要ならば、呼び出し元のファイルへの有効 なアクセス権を反映するために変更されます。オプションのエントリーがあれば、す べて削除されます。 通常のユーザーの場合、所有者のベース ACL エントリーのアクセスモードのみが変更 できます。 getaccess と違い、読み取り専用ファイルシステム上のファイルまたは実 行中の共用テキストプログラムに対して、書き込みビットはオフにされません( getaccess(1) を参照)。 スーパーユーザーの場合、ファイルが通常ファイルでないか、または実行ビットが ベース ACL エントリーモードにまだセットされていないがオプションの ACL エント リーモードにセットされている場合に限り、所有者のベース ACL エントリーにおける 実行モードビットのみが変更されます。 同様に、 acl は、ファイルにおける文字列から得られます。 chacl ‘cat file‘ files ... acl 内で「ファイル所有者またはグループ」を表す@を使用すると( -d オプションの場合を除いて)、 ファイルごとに ACL を再び構文解析しなければならないため、 chacl の実行速度は低下します。 多言語化対応 環境変数 LANG は、メッセージの表示言語を決定します。 LANG が指定されていないか、空の文字列に設定されている場合、 "C"デフォルト( lang(5) を参照)が LANG の代わりに使用されます。いずれかの国際変数の内容の設定が不適当な場合、すべての国際変数が"C"に設定 されたものとして chacl は動作します。 environ(5) を参照してください。 戻り値 chacl が正常終了すると、ゼロ値を返します。 任意のファイルの ACL を変更する前に chacl にエラーが発生すると、エラーメッセージを標準エラーにプリン トし、1を返します。このようなエラーとしては、無効な呼び出し、 acl (aclpatt) の無効な構文、指定したユー ザー名またはグループ名が不定、または -f オプションで fromfile から ACL を取得不可能といったことがありま HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-111 chacl(1) chacl(1) す。 chacl が要求された操作を実行できない場合、エラーメッセージを標準エラーにプリントし、処理を続行し て、後で2を返します。これには、ファイルが存在しない、ファイルの ACL が変更できない、許容量をこえる ACL エントリーが発生する、または存在しない ACL エントリーを削除しようとした、といったケースがありま す。 例 以下のコマンドは、ファイル x および y に対して、任意のグループにおけるユーザー jpc の読み取りアクセス を追加し、そのファイルグループにおける任意のユーザーの書き込みアクセスを削除します。 chacl "jpc.%+r, %.@-w" x y このコマンドは、標準入力としてオープンされているファイルおよびファイル test の ACL を、ファイル所有者 の読み書きのみ許可するものに置き換えます。 chacl -r ’(@.%,rw-)’ - test もしあれば、ファイル myfile からグループ13におけるユーザー165に対する特定のアクセス権を削除します。 これはそのユーザーおよびグループに対してアクセスを制限する ACL エントリーを追加するのとは異なること に注意してください。その結果ユーザーのアクセス権は、 ACL に残っているエントリーによって異なります。 また、コマンドは読み取りビットがオンのユーザー jpc のエントリーをすべて削除します (ACL パターン中 で、ユーザー、グループ、またはアクセスモードを指定するのに、ワイルドカードとしてアスタリスクを使用 することができます)。 chacl -d ’165.13, jpc.*+r’ myfile oldfile から slow/hare および fast/tortoise に ACL をコピーします。 chacl -f oldfile slow/hare fast/tortoise 標準入力としてオープンされているファイルのオプションの ACL エントリーをもしあれば削除します。 chacl -z カレントディレクトリにある名前が a, b, または c で始まるすべてのファイルへのアクセスをすべて拒否しま す。 chacl -Z [a-c]* ACL エントリーのファイル (fun.stuff) をベース ACL エントリーに組み込みます。 chacl -F fun.stuff 警告 ACL 文字列に入れることができる反転エントリー (fun.stuff) の数は最高16個までですが、これは@シンボルを ユーザーまたはグループ名に冗長なエントリーを結合させることによって、一部のファイルでは16個のエント リーより少なくなることがあります。 Section 1-112 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 chacl(1) chacl(1) 制約 ターゲットファイルが存在するファイルシステムが ACL をサポートしていない場合、 chacl は異常終了しま す。 NFS -F オプションのみが、リモートファイルでサポートされます。 著者 chacl はHPで開発されました。 参照 chmod(1), getaccess(1), lsacl(1), getacl(2), setacl(2), acl(5), glossary(9) HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-113 chatr(1) chatr(1) 名称 chatr − プログラムの内部属性の変更 構文 特記事項 Integrity システムでは chatr_ia(1) を、PA-RISC システムでは chatr_pa(1) をそれぞれ参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Integrity システムで、それ以外の値であれば PA-RISC システムです。 参照 chatr_ia(1), chatr_pa(1), uname(1) Section 1-114 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 chatr_ia(1) chatr_ia(1) 名称 chatr_ia: chatr − Integrity システム用プログラムの内部属性の変更 構文 フォーマット1: シングル テキストセグメントとシングル データセグメントのみのファイルの場合 chatr [-s] [-z|Z] [-l library] [-B mode] [+as mode] [+b flag] [+cd flag] [+ci flag] [+dbg flag] [+es flag] [+gst flag] [+gstsize size] [+id flag] [+k flag] [+l library] [+md flag] [+mergeseg flag] [+mi flag] [+o flag] [+pd size] [+pi size] [+s flag] [+z flag] [+I flag] file ... フォーマット2: セグメントを明示的に指定する場合 chatr {+sa address | +sall | +si index} [-s] [-B mode] [+c flag] [+dz flag] [+k flag] [+m flag] [+mergeseg flag] [+p size] [+r flag] [+s flag] [+z flag] [+I flag] file ... 注釈 このマンページは Integrity システム用の chatr について記述しています。 PA-RISC システム用の chatr につい ては chatr_pa(1) を参照してください。 説明 chatr を使用すると、32 ビットおよび 64 ビット ELF ファイルの、プログラムの内部属性を変更できます。 chatr を起動するのに、2つの構文フォーマットが使えます。 • フォーマット1は、シングル テキストセグメントとシングル データセグメントのみの通常のファイルを簡 単に操作する場合に使います。 • フォーマット2は、変更するセグメントを明示的に指定する場合に使います。 -s が指定されている場合を除き、 chatr は、終了時に標準出力へファイルの新旧の値をプリントします。 +pd および +pi オプションでは、仮想メモリーのページサイズについてのヒントのみを指定します。実際の ページサイズは異なる可能性があります。ある状況下においては、特定のアプリケーションのメモリー要件に よっては、ページサイズのヒント L で、より高いパフォーマンスが得られます。 アプリケーションによっては、静的分岐予測によって高パフォーマンスが得られるものもあり、そうでない場 合もあります。 +r オプションでは、この機能を使用したほうがよいかそうでないかのヒントを指定します。 +gst および関連のオプションを使用すると、エクスポートされたシンボルの検索を高速化するグローバルシン ボル テーブルの使用により性能が向上します。詳細については、 dld.so(5) および 『HP-UX リンカー & ライブ ラリー オンライン ユーザーズガイド』を参照してください。 フォーマット2を使う場合、最初に変更するセグメントを (+sa オプションを使って) アドレス、または、 (+si オプションを使って) インデックスによって指定するか、あるいは、 (+sall オプションを使って) すべてのセグ メントを指定します。そして、 +c、 +m、 +r、 +s、または +z オプションを使って、セグメント属性を変更し ます。各セグメントごとに、 +sa address または +si index オプションに続けて変更オプションを指定すれば、 コマンド行に複数のセグメントを指定できます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-115 chatr_ia(1) chatr_ia(1) オプション -l library 検索パスのリストが与えられていれば (+s と +b を参照) 指定した共有ライブラリが実行時の パス検索の対象になることを示します。 -s 表示を行うことなくその操作を実行します。 -z NULL ポインターの逆参照トラップを有効にします。 NULL ポインターの実行時、逆参照は SIGSEGV シグナルを生成します (-Z オプションの逆)。 -B mode 共有ライブラリを使ってプログラムの実行時バインディング動作モードを選択します。バイン ディングモード immediate または deferred のいずれかを指定しなければなりません。バイン ディングモードの説明については、 『HP-UX リンカー & ライブラリー ユーザーズガイド』 を参照してください。 -Z +as mode NULL ポインターの逆参照トラップを無効にします。(-z オプションの逆)。 カー ネ ル が 使 用 す る ア ド レ ス ス ペー ス モ デ ル を 制 御 し ま す。 モ デ ル の 値 は、 default, share_magic, exec_magic, shmem_magic, mpas の い ず れ か で す。 現 在 の デ フォ ル ト は share_magic です。デフォルト以外のモデル値に設定するには、テキストセグメントとデータ セグメントが連続領域に配置されるように、 −N コンパイラオプションを付けて実行ファイル を作成する必要があります。 +b flag プログラムが必要とする共有ライブラリの位置を決めるために、プログラムを作成した時に格 納された、埋め込みパスのリストを使うかどうかを制御します。2つのフラグ値 enable、 disable は、それぞれ埋め込みパスリストの使用を可能または、不可にします。ただし、 ELF ファイルに対しては、 disable は使えず、警告メッセージが出力されます。 +s オプションを 参照してください。 +b オプションを使用すると、フィルターライブラリの埋め込みパスを使 用可能にできます。 +c flag ( フォーマット2のみ) 指定したセグメントのコードビットを、有効、または無効にします。 有効にしたことは、 chatr 出力の中のセグメントリストで、 c フラグによって示されます。 +cd flag ファイルのデータセグメントのコードビットを、有効、または無効にします。有効にしたこと は、 chatr 出力の中のセグメントリストで、 c フラグによって示されます。 +ci flag ファイルのテキストセグメントのコードビットを、有効、または無効にします。有効にしたこ とは、 chatr 出力の中のセグメントリストで、 c フラグによって示されます。 +dbg flag プログラムの実行機能を、有効、または無効にします。そして実行後に、デバッガを付属さ せ、依存している共有ライブラリの中にブレイクポイントを設定します。有効にすると、共有 ライブラリのテキストセグメントを、プライベートな書き込み可能領域にマッピングできるよ うになります。また、この機能を個別の共有ライブラリで使用すると、テキストセグメントは プライベートにマッピングされます。 _HP_DLDOPTS に、文字列 "-text_private" が含まれる 場合、共有ライブラリはすべてプライベートにマッピングされます。共有ライブラリのベース ネームをコロンで区切ったリストを、このオプションの後に等号 (=) 記号に続けて指定するこ Section 1-116 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 chatr_ia(1) chatr_ia(1) ともできます。たとえば次のように指定します。 _HP_DLDOPTS="-text_private=libdebug.sl:libdld.2" +dz flag (フォーマット2のみ) 動的に割り当てられたセグメント (スタックやヒープなど) に対し、レ イジースワップ割り当てを有効、または無効にします。 +es flag flag の値 enable と disable によって、スタック上のユーザーコードを実行可能にするかどうか を制御します。セキュリティ問題については、下記の 「スタック上の実行許可制限」の項を 参照してください。 +gst flag シンボルのインポート/エクスポートエントリーを参照するために、シンボルテーブルのハッ シュ機構を使用するかどうかを制御します。2つのフラグ値 enable、 disable は、シンボル テーブルのハッシュ機構を有効または、無効にします。デフォルトは disable です。 +gstsize size グローバルシンボル テーブルのハッシュ機構を用いて、サイズが size のハッシュ配列を要求 します。値は1∼ MAXINT までの値になります。デフォルト値は 1103 です。このオプショ ンは、 +gst を enable にして使用してください。このオプションは +gst オプションを有効に したファイルに対して有効です。 +id flag データセグメントとして使用される物理メモリーの種類を制御します。この設定は、ccNUMA (Cache Coherent Non-Uniform Memory Architecture) システムでのみ重要です。フラグの値は、 enable または disable のいずれかです。 enable の場合、データセグメントはインタリーブメモ リーを使用します。 disable ( デフォルト) の場合、データセグメントはセルのローカルメモ リーを使用します。この動作は、 fork() では継承されますが、 exec() では継承されません。 ccNUMA の詳細については、 pstat_getlocality(2) を参照してください。 +k flag カーネルのサポートによるブランチプレディクションの実行を要求します。 enable および disable の2つのフラグは、この要求をオンまたはオフにします。 +l library 検索パスのリストが与えられていれば (+s と +b を参照)、指定した共有ライブラリが実行時 のパス検索の対象にならないことを示します。 +m flag ( フォーマット2のみ) 指定したセグメントの変更ビットを、有効、または無効にします。有 効にしたことは、 chatr 出力の中のセグメントリストで、 m フラグによって示されます。 +md flag ファイルのデータセグメントの変更ビットを、有効、または無効にします。有効にしたこと は、 chatr 出力の中のセグメントリストで、 m フラグによって示されます。 +mergeseg flag 共有ライブラリセグメントのマージ機能を、有効、または無効にします。有効にした場合、プ ログラム起動時にロードされる共有ライブラリのすべてのデータセグメントは、単一ブロック にマージされます。各々の動的にロードされるライブラリのデータセグメントも、依存ライブ ラリのデータセグメントにマージされます。これらのセグメントをマージすることによって、 カーネルが大きなサイズのページテーブルエントリーを使うことができるようになり、実行時 の性能が改善されます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-117 chatr_ia(1) +mi flag chatr_ia(1) ファイルのテキストセグメントの変更ビットを、有効、または無効にします。有効にしたこと は、 chatr 出力の中のセグメントリストで、 m フラグによって示されます。 +o flag ワークディレクトリの絶対パスを計算するのに、 $ORIGIN の使用を制御するために、 DF_ORIGIN フラグを、有効、または無効にします。フラグを有効にした場合、ダイナミック ローダーは、親モジュール ( オブジェクトモジュール、共有ライブラリ、または実行可能形 式) を最初にロードするとき、現在のワークディレクトリの絶対パスを計算します。その後 ローダーは、このパスを $ORIGIN が現れるたびに使います。また、ローダーは、このパスを 依存ライブラリに $ORIGIN が現れるたびに使います。 $ORIGIN が存在しなければ、絶対パスの計算を行わないようにするために、 DF_ORIGIN フ ラ グ は 無 効 に す る 必 要 が あ り ま す。 $ORIGIN が 存 在 し な い 場 合、 デ フォ ル ト で は、 DF_ORIGIN フラグは無効です。 +p size +pd size (フォーマット2のみ) 指定したセグメントのページサイズを設定します。 データ用に使用する特定の仮想メモリーのページサイズを要求します。サイズは、 4K 、 16K、 64K、 256K、 1M、 4M、 16M、 64M、 256M、 1G、 4G、 D、および L がサポー トされています。サイズ D を指定すると、デフォルトのページサイズがを使用できます。サ イズ L を指定すると、最大のページサイズを使用できます。要求したサイズを使用できない 場合、実際に使用できるページサイズが異なることがあります。 +pi size テキスト (命令) に使用する特定の仮想メモリーのページサイズを要求します。詳細について は、 +pd オプションを参照してください。 +r flag このプログラムを実行するときに、静的分岐予測を要求します。フラグ enable または disable によって、この要求をオン/オフにします。有効にした場合、 chatr 出力の中のセグメントリ ストに、 r フラグが付けられて表示されます。 +s flag LD_LIBRARY_PATH および SHLIB_PATH 環境変数が指定したディレクトリ パスリストが、 プログラムによって必要な共有ライブラリの位置を指定するために使われるかどうかを制御し ます。2つのフラグ値 enable、 disable は、それぞれ環境変数の使用を可能、または不可にし ます。 +s と +b の両方を使用すると、コマンド行での指定順序はどちらのパスリストが最初 に検索されるかを指示します。 +b オプションを参照してください。 +sa address ( フォーマット2のみ) アドレスを使用して1つのセグメントに1組の属性変更を指定しま す。 +sall ( フォーマット2のみ) ファイル内のすべてのセグメントに対して1組の属性変更を行いま す。 +si index (フォーマット2のみ) セグメントインデックス番号で1つのセグメントに1組の属性変更を 指定します。 +z flag すべてのデータセグメント (フォーマット1を使用) または特定のセグメント (フォーマット 2を使用) でレイジースワップを有効、または無効にします。フラグ enable または disable に Section 1-118 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 chatr_ia(1) chatr_ia(1) よって、この要求をオン/オフにします。データセグメント以外には使用できません。 /opt/langtools/bin/caliper による動的計測を有効、または無効にします。有効にした場合には、 +I flag ダイナミックローダー (dld.so(5) を参照) が caliper を自動的に呼び出し、プログラム実行時の プロファイル情報を集めます。 スタック上の実行許可制限 システムに侵入するためによく (または一般に) 用いられる方法は、プログラムのスタック上のバッファーを故 意にオーバーフローさせる方法です。たとえば、非常に長く、注意して選んだコマンド行引き数を、それを予 期していない特権プログラムに渡します。悪意を持った非特権ユーザーは、この方法で特権プログラムをだま し、スーパーユーザーのシェルを開始させるか、同じような許可されていない動作を実行させることができま す。 この種の攻撃を受けるリスクを低くするには、プログラムのスタックページから実行パーミッションを削除す ることが、単純ですが効果的な方法です。これにより、性能を犠牲にせずにシステムのセキュリティが高ま り、大部分の正当なアプリケーションに悪い影響も与えません。この項で述べた変更の影響を受けるのは、プ ログラムのスタック上にある命令を実行しようとする (あるいはだまされて実行する) ごく一部のプログラムに すぎません。 この項で述べたスタックの保護機能がプログラムに対して有効になっており、そのプログラムがスタックから コードを実行しようとした場合、HP-UX のカーネルは、 SIGKILL シグナルでプログラムを終了させ、このマ ンページの項を参照するメッセージを表示し、エラーメッセージをシステムのメッセージログに記録します ( エラーメッセージの表示には、 dmesg を使用します)。カーネルが記録するメッセージは、次のようなもので す。 WARNING: UID # may have attempted a buffer overflow attack. PID # (program_name) has been terminated. See the ’+es enable’ option of chatr(1). このようなメッセージが表示された場合は、プログラムの所有者を調べて、このプログラムが正当にスタック からコードを実行しているかどうかを確認します。正当であれば、以下に述べる方法のどちらか、または両方 を用いてプログラムを再度機能させることができます。プログラムが正当にスタックからコードを実行してい ない場合は、悪意を持った行為ではないかと疑って、適切に対処してください。 HP-UX には、プログラムのスタックからの実行を許可する方法が2つあります。これらの方法を組み合わせる と、セキュリティと互換性に関して、サイトに独自のトレードオフを設定できます。 1番目の方法は、 chatr の +es オプションを使用する方法で、個別のプログラムに作用します。一般にこの方 法は、システムのデフォルト設定にかかわらず、特定のバイナリをスタックから実行しなければならないこと を指定するために使用します。これにより、システムのデフォルトでは制限し、正当なプログラムがスタック からコードを実行することを妨げないようにできます。このオプションは、(必要があれば) プログラムのプロ バイダが設定し、プログラムをインストールする際に手動で行わなければならない操作を最小限に抑えるよう にしてください。 もう1つの方法は、カーネルの調整パラメータ executable_stack を設定して、スタックを実行可能にするかど HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-119 chatr_ia(1) chatr_ia(1) うかに関するシステム全体のデフォルトを設定する方法です。 executable_stack パラメータを sam (sam(1M) を 参照) で1に設定すると、HP-UX カーネルに対して、プログラムスタック上でのプログラムの実行を許可する ように指示できます。旧リリースとの互換性の方がセキュリティより重要な場合は、この設定にしてくださ い。互換性よりセキュリティを重視したい場合は、 executable_stack パラメータを0 (ゼロ) に設定することを お勧めします。この設定では、システムのセキュリティが大幅に向上し、かつ正当なアプリケーションに悪影 響を与えません。 これらの設定を組み合わせることで、多くのアプリケーションに適した設定にすることができます。たとえ ば、 executable_stack を0に設定した後、1つか2つの重要なアプリケーションが、スタックからの実行を 行っているために、実行できなくなっていたとします。このようなプログラムの例には、シミュレータやイン タプリタのように、自身のコードを変更するものがあります。これらの特殊なアプリケーションを正常に動作 させつつ、システムのデフォルトを制限された状態にしてセキュリティを確保するには、 executable_stack を 0に設定して、スタックから実行する必要のある特定のバイナリに対して chatr +es enable を実行します。こ れらのバイナリは、実行したときにこのマンページを参照するエラーメッセージを出力するので、簡単に識別 できます。 executable_stack の設定可能な値は、次のとおりです。 executable_stack = 0 (デフォルト) 0 (デフォルト値) に設定すると、スタックは実行不能になります。セキュリティの観点から強く お勧めします。 executable_stack = 1 1に設定すると、すべてのプログラムスタックが実行可能になります。このパラメータでは、互 換性の観点からは最も安全ですが、セキュリティ上は最も危険です。 executable_stack = 2 2に設定すると、0の場合と同じ動作になりますが、スタックから実行しようとしたプロセスを 終了させずに、致命的でない警告を発するようになる点が異なります。この設定は、値を0にし ても正当なアプリケーションに影響を与えないことを確認する場合に便利です。これも、セキュ リティ上の保護は弱くなります。 下の表は、プログラムのスタックから実行する場合の、 chatr +es と executable_stack の可能な組み合わせとそ の結果をまとめたものです。スタックの実行許可を与えるかどうかを決定する場合、 chatr +es disable を実行 した結果は、カーネルの調整パラメータ executable_stack の設定に依存し、バイナリに対して chatr +es を実行 していない場合と同じになります。 Section 1-120 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 chatr_ia(1) chatr_ia(1) chatr +es executable_stack 動作 enable 1 プログラムは正常に動作する disable または 1 プログラムは正常に動作する enable 0 プログラムは正常に動作する disable または 0 プログラムは終了される enable 2 プログラムは正常に動作する disable または 2 chatr を実行していない chatr を実行していない chatr を実行していない プログラムは正常に動作し 警告が表示される 戻り値 chatr は、正常終了時にはゼロを返します。コマンド行の内容が構文的に誤っている場合、または指定された ファイルのひとつ以上を処理できない場合、chatr は属性を修正できなかったファイルについての情報を返し ます。ファイルを指定しなければ、 chatr は 10 進数の 255 を返します。 不正なオプション 不正なオプションを指定すると、 chatr は、最初の不正なオプションの後にある 非オプションワードの数を返 します。以下の例では、4を返します。 chatr +b enable +xyz enable +mno enable +pqr enable file 不正な引き数 正しいオプションに不正な引き数を指定した場合、ファイル名を指定していない以下の例では、 chatr は、0 を返します。 chatr +b <no argument> ファイル名を指定すると (ファイルが存在するかどうかにかかわらず)、 chatr は指定されたファイルの数を返 します。以下の例では、3を返します。 chatr <no argument> file1 file2 file3 不正なファイル コマンドが、指定されたファイルのいずれかで処理できなければ、何らかのオプションが指定されている場 合、指定されたファイルの総数を返します。オプションが指定されていない場合は、処理できなかったファイ ルの数を返します。 a2 に読み取り/書き込みパーミッションがない場合は、次の1番目の例では、4を返し、 2番目の例では、1を返します。 chatr +b enable a1 a2 a3 a4 chatr a1 a2 a3 a4 HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-121 chatr_ia(1) chatr_ia(1) 多言語化対応 環境変数 chatr の実行には、次の多言語化対応変数が影響を与えます。 LC_ALL、その他の LC_* 環境変数が指定されていない場合に、母国語、ローカルな習慣、お LANG よびコーディング文字セットのロケールカテゴリを決めます。 LANG が指定されていない場 合、または空の文字列に設定されている場合は、 LANG の代わりにデフォルトとして C (lang(5) を参照) が使用されます。 すべてのロケールカテゴリに対する値を決めます。これは、 LANG や、その他の LC_* 環境変 LC_ALL 数より優先して使用されます。 文字処理関数に対するロケールカテゴリを指定します。 LC_CTYPE LC_MESSAGES 標準エラーに書き込む診断メッセージのフォーマットと内容を決めるロケールを指定します。 LC_NUMERIC 数値フォーマットに対するロケールカテゴリを指定します。 LC_MESSAGES の処理に使用するメッセージカタログの位置を決めます。 NLSPATH 多言語化対応変数が不当な値に設定されていると、 chatr は、多言語化対応変数がすべて C に設定されている ものとして動作します。 environ(5) を参照してください。 これ以外に、次の環境変数が chatr に影響を与えます。 一時ファイルのディレクトリを指定します (tmpnam(3S) 参照)。 TMPDIR 例 a.out をデマンドロードに変更します。 chatr -q a.out 共有ライブラリを使用するプログラムファイルのバインディングモードを即時、非致命的に変更します。ま た、 SHLIB_PATH 環境変数の使用を可能にします。 chatr -B immediate -B nonfatal +s enable a.out 共有ライブラリ libfoo.sl が依存する /usr/lib/libc.sl の実行時のパス検索を禁止します。 chatr +l /lib/libc.sl libfoo.sl 直前の chatr の実行でセグメントインデックス番号が5と判明している場合、ページサイズを4キロバイトに 変更します。 chatr +si 5 +p 4K average64 特定のセグメントに変更ビットを設定するためには、最初に、そのセグメントのインデックス、またはアドレ ス番号を見つけます。 Section 1-122 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 chatr_ia(1) chatr_ia(1) chatr a.out a.out: 32-bit ELF executable shared library dynamic path search: LD_LIBRARY_PATH SHLIB_PATH embedded path enabled first enabled second enabled third /CLO/TAHOE_BE/usr/lib/hpux32 shared library list: libsin.so libc.so.1 shared library binding: deferred global hash table enabled global hash table size 100 shared library mapped private disabled shared vtable support disabled segments: index type address flags size 5 text 04000000 ----c 6 data 40000000 ---m- D (default) L (largest possible) executable from stack: D (default) kernel assisted branch prediction enabled lazy swap allocation for dynamic segments disabled フォーマット2の場合、テキストセグメントに対しては、以下のコマンドを使います。 chatr +si 5 +m enable a.out あるいは、 chatr +sa 04000000 +m enable a.out フォーマット1の場合、以下のコマンドを使います。 chatr +mi enable a.out 警告 chatr コマンドの今回のリリースでは、以下のオプションのサポートを中止しました。 • -n • -q • -M HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-123 chatr_ia(1) chatr_ia(1) • -N • +getbuckets size • +plabel_cache flag • +q3p flag • +q4p flag 著者 chatr は HP で開発されました。 参照 システムツール ld(1) リンクエディターを起動します。 dld.so(5) ダイナミックローダー その他 a.out(4) アセンブラ、コンパイラ、リンカーの出力 magic(4) HP-UX 用のマジックナンバー sam(1M) システム管理マネージャ executable_stack(5) プログラムスタックがデフォルトで実行可能かどうかを制御 テキストとチュートリアル 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプションを参照) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 Section 1-124 Hewlett-Packard Company − 10 − HP-UX 11i Version 3: February 2007 chatr_pa(1) chatr_pa(1) 名称 chatr_pa: chatr − PA-RISC システム用プログラムの内部属性の変更 構文 PA-RISC 32 ビット SOM chatr chatr [-nqsMN [z|Z] ] [-l library] [-B mode] [+b flag] [+dbg flag] [+es flag] [+mergeseg flag] [+gst flag] [+gstbuckets size] [+gstsize size] [+k flag] [+l library] [+pd size] [+pi size] [+plabel_cache flag] [+q3p flag] [+q4p flag] [+r flag] [+s flag] [+z flag] file ... PA-RISC 64 ビット ELF chatr PA-RISC 64 ビットの chatr を実行するには2つの構文形式があります。 フォーマット1 : 第1の構文形式は、SOM chatr と互換性があり、旧製品との互換性およびシングル テキスト セグメントとシングル データセグメントのみの通常のファイルを簡単に操作するのに使用します。 chatr [-nqszZ] [-l library] [-B mode] [+b flag] [+cd flag] [+ci flag] [+es flag] [+gst flag] [+gstsize size] [+k flag] [+l library] [+md flag] [+mi flag] [+pd size] [+pi size] [+s flag] [+z flag] file ... フォーマット2: 第2の構文形式には、変更するセグメントを明示的に指定する機能があります。 chatr [-s] [-B mode] [+c flag] [+dz flag] [+k flag] [+m flag] [+p size] [+r flag] [+s flag] [+si index | +sa address | +sall ] [+z flag] file ... 注釈 このマンページは PA-RISC システム用の chatr について記述しています。 Integrity システム用の chatr につい ては chatr_ia(1) を参照してください。 説明 chatr を使用すると、32 ビットモード SOM および 64 ビットモード ELF ファイルの、プログラムの内部属性 を変更できます。 -s が指定されている場合を除き、 chatr は、終了時に標準出力へファイルの新旧の値をプリントします。 +pd および +pi オプションでは、仮想メモリーのページサイズについてのヒントのみを指定します。実際の ページサイズは異なる可能性があります。ある状況下においては、特定のアプリケーションのメモリー要件に よっては、ページサイズのヒント L で、より高いパフォーマンスが得られます。 アプリケーションによっては、静的分岐予測によって高パフォーマンスが得られるものもあり、そうでない場 合もあります。 +r オプションでは、この機能を使用したほうがよいかそうでないかのヒントを指定します。 +gst および関連のオプションを使用すると、エクスポートされたシンボルの検索を高速化するグローバルシン ボルテーブルの使用により性能が向上します。詳細については、 dld.sl(5) および 『HP-UX リンカー & ライブ ラリー オンライン ユーザーズガイド』を参照してください。 PA-RISC 32 ビット SOM および PA-RISC 64 ビット ELF (フォーマット1) の chatr に共通のオプショ ン chatr のデフォルトでは、それぞれの file のマジックナンバーおよびファイル属性を標準出力にプリントしま HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-125 chatr_pa(1) chatr_pa(1) す。 -l library 検索パスのリストが与えられていれば (+s と +b を参照) 指定した共有ライブラリが実行時の パス検索の対象になることを示します。 -n ファイルをデマンドロード (DEMAND_MAGIC|) からシェアード (SHARE_MAGIC|) に変更し ます (PA-RISC 64 ビット フォーマット1では無視される)。 -q ファイルをシェアード (SHARE_MAGIC|) からデマンドロード (DEMAND_MAGIC|) に変更し ます (PA-RISC 64 ビット フォーマット1では無視される)。 -s 表示を行うことなくその操作を実行します。 (PA-RISC 64 ビット フォーマット2コマンドで 利用可能です。) -B mode 共有ライブラリを使ってプログラムの実行時バインディング動作モードを選択します。主要な バインディングモード immediate または deferred のいずれかを指定しなければなりません。 単一または複数のバインディング修飾子、 nonfatal、 verbose、または restricted、それぞれ別 のオプションを使って指定できます。バインディングモードの説明については、 『HP-UX リ ンカー & ライブラリー ユーザーズガイド』マニュアルを参照してください。 (PA-RISC 64 ビット フォーマット2コマンドで利用可能です。) +b flag プログラムが必要とする共有ライブラリの位置を決めるために、プログラムを作成した時に格 納された、埋め込みパスのリストを使うかどうかを制御します。2つのフラグ値 enable、 disable は、それぞれ埋め込みパスリストの使用を可能または、不可にします。ただし、 ELF (PA-RISC 64-bit) ファイルに対しては、 disable を使用することはできず、警告メッセージが出 力されます。 +s オプションを参照してください。 +b オプションを使用すると、フィルター ライブラリの埋め込みパスを使用可能にできます。 +dbg flag 共有ライブラリのテキストセグメントのマッピングを制御します。フラグ値 enable と disable は、要求のオン、オフを切り替えます。オンの場合、共有ライブラリのテキストセグメント を、プライベートな書き込み可能領域にマッピングできるようになります。また、この機能を 個別の共有ライブラリで使用すると、テキストセグメントはプライベートにマッピングされま す。 _HP_DLDOPTS に、文字列 "-text_private" が含まれる場合、共有ライブラリはすべてプ ライベートにマッピングされます。共有ライブラリのベースネームをコロンで区切ったリスト を、このオプションの後に等号 (=) 記号に続けて指定することもできます。たとえば次のよう に指定します。 _HP_DLDOPTS="-text_private=libdebug.sl:libdld.2" +mergeseg enable と一緒に使用すると、共有ライブラリのテキストセグメントをマージする ことができます。 +es flag flag の値 enable と disable によって、スタック上のユーザーコードを実行可能にするかどうか を制御します。セキュリティ問題については、下記の 「スタック上の実行許可制限」の項を 参照してください。 Section 1-126 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 chatr_pa(1) +gst flag chatr_pa(1) シンボルのインポート/エクスポート エントリーを参照するために、シンボルテーブルのハッ シュ機構を使用するかどうかを制御します。2つのフラグ値 enable、 disable は、シンボル テーブルのハッシュ機構を有効または、無効にします。デフォルトは disable です。 +gstsize size グローバルシンボルテーブルのハッシュ機構を用いて、サイズが size のハッシュ配列を要求 します。値は1∼ MAXINT までの値になります。デフォルト値は 1103 です。このオプショ ンは、 +gst を enable にして使用してください。 +k flag カーネルのサポートによるブランチプレディクションの実行を要求します。 enable および disable の2つのフラグは、この要求をオンまたはオフにします。 (PA-RISC 64 ビット フォー マット2コマンドで利用可能です。) +l library 検索パスのリストが与えられていれば (+s と +b を参照)、指定した共有ライブラリが実行時 のパス検索の対象にならないことを示します。 +mergeseg flag 共有ライブラリのセグメントのマージ機能を制御します。フラグ値 enable と disable は、この 要求のオン、オフを切り替えます。 『HP-UX リンカー & ライブラリー ユーザーズガイド』 の共有ライブラリのセグメントのマージの説明を参照してください。このフラグがオンの場 合、プログラムの起動時にロードされる共有ライブラリのすべてのデータセグメントがマージ されます。これにより、カーネルがより大きなサイズのページテーブル エントリーを使用で きることになり、実行時の性能が向上します。 +pd size データ用に使用する特定の仮想メモリーのページサイズを要求します。サイズは、 4K 、 16K、 64K、 256K、 1M、 4M、 16M、 64M、 256M、および L がサポートされています。 サイズ L を指定すると、最大のページサイズを使用できます。要求したサイズを使用できな い場合、実際に使用できるページサイズが異なることがあります。 +pi size 命令に使用する特定の仮想メモリーのページサイズを要求します。詳細については、 +pd オ プションを参照してください。 +r flag このプログラムを実行するときに、静的分岐予測を要求します。フラグ enable または disable によって、この要求をオン/オフにします。 (PA-RISC 64 ビット フォーマット2コマンドで利 用可能です。) +s flag SHLIB_PATH 環境変数が指定したディレクトリパスリストが、プログラムによって必要な共 有ライブラリの位置を指定するために使われるかどうかを制御します。2つのフラグ値 enable、 disable は、それぞれ環境変数の使用を可能、または不可にします。 +s と +b の両方 を使用すると、コマンド行での相対的な順序はどちらのパスリストが最初に検索されるかを指 示します。 +b オプションを参照してください。 (PA-RISC 64 ビット フォーマット2コマンド で利用可能です。) +z すべてのデータセグメント (PA-RISC 32 ビット chatr または PA-RISC 64 ビット chatr フォー マット1を使用) または特定のセグメント (PA-RISC 64 ビット ELF chatr フォーマット2を使 用) でレイジースワップを有効にします。データセグメント以外には使用できません。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-127 chatr_pa(1) chatr_pa(1) NULL ポインターの逆参照トラップを有効にします。 NULL ポインターの実行時、逆参照は -z SIGSEGV シグナルを生成します (-Z オプションの逆)。 NULL ポインターの逆参照トラップを無効にします。(-z オプションの逆)。 -Z PA-RISC 32 ビット SOM の chatr 専用のオプション ファイルを EXEC_MAGIC から SHMEM_MAGIC に変更します。 (このオプションは、真の -M 64 ビットカーネルで 64 ビットアドレスが使用可能になるまでの回避策です。下記の 「chatr とマジックナンバー」および 「SHMEM_MAGIC の使用」の項を参照してください。) ファイルを SHMEM_MAGIC から EXEC_MAGIC に変更します。 (このオプションは、真の -N 64 ビットカーネルで 64 ビットアドレスが使用可能になるまでの回避策です。下記の 「chatr とマジックナンバー」の項を参照してください。) +gstbuckets size グローバルシンボルテーブルのハッシュ機構を用いて、エントリーごとに特定数のバケットを 要求します。値は 1 ∼ MAXINT までの範囲で指定できます。デフォルト値は3です。このオ プションは、 +gst を enable にして使用してください。 +plabel_cache flag plabel キャッシング機構の使用を制御します。フラグ enable、 disable は、この要求をそれぞ れオン/オフにします。デフォルトは disable です。このオプションは、 +gst を enable にして 使用してください。 このオプションは、C++ で効果があります。 C++ アプリケーションでは、ダイナミックロー ダーが PLABEL 情報 (インポートスタブ) に繰り返しアクセスする必要があります。このアク セスを高速にするために、ダイナミックローダーはグローバルシンボルテーブル構造体に PLABEL エ ン ト リー も 含 め る よ う に し ま す。 こ の 動 作 は、 dl_header 構 造 体 の PLABEL_CACHE フラグを設定すると有効になります (ld +plabel_cache enable a.out または chatr +plabel_cache enable a.out で有効になります)。 +q3p flag 32 ビットプロセスが第3象限をデータスペースとして使用する方法を指示するフラグビット の設定を制御します。 enable フラグは、32 ビットプロセスが第3象限をプライベートデータ スペースとして使用す るようにフラグビットを設定します。このビットを設定すると、32 ビットプロセスのプライ ベートデータ スペースは 1.9 GB から 2.85 GB に増えます。 disable フラグはこのビットの設定を解除し、第3象限をデフォルトの状態 (共有メモリーとし て使用される) に戻します。 このフラグ機構は、第1象限および第2象限の使い方の設定方法とは異なります。これらの値 は、実行可能ファイルのマジックナンバーを使用して設定します。 (-M オプションおよび -N オプションを参照。) Section 1-128 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 chatr_pa(1) +q4p flag chatr_pa(1) 32 ビットプロセスが第3象限および第4象限をデータスペースとして使用する方法を指示す るフラグビットの設定を制御します。 enable フラグは、32 ビットプロセスが第4象限をプライベートデータ スペースとして使用す るようにフラグビットを設定します。 +q4p フラグビットを設定すると、32 ビットプロセス 用のプライベートデータ スペースは 1.9 GB から 3.8 GB に増えます。第4象限をプライベー トデータ スペースとして設定すると、第3象限も自動的にプライベートデータ スペースとし て使用されるように設定され、 +q3p 値は無視されます。 disable フラグはこのビットの設定を解除し、第4象限をデフォルトの状態 (共有メモリーとし て使用される) に戻します。 +q4p が disable の場合は、 +q3p フラグの値によって、第3象限 がプライベートデータ スペースと共有メモリーのどちらとして使用されるかが決まります。 このフラグ機構は、第1象限および第2象限の使い方の設定方法とは異なります。これらの値 は、実行可能ファイルのマジックナンバーを使用して設定します。 (-M オプションおよび -N オプションを参照。) PA-RISC 64 ビット ELF の chatr のオプション PA-RISC 64 ビット ELF の chatr は SOM の chatr に似ていますが、新しいオプションをサポートしています ( 他のオプションは廃止されました)。 新しいオプション: PA-RISC 64 ビット ELF の chatr (フォーマット1) のオプション +cd ファイルのデータセグメントに対してコードビットを設定します。 +ci ファイルのテキストセグメントに対してコードビットを設定します。 +md ファイルのデータセグメントに対して変更ビットを設定します。 +mi ファイルのテキストセグメントに対して変更ビットを設定します。 PA-RISC 64 ビット ELF の chatr (フォーマット2) のオプション 共通のオプション、 -s、 -B mode、 +k flag、 +r flag、 +s flag、 +z flag と共に、次のオプションを使用できま す。 +c 指定したセグメントに対してコードビットを設定します。 +dz 動的に割り当てられたセグメント (スタックやヒープなど) に対し、レイジースワップ割り当 てを有効、または無効にします。 +m 指定したセグメントに対して変更ビットを設定します。 +p 指定したセグメントに対してページサイズを設定します。 +sa アドレスを使用して1組の属性変更のセグメントを指定します。 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-129 chatr_pa(1) chatr_pa(1) +sall ファイル内のすべてのセグメントに対して1組の属性変更を行います。 +si セグメントインデックス番号で1組の属性変更のセグメントを指定します。 chatr とマジックナンバー シェアードという用語はマジックナンバー SHARE_MAGIC に適用され、 デマンドロードという用語はマジッ クナンバー DEMAND_MAGIC に適用されます。詳細については、 magic(4) および 『HP-UX リンカー & ライ ブラリー オンライン ユーザーズガイド』を参照してください。 chatr は、出力で、実行可能プログラムを次のようなタイプに分類します。 SHARE_MAGIC: シェアードの実行可能プログラム DEMAND_MAGIC: デマンドロードの実行可能プログラム EXEC_MAGIC: 通常の実行可能プログラム SHMEM_MAGIC: 通常の SHMEM_MAGIC 実行可能プログラム リンカーは、デフォルトで SHARE_MAGIC 実行可能プログラムを生成します。 SHMEM_MAGIC の使用 SHMEM_MAGIC は、真の 64 ビットカーネルで 64 ビットアドレスが使用可能になるまでの回避策です。 SHMEM_MAGIC は、将来 HP が 64 ビットアーキテクチャ (PA-RISC 2.0 以降) を実現したときには、サポー トされなくなります。これらのアーキテクチャで 1.75 GB より大きな共有メモリーを必要とするプログラムを 実行する場合は、アーキテクチャに合わせて (64 ビットの実行可能プログラムとして) プログラムをコンパイ ルし直す必要があります。 64 ビットアーキテクチャ (PA-RISC 2.0 を含む) のすべての HP の実装で 64 ビットの実行可能プログラムとし てコンパイルし直したプログラムは、 SHMEM_MAGIC としてマークすることはできません。また、その時点 では 1.75 GB より大きな共有メモリーにアクセスできるようになっているので、マークする必要はありませ ん。 その他のタイプの実行可能プログラムで使用可能な 1 GB の共有メモリーを追加する場合、System V で使用可 能な形態でのみ追加できます。それ以外の形態 (メモリーマップファイルなど) で共有メモリーを追加すること はできません。 スタック上の実行許可制限 システムに侵入するためによく (または一般に) 用いられる方法は、プログラムのスタック上のバッファーを故 意にオーバーフローさせる方法です。たとえば、非常に長く、注意して選んだコマンド行引き数を、それを予 期していない特権プログラムに渡します。悪意を持った非特権ユーザーは、この方法で特権プログラムをだま し、スーパーユーザーのシェルを開始させるか、同じような許可されていない動作を実行させることができま す。 この種の攻撃を受けるリスクを低くするには、プログラムのスタックページから実行パーミッションを削除す ることが、単純ですが効果的な方法です。これにより、性能を犠牲にせずにシステムのセキュリティが高ま Section 1-130 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 chatr_pa(1) chatr_pa(1) り、大部分の正当なアプリケーションに悪い影響も与えません。この項で述べた変更の影響を受けるのは、プ ログラムのスタック上にある命令を実行しようとする (あるいはだまされて実行する) ごく一部のプログラムに すぎません。 この項で述べたスタックの保護機能がプログラムに対して有効になっており、そのプログラムがスタックから コードを実行しようとした場合、HP-UX のカーネルは、 SIGKILL シグナルでプログラムを終了させ、このマ ンページの項を参照するメッセージを表示し、エラーメッセージをシステムメッセージ ログに記録します (エ ラーメッセージの表示には、 dmesg を使用します)。カーネルが記録するメッセージは、次のようなもので す。 WARNING: UID # may have attempted a buffer overflow attack. PID # (program_name) has been terminated. See the ’+es enable’ option of chatr(1). このようなメッセージが表示された場合は、プログラムの所有者を調べて、このプログラムが正当にスタック からコードを実行しているかどうかを確認します。正当であれば、以下に述べる方法のどちらか、または両方 を用いてプログラムを再度機能させることができます。プログラムが正当にスタックからコードを実行してい ない場合は、悪意を持った行為ではないかと疑って、適切に対処してください。 HP-UX には、プログラムのスタックからの実行を許可する方法が2つあります。これらの方法を組み合わせる と、セキュリティと互換性に関して、サイトに独自のトレードオフを設定できます。 1番目の方法は、 chatr の +es オプションを使用する方法で、個別のプログラムに作用します。一般にこの方 法は、システムのデフォルト設定にかかわらず、特定のバイナリをスタックから実行しなければならないこと を指定するために使用します。これにより、システムのデフォルトでは制限し、正当なプログラムがスタック からコードを実行することを妨げないようにできます。このオプションは、(必要があれば) プログラムのプロ バイダが設定し、プログラムをインストールする際に手動で行わなければならない操作を最小限に抑えるよう にしてください。 もう1つの方法は、カーネルの調整パラメータ executable_stack を設定して、スタックを実行可能にするかど うかに関するシステム全体のデフォルトを設定する方法です。 executable_stack パラメータを sam (sam(1M) を 参照) で1に設定すると、HP-UX カーネルに対して、保護されたプログラムスタックを実行しないように指示 します。旧リリースとの互換性の方がセキュリティより重要な場合は、この設定にしてください。互換性より セキュリティを重視したい場合は、パラメータを 0(ゼロ) に設定することをお勧めします。この設定では、シ ステムのセキュリティが大幅に向上し、かつ正当なアプリケーションに悪影響を与えません。 これらの設定を組み合わせることで、多くのアプリケーションに適した設定にすることができます。たとえ ば、 executable_stack を0に設定した後、1つか2つの重要なアプリケーションが、スタックからの実行を 行っているために、実行できなくなっていたとします。このようなプログラムの例には、シミュレータやイン タプリタのように、自身のコードを変更するものがあります。これらの特殊なアプリケーションを正常に動作 させつつ、システムのデフォルトを制限された状態にしてセキュリティを確保するには、 executable_stack を 0に設定して、スタックから実行する必要のある特定のバイナリに対して chatr +es enable を実行します。こ れらのバイナリは、実行したときにこのマンページを参照するエラーメッセージを出力するので、簡単に識別 できます。 HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-131 chatr_pa(1) chatr_pa(1) executable_stack の設定可能な値は、次のとおりです。 executable_stack = 0 (デフォルト) 0 (デフォルト値) に設定すると、スタックは実行不能になります。セキュリティの観点からは強 くお勧めします。 executable_stack = 1 1に設定すると、すべてのプログラムスタックが実行可能になります。このパラメータでは、互 換性の観点からは最も安全ですが、セキュリティ上は最も危険です。 executable_stack = 2 2に設定すると、0の場合と同じ動作になりますが、スタックから実行しようとしたプロセスを 終了させずに、致命的でない警告を発するようになる点が異なります。この設定は、値を0にし ても正当なアプリケーションに影響を与えないことを確認する場合に便利です。これも、セキュ リティ上の保護は弱くなります。 下の表は、プログラムのスタックから実行する場合の、 chatr +es と executable_stack の可能な組み合わせとそ の結果をまとめたものです。スタックの実行許可を与えるかどうかを決定する場合、 chatr +es disable を実行 した結果は、カーネルの調整パラメータ executable_stack の設定に依存し、バイナリに対して chatr +es を実行 していない場合と同じになります。 chatr +es executable_stack 動作 enable 1 プログラムは正常に動作する disable または chatr を 1 プログラムは正常に動作する enable 0 プログラムは正常に動作する disable または chatr を 0 プログラムは抹消 (kill) 実行していない 実行していない される enable 2 プログラムは正常に動作する disable または chatr を 2 プログラムは正常に動作し 実行していない 警告が表示される 戻り値 chatr は、正常終了時にはゼロを返します。コマンド行の内容が構文的に誤っている場合、または指定された ファイルのひとつ以上を処理できない場合、chatr は属性を修正できなかったファイルについての情報を返し ます。ファイルを指定しなければ、 chatr は 10 進数の 255 を返します。 不正なオプション PA-RISC 32 ビットの chatr では、不正なオプションを指定すると、 chatr はコマンド行のワード数を返しま す。例を次に示します。 Section 1-132 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 chatr_pa(1) chatr_pa(1) chatr +b enable +xyz enable は5を返します (不正なオプション +xyz があるため)。 chatr +b enable +xyz enable +mno file1 file2 は、8を返します。 PA-RISC 64 ビットの chatr では、不正なオプションを指定すると、 chatr は、最初の不正なオプションの後に ある 非オプションワードの数を返します。 chatr +b enable +xyz enable +mno enable +pqr enable file は4を返します。 不正な引き数 正しいオプションに不正な引き数を指定した場合、ファイル名を指定していなければ、PA-RISC 32 ビット お よび PA-RISC 64 ビットのどちらの chatr も、0を返します。 chatr +b <no argument> は、0を返します。 PA-RISC 32 ビットの chatr では、ファイル名を指定すると ( ファイルが存在するかどうかにかかわらず)、 chatr はコマンド行内のワード数を返します。 chatr +b <no argument> file は、4を返します。 PA-RISC 64 ビット の chatr では、ファイル名を指定すると ( ファイルが存在するかどうかにかかわらず)、 chatr は指定されたファイルの数を返します。 chatr +b <no argument> file1 file2 file3 は、3を返します。 不正なファイル PA-RISC 32 ビットおよび PA-RISC 64 ビットのどちらの chatr も、指定されたファイルのいずれかで処理でき なければ、オプションが指定されている場合、指定されたファイルの総数を返します。オプションが指定され ていない場合は、処理できなかったファイルの数を返します。 chatr +b enable a1 a2 a3 a4 (a2 には読み取り/書き込みパーミッションがない) は、4を返します。 chatr a1 a2 a3 a4 は、1を返します。 多言語化対応 環境変数 chatr の実行には、次の多言語化対応変数が影響を与えます。 LANG LC_ALL、その他の LC_* 環境変数が指定されていない場合に、母国語、ローカルな習慣、お よびコーディング文字セットのロケールカテゴリを決めます。 LANG が指定されていない場 合、または空の文字列に設定されている場合は、 LANG の代わりにデフォルトとして C (lang(5) を参照) が使用されます。 LC_ALL すべてのロケールカテゴリに対する値を決めます。これは、 LANG や、その他の LC_* 環境変 数より優先して使用されます。 LC_CTYPE 文字処理関数に対するロケールカテゴリを指定します。 HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-133 chatr_pa(1) chatr_pa(1) LC_MESSAGES 標準エラーに書き込む診断メッセージのフォーマットと内容を決めるロケールを指定します。 LC_NUMERIC 数値フォーマットに対するロケールカテゴリを指定します。 LC_MESSAGES の処理に使用するメッセージカタログの位置を決めます。 NLSPATH 多言語化対応変数が不当な値に設定されていると、 chatr は、多言語化対応変数がすべて C に設定されている ものとして動作します。 environ(5) を参照してください。 これ以外に、次の環境変数が chatr に影響を与えます。 一時ファイルのディレクトリを指定します (tmpnam(3S) 参照)。 TMPDIR 例 a.out をデマンドロードに変更します。 chatr -q a.out 共有ライブラリを使用するプログラムファイルのバインディングモードを即時、非致命的に変更します。ま た、 SHLIB_PATH 環境変数の使用を可能にします。 chatr -B immediate -B nonfatal +s enable a.out 共有ライブラリ libfoo.sl が依存する /usr/lib/libc.sl の実行時のパス検索を禁止します。 chatr +l /lib/libc.sl libfoo.sl 直前の chatr の実行でセグメントインデックス番号5が指定されている場合、ページサイズを4キロバイトに 変更します。 chatr +si 5 +p 4K average64 著者 chatr は HP で開発されました。 参照 システムツール リンクエディターを起動します。 ld(1) その他 a.out(4) アセンブラ、コンパイラ、リンカーの出力 magic(4) HP-UX 用のマジックナンバー sam(1M) システム管理マネージャ executable_stack(5) プログラムスタックがデフォルトで実行可能かどうかを制御 Section 1-134 Hewlett-Packard Company − 10 − HP-UX 11i Version 3: February 2007 chatr_pa(1) chatr_pa(1) テキストとチュートリアル 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプションを参照) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 HP-UX 11i Version 3: February 2007 − 11 − Hewlett-Packard Company Section 1-135 checknr(1) checknr(1) 名称 checknr − nroff/troffファイルのチェック 構文 checknr [-s] [-f] [-a.x1.y1.x2.y2 ... .xn.yn ] [-c.x1.x2.x3 ...c .xn ] [ file ... ] 説明 checknr は、 nroff または troff 入力ファイルのリストから、オープンおよびクローズデリミタの不一致や、未 定義のコマンドなどの特定の種類のエラーを検索します。ファイルが指定されない場合、 checknr は標準入力 を検索します。 checknr が検索する項目は以下のとおりです。 • \fx ... \fP を使用したフォント変更 • \sx ... \s0 を使用したサイズ変更 • .TS, .TE マクロなどの オープンとクローズ形式のマクロ。このペアはそれぞれ対応しなければなり ません。 checknr は、 ms および me マクロパッケージについての情報を持っています。 オプション checknr は以下のオプションを認識します。 リストにある追加マクロペアを定義します。 -a の後につづく6文字のグループは、それぞれマ -a クロのペアを定義します。それぞれの6文字は、ピリオド、第一マクロ名、別のピリオド、およ び第二マクロ名で構成されます。例えば、以下のペア .BS および .ES, .XS および .XE の定義 は、以下のようになります。 -a.BS.ES.XS.XE オプションとその引き数の間にスペースは入りません。 -c checknr が未定義であると解釈してしまうコマンドを、あらかじめ定義します。 -f \fx フォント変更を無視します。 -s \sx サイズ変更を無視します。 多言語化対応 サポートされる国際的コードセット シングルバイト文字コードセットがサポートされています。 診断 checknr は、一致しないデリミタ、認識できないコマンド、および不良なコマンド構文について障害を検出し 表示します。 例 ファイル sorting から対応しないオープンおよびクローズのデリミタ、未定義のコマンドなどのエラーを チェックします。ただしフォント変更によって発生するエラーは無視します。 Section 1-136 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 checknr(1) checknr(1) checknr -f sorting 警告 checknr は、 checknr の使用が必要なドキュメント上で、 lint と同様に使えるよう設計されています。 \f... お よび \s... コマンドを書く場合には、 \fx は \fP で終了し、 \sx は \s0 で終了するという形式であるとみなしま す。次のフォントまたはポイント数を、 \fP または \s0 を使用しないで直接コーディングするようなテクニッ クに対しては、テキストファイルのフォーマットが適切であっても、 checknr が障害を検出します。 checknr で ファイル検査される場合、 \fP および \s0 の区切り規約を使用してください。 -a は、1文字マクロ名の定義には使用できません。 checknr には、条件文などの特定の正当なコンストラクトで認識でないものがあります。 著者 checknr は、カリフォルニア大学バークレイ校で開発されました。 参照 checkeq(1), lint(1), nroff(1) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-137 chfn(1) chfn(1) 名称 chfn − finger コマンドで使用されるユーザー情報の変更 構文 chfn [login-name] chfn −r files [login-name] chfn −r nis [login-name] chfn −r dce [login-name] 説明 chfn コマンドは、現在ログインしているユーザー、または login-name で指定されたユーザーに対してリポジト リに格納されたユーザー情報を変更します ( passwd(1) を参照)。 情報は、パスワードファイル エントリーの予約フィールド (第5フィールド) で 4 つの各サブフィールド (それ ぞれカンマで区切ったフィールド) として編成されます。この情報は、ユーザーの本名、住所、勤務先および 自宅の電話番号で構成され、 finger などのプログラムによって使用されます ( finger(1) を参照)。 chfn は、ユーザーに各フィールドを入力するように求めます。プロンプトに含まれているのはデフォルト値 で、これは大かっこで囲まれています。デフォルト値を採用する場合は、単にReturnキーを押します。ブラン クフィールドを入力するには、 none とタイプします。 DCE リポジトリ (-r dce) は、Integrated Login が設定されている場合にのみ利用可能です (auth.adm(1M) を参 照)。 Integrated Loginが設定されている場合、他の留意事項が適用されます。適切なDCE特権のユーザーだけ がユーザーの finger (gecos) 情報を変更できます。スーパーユーザー特権には依存しません。 リポジトリが指定されない場合、すなわち chfn [login-name] の場合、 finger 情報は /etc/passwd ファイル内の み変更されます。 chfn を実行した後、 finger を実行し、情報が正しく処理されたことを確認してください。 注記 chfn コマンドは、 passwd コマンドへのハードリンクです。 chfn を実行すると、実際には、 passwd コマンド がコマンド行に指定されたリポジトリ内のユーザーのgecos情報を変更する適切な引き数で実行されます。リポ ジトリが指定されない場合には、 /etc/passwd ファイル内のgecos情報が変更されます。 引き数 login-name ユーザーのログイン名です。 オプション 次のオプションがあります。 −r 操作を適用するリポジトリを指定します。サポートされているリポジトリには、 files、 nis、 および dce があります。 Section 1-138 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 chfn(1) chfn(1) サブフィールド値 Name 最大プリント文字 1022 finger コマンド、その他のユーティリティでは、このサブフィールドにある & をログイン名に置き換えて、ログイン名の最初の文字を大文字に変換すること により、拡張します。 (chfn では & 入力は変更されません)。 Location 最大プリント文字 1022 Office Phone 最大プリント文字 25 finger は、値がすべて数値の場合、適当な位置にハイフンを挿入します。 Home Phone 最大プリント文字 25 finger は、値がすべて数値の場合、適当な位置にハイフンを挿入します。 セキュリティ制約 オプションの login-name 引き数を使用して、別のユーザーの情報を変更するには、該当する特権が必要になり ます。 例 次に実行例を示します。ユーザー入力は、通常のタイプとして示します。 Name [Tracy Simmons]: Location (Ex: 47U-P5) []: 42L-P1 Office Phone (Ex: 1632) [77777]: 71863 Home Phone (Ex: 9875432) [4085551546]: none 警告 オフィスのコード化および拡張情報はインスタレーションに依存します。 旧バージョンの名残で、ユーザーの名前などは /etc/passwd ファイルにストアされます。これは、情報を格納す るには不適当な場所です。 2人以上のユーザーが同時に /etc/passwd ファイルに書き込もうとする可能性があるため、同期法が開発されま した。 chfn は、 /etc/passwd ファイルがビジーであるというメッセージをプリントします。この場合、 chfn は しばらくの間 sleep し、その後再び /etc/passwd ファイルへの書込みを試みます。 著者 chfn はカリフォルニア大学バークレー校で開発されました。 ファイル /etc/passwd /etc/ptmp HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-139 chfn(1) chfn(1) 参照 chsh(1), finger(1), passwd(1), passwd(4) Section 1-140 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 chmod(1) chmod(1) 名称 chmod − ファイルモード アクセスパーミッションの変更 構文 /usr/bin/chmod [−A] [−R] symbolic_mode_list file ... 旧形式 /usr/bin/chmod [−A] [−R] numeric_mode file ... 説明 chmod は、 symbolic_mode_list または numeric_mode の値に従って、 files のパーミッションを変更します。 ls −l コマンド ( ls(1) 参照) を使用して、ファイルに対する現在のパーミッションを表示することができます。 ファイルのオーナーと適切な権限を持ったユーザーだけが、ファイルのモードを変更することができます。 適切な権限を持ったユーザーだけが、通常のファイルのスティッキービットをセットする(またはすでにセッ トされていれば戻す)ことができます。 もしスティッキービットがディレクトリにセットされた場合、そのディレクトリにあるファイルは、ファイル のオーナー、ディレクトリのオーナー、およびスーパーユーザーのみが、(ディレクトリのモードが他の操作 を許していても)ファイル名の変更や削除を行うことができます set-group-ID ビットをセットするには、ファイルのグループがユーザーのグループIDと一致している必要があ ります。 chmod をシンボリックリンクに使用した場合、参照先のファイルのモードが変更されます。 Options chmod コマンドは次のオプションを認識します。: −A (HFS ファイルシステムのみ)オプションのアクセスコントロールリスト (ACL) のエントリー情 報を維持します。デフォルトでは、 IEEE Standard POSIX 1003.1-1988 に準拠しており、オプ ションの HFS ACL エントリーは削除されます。 JFS ACL では、このオプションは意味を持ち ません。なぜなら、オプションの JFS ACL エントリーは常に維持されるからです。アクセス コントロールリストについての情報は acl(5) および aclv(5) を参照してください。 −R 再帰的にファイルモードビットの変更を行います。各 file オペランドがディレクトリを指定し ている場合、 chmod は、そのディレクトリのファイルモードビットを変更し、さらに、その ディレクトリ内のすべてのサブディレクトリとファイルに対しても変更を行い、さらにその下 にも階層的に実行されます。 オペランド chmod コマンドは、次のオペランドを認識します。: file パーミッションを変更する対象のファイル HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-141 chmod(1) chmod(1) numeric-mode 指定したファイルのパーミッションを数字で指定。 Numeric Mode の章を参照。 シンボリック モードリスト(symbolic-mode-list) 指定ファイルのパーミッションをオペレーションのリストで指定する。 シンボリック モード リストの章を参照。 シンボリック モードリスト symbolic_mode_list は、次の形式の動作リストをそれぞれカンマで区切ったものです。スペースでは区切らない でください。 [who]op[ permission] [,...] その解釈は以下の通りです(以下の「例」を参照)。 以下のうちのいずれか、または複数の項目の組み合わせです。 who u ユーザー (オーナー) のパーミッションを変更します。 g グループのパーミッションを変更します。 o その他のユーザーのパーミッションを変更します。 a すべてのユーザーのパーミッションを変更します (a は、 ugo と等価で す)。 指定は必須で、以下のいずれかを取ります。 op permission + who の既存のファイル モードビットに permission を追加します。 - who の既存のファイル モードビットから permission を削除します。 = who の既存モードビットを permission に置き換えます。 以下の英字の任意の組み合わせです。 r who に対して読み取りパーミッションを追加または削除します。 w who に対して書き込みパーミッションを追加または削除します。 x who に対して実行ファイル (ディレクトリ内の検索) パーミッションを追加 または削除します。 s who に対してファイル実行時のオーナー ID 設定パーミッション、または ファイル実行時のグループ ID 設定パーミッションを追加または削除しま す。 u または g が who に暗黙的または明示的に存在する場合のみ有効で す。 t スティッキービットパーミッションを追加または削除します。 u が who に 暗黙的または明示的に存在する場合のみ有効です。 chmod(2) を参照してく ださい。 X 以下のように、条件付きで実行または検索パーミッションを追加または削 除します。 Section 1-142 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 chmod(1) chmod(1) • file がディレクトリの場合、 who に対する既存ファイルモードの検索 パーミッションを追加または削除します( x と同じです)。 • file がディレクトリではない場合で、現在のファイルパーミッション に、 1 つ以上のユーザー、グループ、その他のユーザーに対する実行 パーミッション (ls −l により x または s が表示されます) があれば、 whoに対する実行ファイルパーミッションを追加または削除します。 • file がディレクトリでない場合で、現在のファイルモードに実行パー ミッションが設定されていない場合は、実行パーミッションは変更され ません。 または、次のいずれか1つ。 u 現在のユーザーパーミッションを who にコピーします。 g 現在のグループパーミッションを who にコピーします。 o 現在のその他のパーミッションを who にコピーします。 操作は、指定された順序で実行されます。同じコマンド行の中で実行の優先順位を変更することができます。 who を省略すると、現在のファイルモード作成マスクで変更が認められている限り( umask(1) 参照)、全ユー ザーに対して r, w, x, および X のパーミッションが変更されます。 s および t のパーミッションは、 who で a が指定されている場合と同じように変更されます。 permission は、 = と併用して、すべてのパーミッションを削除する場合に限り、省略できます。 数値モード (旧形式) 絶対パーミッションは、以下のモードビットの論理和で構成した8進数 numeric_mode を指定して設定すること ができます。 各種モードビット: 4000 (= u=s) ファイル実行時にユーザーIDをセット (ファイルのみ) 2000 (= g=s) ファイル実行時にグループIDをセット 1000 (= u=t) スティッキービットをセット。chmod(2)を参照 パーミッション モードビット: オーナーによる読み取り 0400 (= u=r) 0200 (= u=w) オーナーによる書き込み 0100 (= u=x) オーナーによる実行 (ディレクトリの検索) 0040 (= g=r) グループによる読み取り 0020 (= g=w) グループによる書き込み 0010 (= g=x) グループによる実行/検索 0004 (= o=r) その他による読み取り 0002 (= o=w) その他による書き込み 0001 (= o=x) その他による実行/検索 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-143 chmod(1) chmod(1) 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が指定されていないかヌルの場合、 LANG の値がデフォルトです。 LANG が指定されてい ないかヌルの場合、 C がデフォルトです( lang(5) を参照)。 国際化変数のどれかが無効な設定を含んでいれば、 C は全ての国際化変数のデフォルトになります。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 戻り値 処理を終了すると、 chmod は以下の値のいずれかを戻します。 正常終了 0 エラー状態の発生 >0 例 その他のユーザーに対する書き込みパーミッションを拒否する場合: chmod o-w file すべてのユーザーに対してファイルを実行可能にする場合: chmod a+x file すべての人に読み取りおよび実行パーミッションを与え、ユーザー ID 設定ビットをセットする場合: chmod a=rx,u+s file ファイルのオーナーに読み取りおよび書き込みパーミッションを与え、その他のすべての人に読み取りパー ミッションを与える場合: chmod u=rw,go=r file または旧形式: chmod 644 file ディレクトリサブツリーをたどって、すべての通常ファイルをユーザーまたはグループのみに読み取り可能に し、すべての実行可能ファイルおよびディレクトリをすべてのユーザーに対して実行可能 (検索可能) にする場 合: chmod −R ug+r,o-r,a+X pathname umask の現在値が 020 の場合 (umask −S により u=rwx,g=rx,o=rwx と表示され、グループに対する書き込み パーミッションは変更されない) で、ファイル mytest に対する現在のパーミッションが 444 (a=r) であれば( ls Section 1-144 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 chmod(1) chmod(1) −l により −r−−r−−r−− と表示される)、 chmod +w mytest コマンドにより、パーミッションが 646 (uo=rw,g=r) に設定 ( ls −l により −rw−r−−rw− と表示) されます。 umask の現在値が 020 の場合 (umask -S により u=rwx,g=rx,o=rwx と表示され、グループに対する書き込み パーミッションは変更されない) で、ファイル mytest に対する現在のパーミッションが 666 (a=rw) であれば( ls -l により -rw-rw-rw- と表示される)、 chmod -w mytest コマンドにより、パーミッションが 464 (uo=r,g=rw) に設定 ( ls -l により −r−−rw−r−− と表示) されます。 制約 -A オプションを使用すると、 ACLがサポートされていないファイルシステムでは chmod が異常終了します。 著者 chmod は、AT&Tおよび HPによって開発されました。 参照 chacl(1), ls(1), umask(1), chmod(2), acl(5) 標準準拠 chmod: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-145 chown(1) chown(1) 名称 chown, chgrp − ファイルのオーナーまたはグループの変更 構文 chown [−h] [−R [−H −L −P] ] owner[:group] file ... chgrp [−h] [−R [−H −L −P] ] group file ... 説明 chown コマンドは、指定された各 file のオーナーIDを owner に変更し、またオプションとして指定された各 file のグループIDを group に変更します。 chgrp コマンドは、指定された各 file のグループIDを group に変更します。 オーナー、またはグループを変更するには、ファイルを所有しており、かつ CHOWN 特権 ( setprivgrp(1M) 参 照) を持っていなければなりません。いずれかのコマンドがスーパーユーザー以外のユーザーから通常のファ イルで呼び出された場合、ファイルモードのユーザー ID 設定ビット、およびグループ ID 設定ビット ( 順に 04000 と 02000) はクリアされます。なお、このコマンドを使用するユーザーまたはグループの権限は、 setprivgrp により制限されます ( setprivgrp(1M) を参照)。 オプション chown と chgrp は次のオプションを認識します: −h シンボリックリンク自体のオーナーまたはグループを変更します。 デフォルトでは、シンボリックリンク先の対象ファイルのオーナーまたはグループが変更 されます。 −h, では、シンボリックリンク先の対象ファイルは影響を受けません。もし対 象のファイルがディレクトリで、 −h と −R, を指定した場合は、再帰的な動作は行われませ ん。 −H もし −R が指定され、シンボリックリンクの先がディレクトリの場合、そのディレクトリの オーナーまたはグループと、ディレクトリ内の階層の下のすべてのファイルが変更されま す。 −L もし、 −R が指定され、ディレクトリを参照しているシンボリックリンクがコマンドライン にあった場合、もしくはファイルの階層構造を追っている場合、シンボリックリンクで参 照されているディレクトリのオーナーまたはグループと、ディレクトリ内のすべてのファ イルが変更されます。 −P もし、 −R が指定され、シンボリックリンクがコマンドラインにあった場合、もしくはファ イルの階層構造を追っている場合、そのシンボリックリンク自体のオーナーまたはグルー プが変更されます。 chown ユーティリティは、シンボリックリンクのファイル階層の他の 部分に影響を及ぼしません。 −R 再帰的にオーナーまたはグループを変更します。各 file オペランドがディレクトリを指して いる場合、そのディレクトリのオーナーまたはグループと、その階層構造の下のすべての Section 1-146 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 chown(1) chown(1) ファイルとサブディレクトリが変更されます。 オペランド chown と chgrp は次のオペランドを認識します: file 対象ファイルのオーナーが変更されます。 group 十進数のグループIDか、 /etc/group ファイルのグループ名のどちらか owner 十進数のユーザーIDか、 /etc/passwd ファイルのログイン名のどちらか アクセス制御リスト − HFS ファイルシステムのみ ユーザーはオプションのファイルのアクセス制御リストに ACLエントリーを設定することで、個々のユーザー やグループのアクセスを許可したり拒否したりすることができます( acl(5) 参照)。 chown と ACL を併用した 場合、ファイルの新しいオーナー、またはグループがファイルのアクセス制御リストの user.% または %.group に対応するオプションの ACL エントリーを持っていないと、ファイルのアクセス パーミッション ビットは変更されません。ただし、ファイルのACL の中で user.% または %.group のオプションACL エント リーにより、新しいオーナー、またはグループがすでに指定されている場合は、 chown により、対応するファ イルアクセス パーミッションビット (と対応するベースとなるACLエントリー) をそのエントリーに含まれる パーミッションに設定します。 アクセス制御リスト − JFS ファイルシステムのみ ユーザーはオプションのファイルのアクセス制御リストに ACLエントリーを設定することで、個々のユーザー やグループのアクセスを許可したり拒否したりすることができます( acl(5) 参照)。 chown と JFS ACL を併用し た場合、ファイルの新しいオーナー、またはグループがファイルのアクセス制御リストの user:uid: perm また は group:gid: perm と一致するオプションの ACL エントリーを持っている場合、 ACLのエントリーは残ります が、もはやファイルの user:: perm や group:: perm エントリーでの変更は行われません。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定され ている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数に無効な設定を含む場合、 chown は全ての国際化変数が"C" に設定されているように振る舞いま す。 environ(5) を参照してください。 サポートされる国際化コードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 chown および chgrp は以下の値を戻します。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-147 chown(1) chown(1) 0 >0 正常終了 エラーの発生 例 以下のコマンドは、ファイル jokes のオーナーを sandi に変更します。 chown sandi jokes 以下のコマンドは、ディレクトリ design_notes をサーチしてそのディレクトリ内の各ファイルをオーナー mark およびグループ users に変更します。 chown −R mark:users design_notes 警告 シンボリックリンクに対する chown と chgrp のデフォルトの操作が、 HP-UXリリース10.0から変更されまし た。これ以前のデフォルト操作が必要な場合は、 −h を使用してください。 ファイル /etc/group /etc/passwd 参照 chmod(1), setprivgrp(1M), chown(2), group(4), passwd(4), acl(5), aclv(5) 標準準拠 chown: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 chgrp: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-148 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 chsh(1) chsh(1) 名称 chsh − デフォルトのログインシェルの変更 構文 chsh login-name [shell] chsh −r files login-name [shell] chsh −r nis login-name [shell] chsh −r dce login-name [shell] 説明 chsh は、リポジトリに記述されたユーザーのログイン名のログインシェルを変更する場合に使用します ( passwd(1) を参照)。 DCE リポジトリ (-r dce) は、Integrated Login が設定されている場合にのみ有効です (auth.adm(1M) を参照)。 Integrated Login が設定されている場合は、他の留意事項が適用されます。適切なDCE 特権のユーザーだけが ユーザーのシェルを変更できます。スーパーユーザー特権には依存しません。 リポジトリが指定されない場合、すなわち chsh [login-name] の場合、ログインシェルは、 /etc/passwd ファイ ル内のみ変更されます。 chsh を実行した後、 finger を実行し、情報が正しく処理されたことを確認してください。 注記 chsh コマンドは、 passwd コマンドへのハードリンクです。 chsh が実行されると、実際には、 passwd コマン ドがコマンド行に指定された リポジトリ内のユーザーログイン コマンドを変更する適切な引き数で実行されま す。 リポジトリが指定されない場合は、 /etc/passwd ファイル内のログインシェルが変更されます。 引き数 login-name ユーザーのログイン名。 shell シェルの絶対パス名。 /etc/shells ファイルが既存の場合、新規のログインシェルはこの ファイルにリストされている必要があります。このファイルが存在しない場合は、 getusershell(3C) マニュアルエントリーにリストされている標準シェルの1つを指定できま す。 shell の指定を省略すると、デフォルトの POSIX シェル /usr/bin/sh が採用されま す。 オプション 次のオプションがあります。 −r 操作を適用するリポジトリを指定します。サポートされているリポジトリには、 files、 nis、 および dce があります。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-149 chsh(1) chsh(1) セキュリティ制約 オプションの login-name 引き数を使って他のユーザーのログインシェルを変更するには、適切な権限が必要で す。 ネットワーク機能 NFS /etc/passwd ファイルは、ネットワーク情報サービス(NIS)のデータベースとしてインプリメントすることがで きます。 例 ユーザー voltaire のログインシェルをデフォルトに変更するには、次のように入力します。 chsh voltaire ユーザー descartes のログインシェルをCシェルに変更するには、次のように入力します。 chsh descartes /usr/bin/csh ユーザー aristotle のログインシェルをDCE登録データ内のKシェルに変更するには、次のように入力します。 chsh -r dce aristotle /usr/bin/ksh 警告 passwd ロック機構によって、2人以上のユーザーが /etc/passwd ファイルを同時に書き込むことができるように なりました。次の再試行の後にこのロックに失敗した場合、 chsh は終了します。 著者 chsh は、HP およびカリフォルニア大学バークレイ校で開発されました。 ファイル /etc/shells /etc/ptmp 参照 chfn(1), csh(1), ksh(1), passwd(1), sh(1), sh-posix(1), getusershell(3C), pam(3), passwd(4), shells(4) Section 1-150 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ci(1) ci(1) 名称 ci − RCS リビジョンのチェックイン 構文 ci [options] file ... 説明 ci は新しいリビジョンを RCS ファイルにストアします。 ,v で終わる各ファイルは RCS ファイルとして処理さ れます。その他すべてはワークファイルであると仮定されます。 ci は、各ワークファイルの内容を、対応する RCS ファイルに保管します (rcsintro(5) を参照)。 RCS ファイルが存在しない場合、 ci はそれを作成し、初期リビジョンとしてワークファイルの内容を保管し ます。デフォルトの番号は"1.1"です。アクセスリストは初期化で空にされます。 ci はログメッセージではな く、説明テキストを要求します (以下の -t オプションを参照)。 ci で作成される RCS ファイルは、読出しおよび実行パーミッションをワークファイルから継承します。 RCS ファイルが存在する場合、 ci はその読出しおよび実行パーミッションを保存します。 ci は常に、 RCS ファイ ルの書き込みパーミッションをすべてオフにします。 コマンドの呼び出し元は、 RCS ファイルおよびワークファイルがあるディレクトリに対して読み書きパーミッ ションが、また RCS ファイル自体に対して読出しパーミッションが必要です。多数のテンポラリファイルが作 成されます。セマフォファイルは RCS ファイルがあるディレクトリに作成されます。 ci は常に、新しい RCS ファイルを作成して、古いもののリンクを切ります。したがって、 RCS ファイルに対するリンクは無意味で す。 ci が動作するためには、アクセスリストが空でない場合、ユーザーがファイルの所有者ではない場合、または ユーザーがスーパーユーザーでない場合に限り、ユーザーのログインがアクセスリストになければなりませ ん。 通常 ci は、保管するリビジョンが前のものと異なるかどうかをチェックします。同じである場合、 ci は保管 を打ち切るか (-q を与えた場合)、または打ち切るかどうかを確認します (-q を省略した場合)。保管は、 -f オ プションで強行できます。 保管するリビジョンが前のものと異なるかどうかをチェックするために十分なメモリが使用できない場合は、 swap または maxdsiz の値を増やします。 保管されたリビジョンごとに、 ci はログメッセージを求めます。ログメッセージは、変更を要約して、"."だけ の行またはcontrol-Dで終わらなければなりません。複数のファイルをチェックインする場合、 ci は前のファイ ルからログメッセージを再使用するかどうかを確認します。標準入力がターミナルでない場合、 ci はプロンプ トを抑止し、すべてのファイルに対して同じログメッセージを使用します (以下の -m オプションを参照)。 保管されたリビジョンの数は、任意のオプション -r, -f, -k, -l, -u, または -q で与えられます (以下の -r オプショ ンを参照)。 新しいリビジョンを既存の分岐に追加するには、その分岐上のヘッドリビジョンを呼び出し元でロックしなけ ればなりません。そうでなければ、新しい分岐のみ作成できます。ロックが strict に設定されない限り、この HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-151 ci(1) ci(1) 制限はファイルの所有者に対して強制されません (rcs(1) を参照)。他に保有されるロックは、 rcs コマンドで ブレークできます (rcs(1) を参照)。 オプション -f[ rev ] 保管を強行します。新しいリビジョンは、前のものと同じでも保管されます。 -k[ rev ] ワークファイルからそのリビジョン番号、作成日、作成者、および状態を決定するキーワード 値を検索し (co(1) 参照)、これらの値をローカルに計算するのではなく、これらの値を保管さ れたリビジョンに割り当てます。コマンドオプションで与えたリビジョン番号は、ワークファ イル内の番号を置き換えます。このオプションは、ソフトウェア配布に便利です。複数のサイ トに送られるリビジョンは、その元の番号、日付、作成者、および状態を保存するために、各 サイトにおいて -k オプションでチェックインしなければなりません。 -l[ rev ] 保管されたリビジョンに対して、さらに co -l を実行する点を除いて、 -r と同じ動作をしま す。したがって、保管されたリビジョンは再び即座にチェックアウトされ、ロックされます。 これは、チェックイン後にエディットを続行したい場合にリビジョンをセーブするのに便利で す。 -m"msg" -n"name" チェックインされたすべてのリビジョンのログメッセージとして文字列 msg を使用します。 シンボリック名 name をチェックインされたリビジョンに割り当てます。 name が別の番号に すでに割り当てられた場合、 ci はエラーメッセージをプリントします。 -N"name" -q[ rev ] name の前の割当てに置き換える点を除いて、 -n と同じです。 無表示モード。診断出力はプリントされません。前のものと同じリビジョンは、 -f を与えな い限り保管されません。 -r[ rev ] リビジョン番号 rev を、チェックインされたリビジョンに割り当て、対応するロックをリリー スしてワークファイルを削除します。これはデフォルトです。 rev を省略する場合、 ci は新しいリビジョン番号を呼び出し元の最後のロックから取ります。 呼び出し元が分岐のヘッドリビジョンをロックした場合、新しいリビジョンはその分岐の先頭 に追加され、新しいリビジョン番号が新しいリビジョンに代入されます。新しいリビジョン番 号は、ヘッドリビジョン番号の増分によって得られます。呼び出し元が先頭以外のリビジョン をロックした場合、新しい分岐はロックされたリビジョンで起動され、ロックされたリビジョ ンの番号は増分します。デフォルトの初期分岐およびレベル番号は1です。呼び出し元がロッ クを保持しないけれども、ファイルの所有者であり、ロッキングが strict に設定されていない 場合、リビジョンはもとのままの先頭に追加されます。 rev がリビジョン番号を示す場合、それは rev が所属する分岐で最新のものより上位である か、または新しい分岐を開始しなければなりません。 rev がリビジョンではなく分岐を示す場合、新しいリビジョンはその分岐の先頭に追加されま す。レベル番号は、その分岐のヘッドリビジョン番号の増分により得られます。 rev が存在し ない分岐を示す場合、その分岐は番号 rev.1 付きの初期リビジョンで作成されます。 Section 1-152 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ci(1) ci(1) 注記: トランクの先頭に、リビジョンを追加することはできますが、挿入することはできませ ん。 -s"state" チェックインされたリビジョンの状態を識別子 state に設定します。デフォルトは、 Exp で す。 -t[ txtfile ] 記述テキストを RCS ファイルに書き込みます(既存のテキストを削除します)。 txtfile を省略 した場合、 ci は . のみの行またはCtrl-Dで終わるテキストを、標準入力からユーザーに求め ます。それ以外の場合、説明テキストはファイル txtfile からコピーされます。初期化中に、 -t を与えなくても説明テキストは要求されます。標準入力がターミナルでない場合、プロンプト は抑止されます。 保管されたリビジョンがロックされない点を除いて -l に類似します。チェックインの直後に -u[ rev ] リビジョンを処理(例えば、コンパイル)したい場合に有効です。 アクセス制御リスト(ACL) オプションの ACL エントリーは、削除されるので RCS ファイルに追加しないでください。 診断 各リビジョンについては、 ci は RCS ファイル、ワークファイル、および保管されたリビジョンと前のリビ ジョンの両方の番号をプリントします。終了ステータスは、チェックインする最後のファイルを常に参照し、 操作が正常終了の場合は0、正常終了でない場合は1です。 例 カレントディレクトリに RCS ファイル io.c,v を持つサブディレクトリ RCS がある場合、以下のすべてのコマ ンドは最新のリビジョンを io.c から RCS/io.c,v に保管します。 ci io.c ci RCS/io.c,v ci io.c,v ci io.c RCS/io.c,v ci io.c io.c,v ci RCS/io.c,v io.c ci io.c,v io.c Bug fix というメッセージが表示された、バージョン 1.2 の RCS ファイル (foo.c,v) をチェックインします。 ci -r1.2 -m"Bug Fix" foo.c,v 警告 RCS ファイル名は ,v をワークファイル名の終端に追加することにより生成します。生成される RCS ファイル 名が、 RCS ファイルの属するファイルシステムには長すぎる場合、 ci はエラーメッセージで終了します。 ログメッセージは2046バイトを超過できません。 約240のリビジョンがあるファイルでは、ハッシュテーブルがオーバフローする可能性があります。古いリビ HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-153 ci(1) ci(1) ジョンの一部が削除されるまで、 ci は別のリビジョンをファイルに追加できません。古いリビジョンを削除す るには、 rcs -o (旧版の)コマンドオプションを使用します。 RCS は TEXT ファイルのみの使用に設計されています。非テキスト(バイナリ)ファイルのある RCS を使用しよ うとすると、データは破損されます。 著者 ci はWalter F. Tichyによって開発されました。 参照 co(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(4), acl(5), rcsintro(5) Section 1-154 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 ckconfig(1) ckconfig(1) 名称 ckconfig − すべての FTP 構成ファイルのパス名を検証します。 構文 /usr/bin/ckconfig [-V] 説明 ckconfig ユーティリティは、FTP 構成ファイルのパス名を検証するために使用します。 FTP 構成ファイルに は、 /etc/ftpd/ftpusers、 /etc/ftpd/ftpaccess、 /etc/ftpd/ftpconversions、 /etc/ftpd/ftpgroups、 /etc/ftpd/ftphosts、 /var/adm/syslog/xferlog、 /etc/ftpd/pids/* があります。 このユーティリティは、FTP 構成ファイルがすべて指定されたパス上にあるか確認します。構成ファイルがパ ス上に見つからない場合は、システム管理者に対してエラーメッセージを出力します。 -V オプションを指定すると、著作権とバージョンの情報を表示し、その後、終了します。 ファイル /usr/bin/ckconfig 著者 ckconfig は、ミズーリ州セントルイスのワシントン大学で開発されました。 参照 ftpusers(4)、ftpconversions(4)、ftpaccess(4)、ftphosts(4)、ftpgroups(4)、xferlog(5) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-155 cksum(1) cksum(1) 名称 cksum − ファイルのチェックサムおよびサイズのプリント 構文 cksum [ file ...] 説明 cksum は指定ファイルごとにチェックサムを計算し、標準出力にプリントします。また、ファイルごとのオク テット数もプリントします。 cksum は32ビット巡回冗長検査(CRC)に基づく移植可能なアルゴリズムを使用します。このアルゴリズムは、 sum によって使用される16ビットのアルゴリズムよりも広範囲のエラーを検出します( sum(1) を参照)。 CRC は以下の式の和で、 x はファイルの各バイトです。 x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 7 + x 5 + x 4 + x 2 + x 1 + x 0 計算の結果は32ビットの値に切り捨てられます。また、ファイルのバイト数もプリントされます。 ファイル名を与えなければ、標準入力が使用されます。 cksum は通常、システム間のファイルコピー時にデータの完全性を照合するために使用されます。 多言語化対応 環境変数 LC_ALL および対応する環境変数(先頭が LC_ で始まる)がロケール変数を指定しない場合、 LANG がロケー ルカテゴリで使われるロケール変数を決定します。 LANG が設定されていないか空白文字列に設定されている 場合、 "C" がデフォルトとして使われます( lang(5) を参照)。 LC_CTYPE は、テキストデータのバイトシーケンスをキャラクタとして解釈する(たとえば引き数および入力 ファイル内のシングルバイト対マルチバイトキャラクタ)ためのロケール変数を決定します。 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 国際化変数のどれかが無効な設定を含む場合、 cksum は全ての国際化変数が"C"に設定されているように振る 舞います。 environ(5) を参照してください。 戻り値 終了時、 cksum は以下の値のいずれかを戻します。 すべてのファイルは正常に処理されました。 0 単一または複数のファイルが読み込めないか、またはその他のエラーが発生しました。 >0 アクセス不能なファイルがあると、 cksum は残りのファイルの処理を続行しますが、最後の終了ステータスは 影響を受けます。 参照 sum(1), wc(1) Section 1-156 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 cksum(1) cksum(1) 標準準拠 cksum: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-157 clear(1) clear(1) 名称 clear − ターミナルスクリーンのクリア 構文 clear 説明 clear はターミナルのスクリーンを可能であればクリアします。まず、ターミナルタイプに対応する環境変数 TERM 、続いて該当する terminfo データベースを読み込んで、スクリーンのクリア方法を決定します。 ファイル /usr/share/lib/terminfo/?/* ターミナルデータベース ファイル 著者 clear はカリフォルニア大学バークレイ校で開発されました。 参照 terminfo(4) Section 1-158 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 cmp(1) cmp(1) 名称 cmp − 2つのファイルの比較 構文 cmp [-l] [-s] file1 file2 [skip1 [skip2]] 説明 cmp は2つのファイルを比較します( file1 または file2 が -, ならば、標準入力が使用されます)。デフォルトオ プションでは、ファイルが同じならばコメントを出さず、ファイルが異なっていれば、相違がある位置のバイ ト、および行番号を通知します。 1 つのファイルが他方の後に続いている場合、そのことも通知されます。 skip1 と skip2 は、それぞれ file1 と file2 の初期バイトのオフセットを表し、10進法または8進法で表示します。 数値の表現方法は、環境変数 LC_NUMERIC によって決まります ( C 言語の環境では、 0 は8進法で表現され ます。 LANG に関しては environ(5) および strtol(3C) を参照してください )。 cmp が認識するオプションは以下のとおりです。 バイト番号位置(10進)および異なっているバイト値(8進)を相違ごとにプリントします (バイ -l トの番号は0ではなく1から始まります)。 異なるファイルに対して何もプリントしません。コードのみ戻します。 -s 多言語化対応 環境変数 LANG はメッセージの表示言語を決定します。 LANG が指定されていなかったり、空の文字列の場合、デ フォルトの "C" ( lang(5) を参照)が LANG の値として使用されます。多言語化対応変数のいずれかの設定が不 適当な場合には、 "C" に設定されているものとして cmp が動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 cmp は以下の終了値を戻します。 0 ファイルは同じです。 1 ファイルは同じではありません。 2 アクセス不能または存在しない引き数です。 比較がファイル 1 (ファイル 2 ) の末尾に達するまで続く場合、 cmp は、次の警告を印刷します。 cmp: EOF on file1(file2) 参照 comm(1), diff(1) 標準準拠 cmp: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-159 co(1) co(1) 名称 co − RCS リビジョンのチェックアウト 構文 co [ options ] file ... 説明 co は RCS ファイルからリビジョンを取り出します。 ,v で終わる各ファイル名は RCS ファイルであると判断さ れます。その他すべてのファイルは作業ファイルであると想定されます。 co は、それぞれの RCS ファイルか らリビジョンを取り出し、対応する作業ファイルに保存します( rcsintro(5) も参照)。 RCS ファイルのリビジョンはロックまたはアンロックの状態でチェックアウトできます。リビジョンをロック すると、更新の重複を防止します。読み出しや処理(例えば、コンパイル)に対してチェックアウトされたリビ ジョンはロックする必要はありません。編集するためにチェックアウトされ、後でチェックインされるリビ ジョンは通常ロックしなければなりません。他のユーザーが現在ロックしているリビジョンはロックできませ ん(ロックは、 rcs コマンドで解除できますが、同時に独立した変更がなされると、潜在的な危険を引き起こし ます( rcs(1) を参照))。ロックを伴う co は、ファイルを呼び出すユーザーがファイルの所有者でもなく、ふさ わしい特権を持つユーザーでもなければ、またアクセスリストが空でない限り、その呼び出し元が RCS ファイ ルのアクセスリストにあることが必要です。ロックを伴わない co はアクセスリストの制約を受けません。 リビジョンは番号、チェックイン日付/時刻、作成者、または状態によって選択されます。これらのオプション のうちのどれも指定しなければ、幹上の最新のリビジョンが取り出されます。複数のオプションを組み合わせ て指定すると、すべてを満足させる最新のリビジョンが取り出されます。日付/時刻、作成者、および状態に対 するオプションは選択された分岐上のリビジョンを取り出します。選択された分岐は、(もしあれば)リビジョ ン番号から得られるか、または幹の最も高い分岐のどちらかです。リビジョン番号を -l、 -p、 -q、または -r のオプションに付けられます。 コマンドを呼び出すユーザーは作業ディレクトリにおける書き込みパーミッション、 RCS ファイルに対する読 み出しパーミッション、および RCS ファイルがあるディレクトリで、読み出しパーミッション(読み出しの場 合)か読み出し/書き込みパーミッション(ロックの場合)が必要です。 作業ファイルは読み出し実行パーミッションを RCS ファイルから継承します。さらに、ファイルがアンロック 状態でチェックアウトされ、ロックが strict に設定されない限り、所有者書き込みパーミッションはオンにな ります( rcs(1) を参照)。 すでに作業ファイルの名前を持つファイルが存在し、書き込みパーミッション付きの場合、 co は、 -q が指定 されると、チェックアウトを中断します。 -q が指定されていなければ、中断するかどうか確認します。既存の 作業ファイルが書き込み不可能ならば、チェックアウトの前に削除されます。 多数のテンポラリファイルが作成されます。同時の更新を防止するために RCS ファイルのディレクトリ内にセ マフォファイルが作成されます。 リビジョンのない RCS ファイルに適用された co コマンドは、ゼロ長ファイルを作成します。 co はつねにキー ワード置換を実行します(以下を参照)。 Section 1-160 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 co(1) co(1) オプション -l[ rev ] 呼び出し元のチェックアウトされたリビジョンをロックします。省略すると、チェックアウト されたリビジョンはロックされません。リビジョン番号 rev の扱いについては -r オプション を参照してください。 -p[ rev ] 取り出されたリビジョンを作業ファイルに保存せずに標準出力に出力します。このオプション は co がパイプに含まれる場合に便利です。 -q[ rev ] -ddate 出力なしモード。診断はプリントされません。 チェックイン日付/時刻が date より小さいか、または等しい選択された分岐にある最新のリビ ジョンを取り出します。日付および時刻は、フリーフォーマットで指定することができ、ロー カルの時間に変換されます。 date のフォーマット例 Tue−PDT, 1981, 4pm Jul 21 (free format) Fri April 16 15:52:25 EST 1982 (output of ctime(3C)) 4/21/86 10:30am (format: mm/dd/yy hh:mm:ss) 日付および時刻におけるほとんどのフィールドは、デフォルトとすることができます。 co は 年、月、日、時間、分、および秒の順序でデフォルトを決定します(重要度の高い順)。これら のフィールドは最低1つ指定しなければなりません。指定したフィールドより重要なフィール ドを省略すると、現在の値が仮定されます。その他すべての省略されたフィールドについて は、最も低い可能な値が仮定されます。例えば、日付 20, 10:30 のデフォルトは現在の年、現 在の月の20日の10:30:00になります。日付/時刻フィールドは、スペースまたはコンマによっ て区切られます。スペースを使用する場合は、文字列を二重引用符で囲まなければなりませ ん。 現在の西暦フィールドを省略して、二桁の数字で年を入力する (yy) 場合は以下のように解釈 します。 [70-99, 00-69 (1970-1999, 2000-2069)] -r[ rev ] 番号が rev より小さいか、または等しい最新のリビジョンを取り出します。 rev がリビジョン ではなく分岐を示す場合、その分岐上の最新のリビジョンが取り出されます。 rev は . で区 切った1つ以上の数値フィールドまたはシンボリックフィールドで構成されます。シンボリッ クフィールドの同等数値は ci -n および rcs -n コマンドで指定します( ci(1) および rcs(1) を参 照)。 -sstate -w[ login ] 状態が state に設定されている選択された分岐の、最新のリビジョンを取り出します。 ログイン名 login の、ユーザーがチェックインした選択分岐の、最新のリビジョンを取り出し ます。引き数 login を省略すると、呼び出しを行なうユーザのログイン名が仮定されます。 -j joinlist joinlist に対してリビジョンの加わった結果である新しいリビジョンを生成します。 joinlist は、 rev2:rev3 の形式でコンマで区切った組合せのリストです。ただし、 rev2 および rev3 は( シンボリックまたは数値) リビジョン番号です。最初の組合せに対して rev1 は、オプション -l, ..., -w で選択されたリビジョンを表します。その他すべての組合せについては rev1 は、前 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-161 co(1) co(1) の組合せによって生成されたリビジョンを表し、したがって、1つの結合の出力が次の入力に なります。 各組合せごとに、 co はリビジョン rev1 および rev3 を rev2 に関して結合します。つまり、 rev2 を rev1 に変換するすべての変更が rev3 のコピーに適用されることを意味します。 rev1 および rev3 が共通の祖先 rev2 を持つ2つの分岐の終端であるような場合に特に便利です。同 じ分岐の rev1 < rev2 < rev3 に対して結合を行なうと生成されるリビジョンは rev3 に類似し ていますが、 rev1 から rev2 の変更がすべて元に戻ります。 rev2 から rev1 への変更が rev2 か ら rev3 への変更と重複する場合、 co は警告を出力し、重複セクションを以下のように区切っ て示します。 <<<<<<< rev1 ======= rev3 >>>>>>> 最初の組合せについては、 rev2 は、省略できます。デフォルトは共通の祖先です。引き数の いずれかが分岐を示す場合、分岐上の最新のリビジョンが仮定されます。 -l オプションが存 在すると、最初の rev1 はロックされます。 キーワード置換 テキストに埋め込まれた形式 $keyword$ および $keyword:...$ の文字列が形式 $keyword: value $, の文字列と置 換されます。ここで、 keyword および value が以下のように示されます。キーワードは、リビジョンを識別す るためにリテラル文字列またはコメントの中に埋め込むことができます。 まず、ユーザーは形式 $keyword$ の文字列を入力します。チェックアウトでは、 co は、これらの文字列を形 式 $keyword: value $ の文字列と置換します。後者の形式の文字列のあるリビジョンが後でチェックインされる と、フィールド値は次のチェックアウト時に置換されます。したがって、キーワード値はチェックアウト時に 自動的にアップデートされます。 キーワードおよび対応する値 $Author$ リビジョンにチェックインしたユーザーのログイン名。 $Date$ リビジョンにチェックインした日付および時刻。 $Header$ RCS ファイル名、リビジョン番号、日付、作成者、および状態を内容とする標準ヘッダ。 $Locker$ リビジョンをロックしたユーザーのログイン名(ロックされていなければ空)。 $Log$ チェックイン時に与えられたログメッセージで、 RCS ファイル名、リビジョン番号、作成 者、および日付を内容とするヘッダが先頭に付いています。既存のログメッセージは置換され ま せん。この場合は、新しいログメッセージが $Log:...$ の後に挿入されます。これはソース ファイル内にログの変更記録を完全な形で保存するのに便利です。 Section 1-162 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 co(1) co(1) $Revision$ リビジョンに割り当てられるリビジョン番号。 $Source$ RCS ファイルの完全パス名。 $State$ rcs -s または ci -s でリビジョンに割り当てられる状態。 アクセス制御リスト(ACL) オプションのACLエントリーは削除されることがあるため、 RCS ファイルに追加しないでください。 診断 読み出された RCS ファイル名、作業ファイル名およびリビジョン番号は診断出力に書き込まれます。終了ス テータスは、つねにチェックアウトされる最後のファイルを参照し、正常終了すると0, 失敗した場合1になり ます。 例 現在のディレクトリに、 io.c,v の名称を指定された RCS ファイルを含む RCS と指定されたサブディレクトリ が入っていると仮定します。以下のコマンドはそれぞれ、 RCS/io.c,v から最近のリビジョンを取り出し、 io.c: に保存します。 co io.c co RCS/io.c,v co io.c,v co io.c RCS/io.c,v co io.c io.c,v co RCS/io.c,v io.c co io.c,v io.c バージョン 1.1 の RCS ファイル (foo.c,v:) をチェックアウトします。 co -r1.1 foo.c,v バージョン 1.1 の RCS ファイル (foo.c,v ) を標準出力にチェックアウトします。 co -p1.1 foo.c,v 1992年 9月 18日に存在した foo.c,v ファイルのバージョンをチェックアウトします。 co -d"09/18/92" foo.c,v 警告 co コマンドは、 RCS ファイル名の終端から ,v を削除して作業ファイル名を生成します。 RCS ファイルがある ファイルシステムに対して与えられた RCS ファイル名が長すぎる場合、 co はエラーメッセージを出して終了 します。 キーワードの拡張を抑制する方法は違った形式で書くしかありません。これは、 nroff および troff では、ヌル 文字 \& をキーワードに埋め込んで行われます。 -d オプションは特定の状況下では混乱する場合もあり、1970年以前の日付を受け付けません。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-163 co(1) co(1) -j オプションは1文字の . からなる行を含むファイルに対しては機能しません。 RCS は text ファイルのみで使用するように設計されています。非テキスト(バイナリ)ファイルで RCS を使用し ようとすると、データを破壊することになります。 著者 co は Walter F. Tichyによって開発されました。 参照 ci(1)、 ident(1)、 rcs(1)、 rcsdiff(1)、 rcsmerge(1)、 rlog(1)、 rcsfile(4)、 acl(5)、 rcsintro(5) Section 1-164 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 col(1) col(1) 名称 col − 逆ラインフィードおよびバックスペースのフィルタ 構文 col [-blfxp] 説明 col は、標準入力から読み込んで標準出力に書き出します。また、逆ラインフィード (ASCII コード ESC-7) で示 される行オーバレイと、順方向および逆方向のハーフラインフィード (ESC-9 および ESC-8) で示される行オー バレイを行います。 col は、 nroff .rt コマンドで作成されたマルチカラム出力や、 tbl プリプロセッサを使っ て作成された出力をフィルタリングするのに特に便利です ( nroff (1) および tbl(1) 参照)。 -b オプションを付けると、 col は、使用中の出力装置ではバックスペースが不可能とみなします。この場合、 2個以上の文字が同じ場所に置かれると、最後に読み込まれたものだけが出力されます。 -l オプションを付けると、 col は、出力装置は( キャラクタプリンタではなく) ラインプリンタであるとみな し、全行を何度でも重ね打ちできるように、バックスペースを削除します。また、指示した回数の重ね打ちを 行うのに必要な最小限のプリント操作の数を与えます (行に対して行った最後のプリント操作以外は、すべて キャリッジリターン(\r)で区切られますが、最後のプリント操作は改行(\n)で終了します)。 col は入力の際、ハーフライン単位の移動を認識しますが、通常、出力の際はそれを出さず、行間に置かれる テキストは次の行にフルライン分移動します。この取扱いは、 -f (ファイン)オプションで停止できます。この 場合、 col からの出力に、順方向のハーフラインフィード (ESC-9) があってもかまいませんが、逆方向の行移 動はどんなものも含まれません。 -x オプションを付けなければ、 col は、プリント時間の短縮が可能な限り、ホワイトスペースをタブに変換し て出力します。 ASCII 制御文字 SO (\016)および SI (\017)は、代替文字セットのテキストを開始または終了するものとみなされ ます。各入力文字が属する文字セットは記憶され、出力時に、各文字が正しい文字セットからプリントされる ように、適切な SI および SO 文字が与えられます。 入力時に認識される制御文字は、スペース、バックスペース、タブ、リターン、改行、 SI, SO, VT, (\013)、お よび 7, 8, 9 が後につづく ESC です。 VT 文字は逆のフルラインフィードの別形式で、このタイプの初期のプロ グラムとの互換性を保つために含まれています。その他の非プリント文字はすべて無視されます。 通常、 col は入力に認識されないエスケープシーケンスがあっても、すべて無視します。一方、 -p オプション により、 col は、これらのシーケンスを通常の文字として逆方向の行移動による重ね打ちが可能とみなして出 力します。ユーザーがテキストにおけるエスケープシーケンスの位置を正確にわかっていない場合、このオプ ションの使用は適当ではありません 。 注記 col が受け付けることのできる入力フォーマットは、nroff で -T37 または -Tlp オプションを指定したときに生 成される出力と一致しています。 col の最終的な出力先がハーフラインの移動を解釈できる装置であれば、 -T37 (および col の -f オプション)を、そうでなければ -Tlp を使用してください。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-165 col(1) col(1) 多言語化対応 環境変数 LANG は、他言語化対応変数のデフォルト値を設定します。それらのデフォルト値は、未設定かヌルのどちら かです。 LANG が未設定かヌルの場合、"C" のデフォルト値 ( lang(5) を参照) が使用されます。多言語対応変 数に不適当な設定がある場合には、 col はすべての多言語対応変数が "C" に設定されているものとして動作し ます。 environ(5) を参照してください。 LC_ALL 空文字以外の値が設定されている場合、他のすべての国際化対応変数の値をオーバーライドします。 LC_CTYPE テキストを、シングルバイト文字およびマルチバイト文字、あるいはその両方として解釈するよ う、また、文字を印刷可能文字として分類するよう定義したり、正規表現における文字クラスの式に一致する 文字を定義したりします。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージ、および標準出力に出力される詳細メッセージの フォーマットおよび内容を変更するためのロケールを定義します。 NLSPATH LC_MESSAGES の処理を行うためのメッセージカタログの位置を定義します。 サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 col は nroff および tbl との組合せで最もよく使われます。一般的な使用法は次のとおりです。 tbl filename | nroff -man | col | more -s (通常の man(1) コマンドによく似ています) このコマンドにより、縦線および外枠をプリントして表を作成で きます。ファイルは tbl プリプロセッサにかけてその出力を nroff にパイプ接続し、さらに -man マクロを使っ てフォーマットします。フォーマットした出力を col にパイプ接続し、縦線をセットアップしてファイルのカ ラムの位置を合わせます。最後にファイルを more コマンドにパイプ接続し、イタリック体の代わりにアン ダーライン、ボールド体の代わりに強調表示を使って画面に表示します。 -s オプションは、複数の空白行が画 面に表示されないように、余分なスペースを削除します。 警告 このコマンドは X/Open 標準から除外される可能性があります。このコマンドを使用しているアプリケーショ ンは、異機種のシステムへは移植できない可能性があります。 バグ 129行以上をバックアップすることはできません。またページ境界を超えてバックアップすることはできませ ん。 バックスペースと重ね打ちを含め、1行当たりの最大文字数に制限があります。最大文字数の制限は少なくと も800文字です。 ドキュメントの最初の行よりも前に戻るような、局所的な垂直移動は無視されます。したがって、最初の行に は上付き文字は含められません。 Section 1-166 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 col(1) col(1) 参照 nroff(1), tbl(1), ul(1), man(5) 標準準拠 col: SVID2, SVID3, XPG2, XPG3 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-167 comb(1) comb(1) 名称 comb − SCCS デルタの結合 構文 comb [-p SID ] [-clist ] [-o] [-s] file ... 説明 comb は、指定された SCCS ファイルを復元するシェルプロシージャ( sh(1) 参照) を生成します。復元された ファイルは通常、元のファイルよりも小さくなっています。引き数は任意の順序で指定できますが、オプショ ンはいずれも指示した SCCS ファイルにすべて適用されます。ディレクトリを指定すると、 comb は、その ディレクトリにある各ファイルも指定されているものとして動作します。ただし、パス名の最後の要素が s. で 始まらない非 SCCS ファイルと読み込み不可能ファイルは表示されずに無視されます。 - を指定すると標準入 力が読み込まれ、標準入力の各行は処理する SCCS ファイル名とみなされます。非 SCCS ファイルと読み込み不 可能ファイルは表示されずに無視されます。また、生成されたシェルプロシージャは標準出力に書き出されま す。 オプション comb は以下のオプションを認識します。各オプションは指定ファイルのみを処理するものとして説明します が、すべてのオプションの効果は各指定ファイルごとに適用されます。 -pSID 保存する最古のデルタの S CCS 識別文字列 (SID) 。古いデルタはすべて再構成された ファイル内では廃棄されます。 -clist 保存するデルタの list ( list の構文については、 get(1) 参照)。その他のデルタはすべ て廃棄されます。 -o get -e が生成されるごとに、このオプションが、作成するデルタのリリース時に再構 成ファイルにアクセスします。それ以外の場合は、再構成ファイルは直前のリリース しかアクセスすることはできません。 -o オプションを使用すると、再構成 SCCS ファ イルのサイズを小さくできます。また、元のファイルのデルタツリー形状も変更でき ます。 -s このオプションにより comb は実行中にレポートを作るシェルプロシージャを生成し ます。このプロシージャは実行すると、ファイル名、結合後のサイズ ( ブロック単 位)、元のサイズ (ブロック単位)、パーセンテージの変化を以下のように計算して、 各ファイルごとにそれらの結果をレポートします。 100 ∗ (元のサイズ − 結合後のサイズ) / 元のサイズ このオプションは、すべての SCCS ファイルが結合して実際にどのくらいのスペース がその結合プロセスによって節約されるかを、正確に判定するために使用するようお 勧めします。 オプションを指定しなければ、 comb は、ツリーを保存するのに必要な最小数の祖先とリーフデルタだけを保 存します。 Section 1-168 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 comb(1) comb(1) 多言語化対応 サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 詳細については sccshelp(1) を使用してください。 例 コマンド comb -c1.1,1.3,1.6 s.document > save_file save_file という名前のシェルスクリプトを作成し、実行すると、古い s.document からの 1.1, 1.3, および 1.6 デ ルタのみを使って新しい s.document を作成します。このスクリプトにより古い s.document はオーバライトさ れるため、元のファイルを他の場所にコピーしておいてください。以下に代表的なテクニックの例を示しま す。 cp s.document s.save comb -c1.1,1.3,1.6 s.document > save_file sh save_file 警告 comb はデルタのツリー形状を再編成できます。ファイルを組み合わせてもスペースを節約できる場合とでき ない場合があり、実際、再構成ファイルが元のファイルよりも大きくなることがあります。 ファイル s.BOMB????? テンポラリファイル comb????? テンポラリファイル 参照 admin(1), delta(1), get(1), sccshelp (1) prs(1), sh(1), sccsfile(4) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-169 comm(1) comm(1) 名称 comm − 並べ換えた2つのファイルに共通する行の選択、または拒否 構文 comm [-[123] ] file1 file2 説明 comm は、昇順の照合順で並べられる file1 および file2 を読み込み ( sort(1) および下記の「環境変数」を参 照)、以下のような3段出力を生成します。 カラム1: file1 にのみある行 カラム2: file2 にのみある行 カラム3: 両ファイルにある行 - を file1 または file2 に使用した場合は、標準入力が使われます。 オプション1、2、または3は、対応するカラムのプリントを抑止します。したがって、 comm -12 は2つのファ イルに共通な行のみをプリントします。 comm -23 は、1番目のファイルの行だけをプリントし、2番目のファ イルの行はプリントしません。 comm -123 には意味がありません。 多言語化対応 環境変数 LC_COLLATE は照合順序を決定し、 comm は入力ファイルから期待します。 LC_MESSAGES は、メッセージの表示言語を決定します。 LC_MESSAGES が環境内で設定されていないか空白文字列に設定されている場合、 LANG の値がメッセージ の表示に使われる言語を決定します。現在使用している環境において、 LC_COLLATE が指定されていない場 合や、 LC_COLLATE に空の文字列が設定されている場合には、 LANG の値がその変数のデフォルトとして 用いられます。 LANG が未指定か、または空の文字列の場合、デフォルトの "C" ( lang(5) 参照) が LANG の 値として使われます。多言語対応変数のいずれかの設定が不適当な場合には、 comm はすべての多言語対応変 数が "C" に設定されているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングルバイト/マルチバイトの文字コードセットがサポートされています。 例 以下の例は、 file1 および file2 が、 LC_COLLATE または LANG 環境変数で定義される照合順序で並べられ たものとみなします。 file1 および file2 に共通な行をすべてプリントします (つまり、カラム3をプリントします)。 comm -12 file1 file2 file2 にはなく file1 にある行をすべてプリントします (つまり、カラム1をプリントします)。 Section 1-170 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 comm(1) comm(1) comm -23 file1 file2 file1 にはなく file2 にある行をすべてプリントします (つまり、カラム2をプリントします)。 comm -13 file1 file2 参照 cmp(1), diff(1), sdiff(1), sort(1), uniq(1) 標準準拠 comm: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-171 command(1) command(1) 名称 command − 単純なコマンドの実行 構文 command command_name [ argument ... ] 説明 command は、引き数を単純なコマンドとしてシェルで処理できるようにし、シェル関数の参照を抑制しま す。 command_name が関数の名前でなければ、 command の効果は command を省略した場合と同じです。 オペランド command は、以下のオペランドを認識します。 command_name HP-UX コマンドまたはシェルの組込みコマンドの名前 argument command_name への引き数として解釈される単一または複数の文字列 command コマンドは、コマンドと同じ名前の関数で (その関数への再帰的な呼び出しではなく)コマンドを呼 び出すために必要です。 command の記述は、このコマンド行が、その他の単純なコマンドと異なる構文解析を受けることを意図して いません。たとえば command a | b ; c は、 | または ; をパイプ演算子やセミコロン以外で処理する特殊な方法、 b または c の関数参照を防止する特 殊な方法では構文解析されません。 多言語化対応 環境変数 PATH は、コマンド検索時に使用する検索パスを決定します。 戻り値 以下の値のいずれかで終了します。 • command が異常終了する場合は以下のとおりです。 126 command_name によって指定されるユーティリティがありますが、実行可能ではありませ ん。 127 command ユーティリティでエラーが発生したか、 command_name によって指定された ユーティリティが見つかりません。 • command が異常終了しない場合は以下のとおりです。 command の終了ステータスは、以下の引き数によって指定される、単純なコマンドの終了ステー タスと同じです。 command_name[ argument ... ] Section 1-172 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 command(1) command(1) 例 新しいワークディレクトリの名前を常にプリントする cd コマンドを作ります。 cd() { command "$@" >/dev/null pwd } 再定義された上記の cd コマンドを回避し、新しいワークディレクトリの名前をプリントしないディレクトリ の変更は、以下のようにします。 command cd 参照 sh-posix(1), getconf(1), sh-posix(1), confstr(3C) 標準準拠 command: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-173 compact(1) compact(1) 名称 compact, uncompact, ccat − ファイルの圧縮、展開、出力および連結 構文 compact [ sfile] ... uncompact [ cfile] ... ccat [ cfile] ... 説明 compact は、指定ファイルを適応 Huffman コードにより圧縮します。ファイル名を与えなければ、標準入力が 圧縮されて標準出力に送られます。 compact はオンラインアルゴリズムとして動作します。また、1バイトが 読み込まれるたびに、現在のプレフィックスコードに従って即座にコード化されます。このコードは、それま でに出現した頻度のセットに対する最適 Huffman コードです。エンコーダおよびデコーダは同じ状態で起動 し、同期状態のまま止まるため、圧縮ファイルの前にデコードツリーをアタッチする必要はありません。さら に、 compact および uncompact はフィルタとして動作可能です。特に、 ... | compact | uncompact | ... は、(非常に低速な) no-opとして動作します。 引き数 file を与えるとそのファイルは圧縮され、生成したファイルは file.B に置かれます。またこのとき、 file は削除されます。圧縮ファイルの最初の 2 バイトは、ファイルが圧縮されていることを示すコードです。ま た、これらのバイトは再圧縮を禁止するのに使われます。 圧縮の予測量は、圧縮されるファイルのタイプによって異なります。圧縮によるファイル減少サイズの平均 は、テキストで 38%、Pascalソースで 43%、Cソースで 36%、バイナリでは 19% です。 uncompact は compact で圧縮されたファイルから元のファイルを復元します。ファイル名を指定しない場合、 標準入力は圧縮されずに標準出力に送られます。 ccat は、 compact で圧縮された c_file をファイルを展開することなく標準出力に書き出します。 オペランド compact コマンドは以下の演算を認識します。 cfile sfile 圧縮されたファイル。 圧縮あるいは展開するソースファイル。ファイル名が指定されない場合は、コマンドは標 準入力を用いて標準出力に送ります。 compact は圧縮されたファイルを file.B に置きま す。 アクセス制御リスト(ACL) アクセス制御リストをインプリメントしたシステムでは、新しいファイルが呼び出し元の有効ユーザーおよび グループ ID で作成されると、元のファイルの ACL は、所有権の全変更内容を反映するために改変されます。 その後、新しいファイルにコピーされます ( acl(5) と aclv(5) を参照)。 JFS ファイルシステムでは、 compact , Section 1-174 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 compact(1) compact(1) uncompact あるいは ccat で作成されたファイルは、親ディレクトリのデフォルトの ACL エントリーを (仮に 存在するとしても) 継承せず、代わりにファイル独自の元の ACL を維持します。 ccat あるいは compact や uncompact をフィルターとしての利用した結果、圧縮あるいは展開される前のファイルが JFS ファイルシステ ムにあり、そして圧縮あるいは展開後のファイルが HFS ファイルシステムに存在する場合は(その逆の場合で も)、任意の ACL エントリーは失われます。 警告 短いファイル名のタイプのシステムでは、追加される .B に対してスペースを見込めるように、ファイル名の 最後の部分は 12字以下でなければなりません。 制約 NFS ネットワーク化ファイルのアクセス制御リストのエントリーは、( stat() により st_mode で戻される際に) 要約 されますが、新しいファイルにはコピーされません ( stat(2) を参照)。 著者 compact は Colin L. Mc Master によって開発されました。 ファイル *.B 圧縮ファイルは圧縮により作成され、展開により削除されます。 参照 compress(1), pack(1), acl(5), aclv(5) Gallager, Robert G., ‘‘Variations on a Theme of Huffman,’’ I.E.E.E. Transactions on Information Theory, vol. IT-24, no. 6, November 1978, pp. 668 - 674. HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-175 compress(1) compress(1) 名称 compress, uncompress, zcat, compressdir, uncompressdir − データの圧縮および展開 構文 ファイルの圧縮 compress [-d] [-f|-z] [-z] [-v] [-c] [-V] [-b maxbits ] [ file ... ] uncompress [-f] [-v] [-c] [-V] [ file ... ] zcat [-V] [ file ... ] ディレクトリ サブツリー全体の圧縮 compressdir [ options ] [ directory ... ] uncompressdir [ options ] [ directory ... ] 説明 以下のコマンドは、次に示すようにファイルおよびディレクトリ サブツリーの圧縮および展開を行います。 compress 適切なLempel-Zivコーディングを使って指定 file のサイズを縮小します。縮小が 可能ならば、指定した各 file は同じ名前の新しいファイルに置き換えられ、ファ R イル名には接尾辞 .ft が追加されて圧縮ファイルであることを示します。元の所有 権、モード、アクセス、および修正時刻は保存されます。 file が指定されなかっ たか、または - が指定された場合は、標準入力が圧縮されて標準出力に出力さ れます。 uncompress 圧縮された file を元の形式に復元します。生成されるファイルには、元のファイ R ル名、所有権、およびパーミッションがあり、ファイル名の接尾辞 .ft は削除され ます。 file が指定されなかったか、または - が指定された場合は、標準入力が展 開されて標準出力に出力されます。 圧縮された file を元の形式に復元して、その結果を標準出力に送ります。 file が zcat 指定されなかったか、または - が指定された場合は、標準入力が展開されて標 準出力に出力されます。 compressdir フロントエンドプロセッサ。指定した各 directory サブツリーを再帰的にたど り、 compress を使用して directory にある各指定ファイルを圧縮します。生成さ れるファイルが既存のファイルより小さくなれば、元のファイルは圧縮ファイ ルに置き換えられ、ファイル名には接尾辞 .ft R が付けられます。ディレクトリ を指定しなければ、圧縮は現在のディレクトリから始まるすべてのファイルに 適用されます。 options には、有効な compress コマンドオプションをどれでも指定できます(こ れらは compress にそのまま渡されます)。すべてのファイルの圧縮を強行する 場合は、結果が元のファイルより大きくなるときでも、 -f オプションを指定し てください。 Section 1-176 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 compress(1) compress(1) uncompressdir compressdir の逆の処理。圧縮ファイルを元の形式に復元します。 options に は、有効な uncompress コマンドオプションをどれでも指定できます(これらは uncompress にそのまま渡されます)。 圧縮量は入力のサイズ、コード当たりの最大ビット数 (maxbits) および共通の副文字列の分散状況によって異な ります。通常、ソースコードや英語文などのテキストは、 50∼60パーセント縮小されます。圧縮は通常、ハフ マン(Huffman)コーディング ( pack で使用されている) または最適ハフマン(Huffman)コーディング (compact) に よって達成される圧縮より良好で、計算に必要な時間は少なくなります。 オプション これらのコマンドは、上記の 構文で示された組合わせで、次のオプションを認識します。 -d file を展開します。 compress -d は uncompress と同じです。 -f file の圧縮を強制的に行ないます。圧縮できないファイルがある場合でも、ディ レクトリ全体を圧縮する場合に便利です。 -f を指定せず、 compress をフォアグ ラウンドで実行する場合には、ユーザーは既存のファイルをオーバライトする かどうか入力を求められます。 -z これは -f オプションと同じですが、ヌル圧縮がある場合は圧縮を強制しない点 が異なります。 -v 圧縮した各ファイルの縮小率を説明するメッセージを表示します。 -c compress と uncompress を強制的に標準出力に書き込みます。ファイルの変更 はありません。 zcat の非破壊的な動作は uncompress -c の動作と同じです。 -V 標準エラーに現在のバージョンとコンパイルオプションを出力します。 -b maxbits compress アルゴリズムが使用する最大ビット数を指定します。デフォルトは16 であり、範囲は9∼16の任意の整数とすることができます。 compress は A Technique for High Performance Data Compression, Terry A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984)、8-19ページで紹介された修正Lempel-Zivアルゴリズムを使用しています。ファイルに共通の副文字列は 最初に、9ビットコード257以上に置き換えられます。コード512に達すると、アルゴリズムは10ビットコード に切り換わり、 -b フラグで指定された上限に達するまで (デフォルトは 16)、使用ビットを増やし続けます。 maxbits 上限に到達した後、 compress は定期的に圧縮比をチェックします。圧縮比が上がると、 compress は 既存のコード辞書を使用し続けます。ただし、圧縮比が落ちると、 compress は副文字列のテーブルを捨て、 最初からそれを構築し直します。これにより、アルゴリズムは、ファイルの次の「ブロック」に適応できま す。 -b フラグは uncompress の場合には省略されることに注意してください。これは、ランダムなデータを復元し たり、圧縮されたデータを再圧縮したりしないように、圧縮時に指定した maxbits パラメータが、マジックナ ンバーとともに出力時にコード化されるためです。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-177 compress(1) compress(1) アクセス制御リスト データの圧縮および展開を行う際、 compress はファイルのアクセス制御リストを保持します。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定され ている場合、 LANG の代わりにデフォルトの "C" が使用されます ( lang(5) を参照)。 国際化変数のいずれかが無効な設定を含む場合、 compress、 uncompress、および zcat はすべての国際化変数 が "C" に設定されているように振る舞います。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 戻り値 これらのコマンドは次の値を終了時に戻します。 0 正常終了。 2 最後のファイルの圧縮後のサイズが大きい。 1 エラーが発生。 診断 Usage: compress [-f|-z] [-dvcV] [-b maxbits] [file ...] 不正なオプションがコマンド行で指定されました。 Missing maxbits -b の後には maxbits を指定しなければなりません。 file: not in compressed format uncompress に指定したファイルは圧縮されていません。 file: compressed with xxbits, can only handle yybits file は、マシン上の圧縮コードより大きな maxbits 値を処理できるプログラムによって圧縮されまし た。より小さな maxbits 値で、ファイルを再圧縮してください。 file: already has .Z suffix -- no change ファイルは、すでに圧縮済みであるとされています。ファイルの名称を変更して、もう一度試してく ださい。 file: filename too long to tack on .Z R 出力ファイル名は、 .ft 接尾辞の付いたソースファイル名ですが、これはソースファイルが属すファイル システムには長すぎます。ソースファイル名を短くして再び試みてください。 Section 1-178 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 compress(1) compress(1) file already exists; do you wish to overwrite (y or n)? 出力で既存のファイルを置き換えたい場合には、 y と応答してください。さもなければ、 n と応答し てください。 uncompress: corrupt input 入力ファイルが破壊されたことを意味する SIGSEGV 違反が検出されました。 Compression: xx.xx% 圧縮によって節約される入力のパーセンテージ( -v の場合のみ)。 -- not a regular file: unchanged 入力ファイルが通常のファイルでない場合(例えばディレクトリ)は、変更されません。 -- has xxother links: unchanged 入力ファイルは、シンボリックリンク以外のリンクを持っています。変更されません。詳細は、 ln(1) を参照してください。 -- has symbolic links: unchanged 入力ファイルにはシンボリックリンクがあります。変更されません。詳細は、 ln(1) を参照してくださ い。 -- file unchanged 圧縮によって節約されません。入力は変更されません。 例 zenith という名前のファイルを圧縮して、圧縮情報をターミナルにプリントします。 compress -v zenith ターミナルディスプレイには、2種類の行のいずれかが表示されます。その例を示します。 zenith: Compression: 23.55% -- replaced with zenith.Z これは、圧縮されたファイルが元のファイルより 23.55%小さくなったことを示します。また、 zenith: Compression: -12.04% -- file unchanged は、ファイルの圧縮を行うと12.04%のスペースを追加使用しなければならないことを示します。 以下のコマンドのいずれかをタイプ入力して、圧縮を復元します。 uncompress zenith.Z compress -d zenith.Z これにより、ファイル zenith.Z は元の展開された形式および名前に復元されます。 uncompress は、ファイルの指定がなければ標準入力を展開します。例えば、圧縮されたtarファイルをリスト するには次のように指定します。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-179 compress(1) compress(1) uncompress -c arch.tar.Z | tar -tvf - 警告 圧縮されたファイルは大容量のメモリがあるマシン間では使用できますが、データ処理スペースが小さい(64K バイト以下) アーキテクチャにファイル転送する場合には、オプション -b12 を指定する必要があります。 1NFS ネットワーク化されたファイルのアクセス制御リストは要約されます( stat() によって st_mode の中に戻される のと同じですが、新しいファイルにはコピーされません( stat(2) を参照))。 著者 compress は、Joseph M. Orost、Kenneth E. Turkowski、Spencer W. Thomas、およびJames A. Woodsによって開発 されました。 ファイル *.Z compress によって作成され、 uncompress によって削除される圧縮ファイル 参照 compact(1), pack(1), acl(5) 標準準拠 compress: XPG4 Section 1-180 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 convert(1) convert(1) 名称 convert − 音声ファイルの変換 構文 /opt/audio/bin/convert [source_file target_file -sfmt format -dfmt format -ddat data_type -srate rate -drate rate -schannels number -dchannels number] 説明 このコマンドは、サポートされているファイルフォーマット、データフォーマット、サンプリングレート、お よびチャンネル数の音声ファイルを、サポートされている別のファイルフォーマット、データフォーマット、 サンプリングレート、およびチャンネル数に変換します。 -sfmt format -dfmt format 変換前のファイルおよび変換後のファイルのフォーマットです。それぞれの format には、次のいずれ かを指定できます。 au Sun ファイルフォーマット snd NeXT ファイルフォーマット wav Microsoft RIFF Waveform ファイルフォーマット u MuLaw フォーマット al ALaw l16 リニア 16ビットフォーマット lo8 オフセット (符号なし) リニア 8ビットフォーマット l8 リニア 8ビットフォーマット -sfmt を指定しないと、 convert は変換前のファイルのヘッダーまたはファイル名拡張子を使用しま す。変換後のファイルの名称に拡張子を指定する場合には、 -dfmt の指定を省略できます。 -ddata data_type 変換後のファイルのデータ型です。 data_type には、次のいずれかを指定できます。 u MuLaw al ALaw l16 リニア 16ビット lo8 オフセット (符号なし) リニア 8ビットデータ l8 リニア 8ビットデータ -ddata を指定しないと、 convert は適切と思われるデータ型 (普通は、変換前のファイルのデータ型) を使用します。 -srate rate -drate rate 変換前および変換後のファイルの 1秒あたりのサンプル数です。一般的なサンプリングレートの範囲 は、8∼11k (声の音質の場合) から 44,100 (CD 音質の場合) までです。千の意味で k を使うことができ ます。例えば、 8k は毎秒 8,000 サンプルという意味です。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-181 convert(1) convert(1) -srate を指定しないと、 convert は変換前のファイルのヘッダーまたはファイル名拡張子で定義されて いるレートを使用します。拡張子のない raw データファイルの場合には、8,000 を使用します。毎秒 8,000 サンプルというレートが妥当かどうかは、ファイルを再生することにより判断できます。 -drate を指定しないと、 convert は変換後のファイルフォーマットに適したサンプリングレート (可能 なら、変換前のファイルのサンプリングレート) を使用します。 -schannels number -dchannels number 変換前のファイルおよび変換後のファイル中のチャンネル数です。モノの場合には 1 を、ステレオの 場合には 2 を指定してください。 −schannels を指定しないと、 convert はヘッダー内の情報を使用し ます。raw データファイルの場合には、モノを使用します。 −dchannels を指定しないと、 convert は変換前のファイル用に (ヘッダーまたは −schannels オプション で) 指定された値と同じ値を使用します。raw データファイルの場合には、モノを使用します。 例 raw データファイルをヘッダー付きファイルに変換する。 cd /opt/audio/bin convert beep.l16 beep.au 拡張子がなく、サンプリングレートが毎秒 11,025 で、ステレオデータが格納されている raw データファイル を、ヘッダー付きファイルに変換する。 cd /opt/audio/bin convert beep beep.au -sfmt l16 -srate 11025 -schannels 2 ディスクスペースを節約するために、CD 音質の音声ファイルを、声の音質に変換する。 cd /opt/audio/bin convert idea.au idea2.au -ddata u -drate 8k -dchannels 1 著者 convert は、 HP で開発されました。 Sun は米国 Sun MicroSystems 社の商標です。 NeXT は NeXT Computers, Inc. の商標です。 Microsoft は米国マイクロソフト社の登録商標です。 参照 audio(5), asecure(1m), aserver(1m), attributes(1), send_sound(1) 『Using the Audio Developer’s Kit』 Section 1-182 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 cp(1) cp(1) 名称 cp − ファイルおよびディレクトリ サブツリーのコピー 構文 cp [-f -i] [-p] [-S] [-e extarg] file1 new_file cp [-f -i] [-p] [-S] [-e extarg] file1 [ file2 ... ] dest_directory cp [-f -i] [-p] [-S] [-R -r] [-e extarg] directory1 [ directory2 ... ] dest_directory cp -R -r [-H -L -P] [-f -i] [-p] [-S] [-e extarg] file1 directory1 [ file2 directory2 ...] dest_directory 説明 cp は次のようなコピーを行います。 • file1 を新規または既存のファイル new_file にコピーする。 • file1 を既存の dest_directory にコピーする。 • file1、 file2、 ... を既存の dest_directory にコピーする。 • ディレクトリのサブツリー directory1 を新規または既存のディレクトリ dest_directory にコピーす る。 • 複数のディレクトリ サブツリー directory1 、 directory2 、 ... を新規または既存のディレクトリ dest_directory にコピーする。 file1 と new_file に同じファイルを指定すると、 cp は異常終了します (シェルのメタキャラクタを使用するとき は注意してください)。宛先がディレクトリの場合、 1 つ以上のファイルがそのディレクトリにコピーされま す。複数のファイルをコピーする場合は、宛先にディレクトリを指定しなければなりません。 1つのファイル を新規ファイルにコピーするときに、 new_file が既存の場合は、その内容が破壊されます。 宛先ディレクトリ dest_directory 、または既存の宛先ファイル new_file で書き込みが禁止されている場合、 cp は打ち切られ、エラーメッセージ "cannot create file " が出力されます。 1 つ以上のディレクトリ サブツリーを別のディレクトリにコピーする場合は、 -r オプションが必要になりま す。 -r オプションは、あるファイルを別のファイルにコピーする場合、または複数のファイルをディレクトリ にコピーする場合には無視されます。 new_file が既存のファイルに対するリンクになっており、その既存ファイルにさらに別のリンクが含まれてい る場合、 cp により既存ファイルはオーバライトされますが、設定されたリンクはすべてそのまま保持されま す。あるファイルを既存のファイルにコピーする場合、 cp により、既存ファイルのアクセス パーミッション ビット、オーナー、またはグループが変更されることはありません。 ディレクトリまたはまだ存在していない新規ファイルにファイルをコピーする場合、 cp は file1 と同じファイ ル パーミッションビットを持つファイルを新たに作成します。その際、 -p オプションが指定されていなけれ ばユーザーの作成マスクで修正し、その後 S_IRWXU との論理和を取ります。新規ファイルのオーナーとグ ループはユーザーのオーナーとグループになります。 new_file の最終修正時刻 (new_file が存在しない場合は最 後のアクセス時刻) およびソースファイル file1 の最終アクセス時刻は、コピーの実行時刻にセットされます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-183 cp(1) cp(1) オプション -i (対話型のコピー) cp は標準エラー出力にプロンプトを送り、ユーザーによる応答を確認してから、既 存ファイルへのオーバライトを行います。標準入力から肯定応答があると、コピー操作が許可されて いれば、ファイルがコピーされます。 -f ( 強制コピー ) 宛先ファイルが存在し、ユーザーが書込み許可を持っていない場合、このオプション は、コピー操作で新たに作成されるファイルの名前とディレクトリの存在位置が既存ファイルのもの と何らかの矛盾があっても、既存ファイルを壊し、置き換えを行います。 -p ( パーミッションの保持) コピー操作の間に、 cp はパーミッションで許可されている限り、修正時 刻、アクセス時刻、ファイルモード、ユーザー ID 、およびグループ ID を保持するようになります。 -r ( サブツリーの再帰的コピー) cp は各ソースディレクトリを出発点とするサブツリーを dest_directory にコピーします。 dest_directory が既存の場合は、この指定がディレクトリでなければなりません。こ の場合、 cp は dest_directory 中に file1 と同じ名前のディレクトリを作成し、 file1 を出発点とするサ ブツリーを dest_directory/file1 にコピーします。 dest_directory/file1 が既存の場合、エラーになりま す。また、 dest_directory が存在していない場合は、 cp によりこれが作成され、 file1 を出発点とする サブツリーが dest_directory にコピーされます。 cp -r では、サブツリーはマージされません。 一般には、通常のファイルおよびディレクトリがコピーされます。キャラクター型特殊デバイス、ブ ロック型特殊デバイス、ネットワーク特殊ファイル、名前付きパイプ、シンボリックリンク、および ソケットがコピーされるのは、ユーザーにファイルに対するアクセス権がある場合です。それ以外の 場合は、ファイルのコピーができないことを示す警告が表示され、そのファイルは抜かされます。 dest_directory が directory1 の中に存在したり、また directory1 が循環ディレクトリ構造になっていた りしてはなりません。いずれの場合も、 cp によりデータが無限にコピーされるからです。 UNIX 標準環境 ( standards(5) 参照 ) では、複数のファイルを存在しないディレクトリにコピーしよう とすると、 cp はエラーで終了します。 -R (サブツリーの再帰的コピー) -R オプションは -r オプションと等価です。 -R および -r オプションを指定すると、 cp は、通常のファイルおよびディレクトリに加えて、 FIFO、キャラクタ型およびブロック型デバイスファイル、およびシンボリックリンクもコピーしま す。デバイスファイルをコピーできるのはスーパーユーザーだけです。その他のユーザーはエラーを 受け取ります。シンボリックリンクについては、ターゲットがソースと同じ位置を指すように、コ ピーが行われます。 警告: デバイス特殊ファイルのあるディレクトリツリーをコピーするときは、 -r オプションを使用し てください。そうでないと、デバイス特殊ファイルからデータが無限に読み取られ、そのデータが宛 先ディレクトリ中に特殊ファイルとして重複してコピーされるので、ファイルシステムスペースを大 きく占有します。 -H Section 1-184 cp は、オペランドに指定されたシンボリックリンクを追い、宛先にコピーします。 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 cp(1) cp(1) -L cp は、オペランドに指定されたシンボリックリンクや、ファイル階層を追っている時に見つかった シンボリックリンクを追い、宛先にコピーします。 -P cp は、オペランドに指定されたシンボリックリンクや、ファイル階層を追っている時に見つかった シンボリックリンクにコピーします。このオプションはシンボリックリンクを追いません。 -e extarg コピーするファイルのエクステント属性の処理方法を指定します。 extarg には、以下の値のいずれか 1つを指定します。 warn エクステント属性がコピーできず、ファイルのみコピーした場合に、警告メッセージ を発行します。 ignore エクステント属性をコピーしません。 force エクステント属性がコピーできない場合、ファイルのコピーを取り止めます。 エクステント属性がコピーできないのは、エクステント属性をサポートしていないファイルシステムにファイ ルをコピーしようとした場合、またはファイルシステムのブロックサイズが元のと異なる場合です。 -e が指定 されない場合、 extarg のデフォルト値は warn です。 -S セーフモードを指定します。 O_DSYNC フラグを設定して対象ファイルをオープンし、システム性能 への cp の影響を最小限に抑えます。コピーする総サイズ (個々のファイルのサイズではない) が、シ ステムのバッファーキャッシュのサイズの大部分を占めるような場合に 推奨されます。このオプショ ンを指定すると、コピーの所要時間が長くなります。 1つ以上の相互に排他的なオプション -H, -L, や -P を指定しても、エラーにはなりません。最後に指定されて いるオプションに従います。 アクセス制御リスト (ACL) new_file が新規ファイルの場合、または dest_directory 中にファイルを新たに作成する場合は、もとの file1、 file2 などのアクセス制御リストを継承して、両ファイルに見られる所有権の違いを反映するように変更されま す ( acl(5) と aclv(5) 参照)。 JFS ファイルシステムでは、 cp で作られる新しいファイルは、親ディレクトリの デフォルト ACL エントリーを受け継ぎません。しかし、代わりにコピーされるファイルの ACL に従います。 JFS ファイルシステムから HFS ファイルシステムへコピーする場合、もしくはその逆の場合、オプションの ACL エントリーは失われます。 多言語化対応 UNIX 標準環境については、 standards(5) を参照ください。 環境変数 LC_CTYPE により、テキストをシングルバイト、またはマルチバイトのいずれの文字で解釈するかを決定し ます。 LANG および LC_CTYPE により、y (肯定応答/否定応答の確認) に対応する母国語を決定します。 LANG により、メッセージの表示に使用する言語を決定します。 環境に LC_CTYPE を指定していない場合、または空の文字列にセットされている場合は、未指定の変数、ま HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-185 cp(1) cp(1) たは空の変数に対するデフォルトとして、 LANG の値が使用されます。また、 LANG を指定していない場 合、または空の文字列にセットされている場合は、 LANG の代わりに "C" (lang(5) 参照) がデフォルトとして 使用されます。インターナショナル変数に無効な値がセットされていると、 cp はインターナショナル変数が すべて "C" にセットされているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 以下のコマンドでは、ディレクトリ sourcedir とその内容がファイルシステム中の別の位置 (targetdir) にコピー されます。 cp は新たにディレクトリが作成するので、宛先ディレクトリ targetdir が既存であってはいけませ ん。 cp -r sourcedir targetdir && rm -rf sourcedir -r オプションでは、ディレクトリ sourcedir 下にあるサブツリー (ファイルとサブディレクトリ) がディレクト リ targetdir にコピーされます。アンパサンドを2つ続ける (&&) ことにより、条件付きで動作を実行させるこ とができます。 && の左辺が正しく実行されれば、右辺が実行されます (古いディレクトリが削除されます)。 一方、 && の左辺が異常終了の場合は、古いディレクトリは削除されません。 この例は、次のコマンドと等価になります。 mv sourcedir targetdir 現在のディレクトリにあるファイルとディレクトリ サブツリーをすべて、既存ディレクトリ targetdir にコピー する場合は、次のコマンドを使用します。 cp -r * targetdir sourcedir にあるファイルとディレクトリ サブツリーをすべて targetdir にコピーする場合は、次のコマンドを 使用します。 cp -r sourcedir/* targetdir sourcedir と targetdir の前に、ディレクトリのパス名を置くこともできます。 長さゼロのファイルを作成する場合は、次のいずれかを使用します。 cat /dev/null > file cp /dev/null file touch file 制約 NFS ネットワーク上に分散したファイルのアクセス制御リストはまとめられます (stat() によって st_mode の中に戻 されます) が新たなファイルとしてコピーされることはありません。この種のファイルに mv または ln 使用す ると、ファイルの上書きに関するパーミッションを確認してきた時点で、モード値の後に + 文字はプリントさ Section 1-186 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 cp(1) cp(1) れなくなります。 著者 cp は AT&T、カリフォルニア大学バークレー校、および HPで開発されました。 参照 cpio(1), ln(1), mv(1), rm(1), link(1M), lstat(2), readlink(2), stat(2), symlink(2), symlink(4), acl(5), aclv(5), standards(5) 標準準拠 cp: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-187 cpio(1) cpio(1) 名称 cpio − ファイルアーカイブのコピーインおよびコピーアウト、ディレクトリツリーの複製 構文 cpio −o [−e extarg] [achvxABC] cpio −i[bcdfmrstuvxBPRSU6] [ pattern...] cpio −p [−e extarg] [adlmruvxU] directory 説明 cpio コマンドは、磁気テープ、各種デバイス、通常ファイルなどにあるファイルのアーカイブを保存/復元しま す。また、ディレクトリのツリー構造を複製して、あるディレクトリのファイルを別のディレクトリにコピー します。 cpio はファイルの処理を終了すると、書き込まれたブロック数を表示します。 cpio −o (copy out, export) 標準入力を読み込んでパス名のリストを取得し、これらのファイルを パス名およびステータス情報とともに標準出力にコピーします。出力は512バイトの境界 に達するまでパディングされます。 cpio −i (copy in, import) 以前の cpio −o の出力である標準入力からファイルを抽出します。 pattern... が指定されているときは、 pattern に一致する名前の付いたファイルのみが、パ ターンマッチング表記の規則に従って (regexp(5) 参照)選択されます。更に、先頭に ! が あるパターンは、そのパターンの残りの部分に 一致しない名前のみが選択されることを 示します。複数の パターンを指定することができ、パターンの追加と解釈されます。 pattern を省略した場合は、 pattern のデフォルトは * (すべてのファイルを選択)になりま す。 f オプションも参照してください。 抽出ファイルは、以下に示したオプションによって決定される条件によって作成され、 現在のディレクトリツリーにコピーされます。ファイルのパーミッションは、 U オプ ションを使用する場合を除いては、アーカイブが cpio −o によって作成されたときの元の ファイルのパーミッションになります。ファイルの所有者およびグループは、ユーザー が適切な特権を所有している場合を除き、現在のユーザーの所有者およびグループにな ります。特権がある場合には、 cpio は以前の cpio −o 実行時のファイルの所有者および グループに変更を加えません。 cpio −p (passthrough) 標準入力を読み込み、ファイルのパス名のリストを取得します。このファ イルは以下に述べられたオプションにより決定される条件で作成され、あて先 directory ツリーにコピーされます。 directory は存在していなければなりません。あて先パス名 は、指定した directory からの相対として解釈されます。 −p オプションを指定してリンクを取り扱うと、リンクだけが渡され、データブロックは一切読み書き されません。 cpio −pl を使用する際には、特にこの点に気をつける必要があります。このオプション でコマンドを使用すると、ファイルがすべてリンクとして作成され、ブロックがまったく書き込まれ Section 1-188 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 cpio(1) cpio(1) ていないので、 cpio で "0 blocks" と表示される可能性が高くなります (−l オプションの説明は以下を 参照)。 オプション cpio では −i、 −o、および −p の後に以下のオプションを付加することができます。各オプションと −i、 −o、 −p の間には空白やハイフンを入れることはできません。 a b コピー後、入力ファイルのアクセス時刻を再設定します。 バイトのスワップとハーフワードのスワップをします。 −i とのみ使用できます。詳細は、 P オプションを参照してください。また、 s および S の各オプションも参照してくださ い。 c ポータビリティを保つため ASCII 文字形式でヘッダ情報を書き込みまたは読み込みます。 d 必要に応じてディレクトリを作成します。 −e extarg アーカイブまたはコピーするファイルのエクステント属性を処理するように指定します。 extarg は次のいずれかの値を取ります。 warn エクステント属性が保存できない場合に、ファイルをアーカイブ、またはコ ピーして、警告メッセージを生成します。 ignore force エクステント属性を保存できない場合でも、警告メッセージを出力しません。 エクステント属性を持つファイルはアーカイブされず、警告メッセージが出力 されます。 −o オプションを使用すると、エクステント属性はアーカイブには保存されません。また、 −p オプションでは、エクステント属性がサポートされていないファイルシステムにファイ ルをコピーする場合は、エクステント属性は保存されません。 −e の指定を省略すると、 extarg のデフォルト値として warn が使用されます。 f h pattern.... で選択されたファイルを除き、すべてのファイルをコピーインします。 通常のファイルやディレクトリの場合と同じように、シンボリックリンクをたどります。 通常、 cpio は、リンクをアーカイブします。 l 可能な限り、ファイルをリンク ( コピーではなく) します。このオプションにより、既存 ファイルが破壊されることはありません。 −p とのみ使用します。 m 以前のファイル修正時刻が保持されます。このオプションにより、コピー中のディレクト リが影響を受けることはありません。 r 対話形式でファイルの名称を変更します。ユーザーがヌル行をタイプすると、ファイルは スキップされます。 s ファイルの全バイトをスワップします。 −i とのみ使用します。詳細は、 P オプションを参 照してください。また、 b と S の各オプションも参照してください。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-189 cpio(1) cpio(1) t 入力の目次のみをプリントします。ファイルの作成、読み込み、またはコピーは行われま せん。 u 無条件にコピーします (通常は、古いファイルが同じ名前の新しいファイルに置き換わるこ とはありません)。 v ファイルを処理するごとに、ファイルリストをプリントします。 t オプションとともに使 用すると、目次は次のようなフォーマットになります。 numeric-mode owner-name blocks date-time filename ここで、 numeric-mode は、ファイル特権を数値形式で表したものです。 owner-name は ファイルの所有者名です。 blocks は、ファイルのサイズを 512 バイトブロック単位で表し たものです。 date-time は、最後にファイルが修正された日時を表します。 filename は、 アーカイブに記録されたファイルのパス名です。 x デバイス特殊ファイルをセーブ、または復元します。復元時にこれらのファイルを再生す るために mknod() が使用されるため、 −ix と −px は適切な特権のあるユーザーのみが使用 できます (mknod(2) を参照)。このオプションはシステム内での (バックアップ) 利用のみを 想定したものです。デバイスファイルを OS の古いバージョンまたは異なるシステムから復 元することは、たいへん危険です。 cpio では、アーカイブから復元できないデバイスファ イルがあります。 A オプションのアクセス制御リストエントリーに関する警告メッセージの表示を抑制しま す。 cpio は、ファイルのアクセス制御リスト内のオプションのアクセス制御リストエント リーをバックアップしません (acl(5) を参照)。通常、警告メッセージは、オプションのアク セス制御リストエントリーを持つファイルごとにプリントされます。 B レコードに対して 5120 バイトごとに入出力をブロックします (cpio −p には適用されませ ん)。このオプションは、磁気テープなどの可変長レコードをサポートするデバイスを対象 とするデータに限って意味があります。 C 各ボリュームの開始時に cpio がチェックポイントを作成します。 cpio が即時報告モードを 使用可能にしてストリーム テープドライブに書き込みを行っている際に、書き込みエラー が起きると、通常は、戻りコード 2 で異常終了します。このオプションを指定すると、 cpio は、自動的にチェックポイントから再開して、現在のボリュームを再度書き込みま す。一方、 cpio がこのような方法で書き込んでいない場合に書き込みエラーが起きると、 cpio は通常、次のボリュームから続行します。ただし、このオプションを指定すると、 ユーザーは、エラーを無視するか、あるいは現在のボリュームへ再書き込みを行うかを選 択できます。 P c オプションを使用せずに PDP-11 または VAX システムで書き込まれたファイルを(バイト スワップして)読み込みます。 −i と併用した場合にのみ有効です。このモードでコピーされ るファイルは変更されません。 ASCII 形式でないファイルは読み込み可能にするため、さ Section 1-190 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 cpio(1) cpio(1) らなる処理が必要となります。このプログラムで常に対応できるとは限らないので、この 処理をするためにはファイルの内容を知っておく必要があります。テープ上の全バイト ( ヘッダだけではなく) をスワップする場合は、 b, s, および S の各オプションを使用できま す。一般に、テキストでは P を付けた場合、バイナリデータでは他のオプションを付けた 場合に、最も処理能力が高くなります。 R S cpio が "Out of phase" になると、自動的に再同期します( 診断の項を参照)。 ファイル中の全ハーフワードをスワップします。 −i とのみ使用します。詳細は、 P オプ ションを参照してください。また、 b と s の各オプションも参照してください。 U creat(2) と同じように、プロセスのファイルモード作成マスクを使用して (umask(2) を参 照)、作成ファイルのモードを変更します。 6 UNIX の第6版フォーマットファイルを処理します。 −i とのみ使用します。 raw デバイスファイルを使って作成される cpio アーカイブは raw デバイスファイルを使って読み込まなければ ならないので注意してください。 テープの終端に達すると、 cpio は、ユーザーに新しい特殊ファイルを入力するように求めて続行します。 単一または複数のメタキャラクタをシェルに展開させることなく cpio に渡したい場合には、必ず、それぞれに バックスラッシュ (\) を前に付けてください。 −ox オプション (dev/tty03 など)で書き込まれたデバイスファイルは HP-UX の別の処理系に持って行くことは できません。 多言語化対応 環境変数 LC_COLLATE により、ファイル名を生成するためにパターンマッチング表記を評価する際に使用される照合 順序を決定します。 LC_CTYPE により、テキストをシングルバイト、またはマルチバイトのいずれの文字 (あるいはその両方) と して解釈するか、およびパターンマッチング表記の文字クラス表現と照合される文字を決定します。 LC_TIME により、 −v オプションを付けてアーカイブの内容をリストする際、日時文字列出力のフォーマッ トおよび内容を決定します。 LANG により、メッセージの表示に使用する言語を決定します。 現在使用している環境において、 LC_COLLATE, LC_CTYPE, または LC_TIME が指定されていない場合や、 これらが空文字列に設定されている場合には、 LANG の値がそれらの未指定あるいは空の変数のデフォルトと して使用されます。 LANG が指定されていなかったり、空文字列に設定されている場合には、デフォルトの "C" (lang(5) を参照)が LANG の値として使われます。多言語対応変数のいずれかの設定が不適切な場合には、 cpio はすべての多言語対応変数に"C"が設定されているものとして動作します。 environ(5) を参照してくださ い。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-191 cpio(1) cpio(1) サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 cpio は、次の終了コードを返します。 0 正常終了。転送できなかったファイルについては、標準エラーを見直します。 1 同期化中のエラー。一部のファイルが回復されていない可能性があります。 2 Out of phaseエラー。ファイルヘッダが破壊されているか、フォーマットが誤っています。 診断 Out of phase--get help Perhaps the "c" option should [n’t] be used cpio −i は、アーカイブファイルのヘッダを読み取れませんでした。ヘッダが破壊されている か、または誤ったフォーマットで書き込まれています。 R オプションが指定されていない場 合、 cpio は、終了コード 2 を返します。 ファイル名がまだ表示されていない場合は、フォーマットの問題である可能性があります。別 のヘッダフォーマット オプションを試してください。標準フォーマットの場合はヌル、 ASCII の場合は c、バイトスワップ フォーマットの場合は b, s, P, または S、 UNIX 第6版の場合は 6 です。 これ以外の場合は、ヘッダが破壊されている可能性があります。 cpio に自動的にファイルを 再同期化させる場合は、 R オプションを使用します。再同期化とは、 cpio がアーカイブファ イルの次の正常なヘッダを探して、ここから処理を続行することです。 cpio がフェーズの 合っていない状態で再同期化を始めると、終了コード 1 を返します。 その他の診断メッセージは、内容を読めば分かります。 例 ディレクトリの内容をテープアーカイブにコピーします。 ls | cpio −o > /dev/rtape/tape4QIC150 次例では、ディレクトリ階層を複写します。 cd olddir find . −depth −print | cpio −pd newdir 小さな例 find . −depth −print | cpio −oB >/dev/rtape/tape4QIC150 は、次のようにすると、より効率よく処理することができます。 Section 1-192 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 cpio(1) cpio(1) find . −cpio /dev/rtape/tape4QIC150 警告 業界標準に準拠し相互運用性を確保するために、 cpio は 2GB を超えるファイルのアーカイブや 60K を超える ユーザー/ グループID を持つファイルはサポートしていません。 60K を超えるユーザー/ グループ ID を持つ ファイルは、現在のプロセスのユーザー/グループ ID でアーカイブ復元されます。 cpio の出力を、 cpio の対象となっている元のファイルと同じディレクトリにある指定された cpio アーカイブ ファイルにリダイレクトしないでください。これにより、データが失われる可能性があるためです。 cpio は、引き渡されたファイル名のリストから先行する ./ 文字をすべて削除します。 パス名は PATH_MAX 文字に制限されます (<limits.h> と limits(5) を参照)。重複していないリンクファイルの 数が多すぎる場合には、プログラムはそれらを監視するメモリを使い果たしてしまいます。それ以降、リンク 情報は失われます。適切な特権があるユーザーだけが特殊ファイルをコピーできます。 −ox[c] オプションを付けて HP マシンで書き込まれた cpio テープは、 x オプションをサポートしていない (非 HP の) cpio を誤動作させることがあります。 cpio の非 HP (または、非 AT&T)バージョンの (HP) cpio が修正 され、 (HP の) cpio がそれをデバイス特殊ファイルとして認識するようになった場合、偽のデバイスファイル が作成されることがあります。 /dev/tty にアクセスできない場合、 cpio は、障害を検出し終了します。 −pd オプションはコマンド行に入力されたディレクトリを作成しません。 −idr オプションは空のディレクトリを作成しません。 −plu オプションはファイルを既存のファイルにリンクしません。 POSIX はアーカイブの終端マーカとして TRAILER!!! という名前のファイルを定義します。したがって、そ の名前のファイルが cpio −o によって書き込まれるファイルのグループにある場合には、ファイルはアーカイ ブの終端として解釈され、残りのファイルはコピーされません。アーカイブの終端ファイル名に類似した名称 をファイルに付けないようにお勧めします。 POSIX 準拠の cpio アーカイブを作成するには、 c オプションを使用しなければなりません。 POSIX 準拠の cpio アーカイブを読み込むには、 c オプションを使用しなければなりません (b, s, S, と 6 オプションは使用し てはなりません)。ユーザーに適切な特権がなければ、アーカイブを読み込む際に、 POSIX 準拠の動作を行う には U オプションも使用する必要があります。適切な特権があるユーザーは、 POSIX 準拠の動作を行う場合 にこのオプションを使用しないでください。 制約 cpio に指定するパスの最後の要素としてシンボリックリンクが含まれている場合、このリンクはたどられ、パ ス名の解決が続けられます。 cpio はシンボリックリンクのターゲット (リンクそのものではなく) を使用しま す。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-193 cpio(1) cpio(1) 参照 ar(1), find(1), tar(1), mksf(1M), cpio(4), acl(5), environ(5), lang(5), regexp(5), mt(7) 標準準拠 cpio: SVID2, SVID3, XPG2, XPG3 Section 1-194 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 cpp(1) cpp(1) 名称 cpp − C言語プリプロセッサ 構文 /usr/ccs/lbin/cpp [option]... [ifilee [ofile]] 説明 cpp は、 cc コマンド( cc(1) を参照)を使用したとき、Cコンパイルの最初のパスとして起動されるC言語プリプ ロセッサです。これは、 #include や条件コンパイル命令、およびマクロを処理するために使用されます。した がって、 cpp の出力の形式は、Cコンパイラの次のパスに対する入力として受入れ可能なように設計されてい ます。 C言語が発展するにつれ、 cpp やその他のCコンパイルパッケージはこれらの変更に従うように修正さ れています。したがって、 cpp をこれ以外の方法で使用しないようにしてください。 cpp の機能はいつか別の 場所に移される可能性があるため、 cc コマンドを使用して cpp を実行するようにお勧めします。汎用マクロ プロセッサについては、 m4(1) を参照してください。 cpp はオプションにより2つのファイル名を引き数として任意に受け付けます。 ifile と ofile は、それぞれプリ プロセッサの入出力です。指定されなければ、これらのデフォルトは標準入力および標準出力になります。 オプション cpp では、以下のオプションが認識されます。 -A 英字および _HPUX_SOURCE から始まる定義済みシンボルをすべて削除します。 ユー ザー は、 こ の オ プ ショ ン を 使 用 す る 際 に、 _POSIX_SOURCE ま た は _XOPEN_SOURCE を定義するようにしてください。 -C デフォルトでは、 cpp はCスタイルのコメントを取り除きます。 -C オプションを指 定すると、すべてのコメント( cpp の指令行にあるものは除く)が渡されます。 -Dname -Dname=def #define 指令によるかのように定義します。 =def を与えなければ、 name は 1 として 定義されます。 -D オプションの優先順位は -U オプションより下位です。したがっ て、同じ名前を -U オプションと -D オプションの両方で使用すると、名前はオプショ ンの順序とは関係なく未定義となります。 -Hnnn 内部マクロ定義テーブルのサイズが nnn バイトになるように変更します。デフォルト のバッファサイズは、最低 8 188 バイトです。このオプションは、 "Macro param too large"、"Macro invocation too large"、 "Macro param too large after substitution"、 "Quoted macro param too large" 、 "Macro buffer too small" 、 "Input line too long" 、および "Catenated input line too long" といったエラーを取り除くために使用されます。 -h[ inclfile ] インクルードされるファイルを作成し、その結果を inclfile というファイルに出力しま す。引き数 inclfile を省略した場合、結果は標準エラーに出力されます。 -Idir 名前が / で始まらない #include ファイルを探すアルゴリズムを、標準リストにある ディレクトリを探す前に dir を調べるように変更します。したがって、名前が二重引 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-195 cpp(1) cpp(1) 用符 ("") で囲まれている #include ファイルは、最初に #include 行のあるファイルの ディレクトリ、次に左から右順の -I オプションで指定されているディレクトリ、最後 に標準リストのディレクトリから探されます。名前がかぎ括弧 (<>) で囲まれた #include ファイルの場合、 #include 行のあるファイルのディレクトリが探されませ ん。ただし、ディレクトリ dir は、引続き探されます。 -M[ makefile ] メイクファイルの依存関係を定義し、その結果を makefile というファイルに出力しま す。引き数 makefile を省略した場合、結果は標準エラーに出力されます。. -P Cコンパイラの次のパスによって使用される行制御情報を作成せずに、入力をプリプ ロセッシングします。 HP-UX はプリプロセッサシンボルを8文字までに制限しません。 -T オプションによ -T り、 cpp は、異なるプリプロセッサ名を区別するために最初の8文字のみを使用しま す。この動作は、名前の長さに関してはその他のシステムのプリプロセッサと同じで あり、互換性のために含まれています。 -Uname name の初期定義を削除します。ただし、 name は特定のプリプロセッサによって事前 に定義されている予約シンボルです。これらのシンボルの現在のリストとしては、以 下のものがあります。 オペレーティングシステム: unix ハードウェア: _ _unix hp9000s200 hp9000s300 hp9000s800 _ _hp9000s800 hp9000ipc _ _hppa _PA_RISC1_0 _ _hp9000s300 hp9000s500 _PA_RISC1_1 hppa _SIO _WSIO UNIX システムのバリエーション: hpux _ _hpux _HPUX_SOURCE PWB _PWB lint(1): lint _ _lint さらに、アンダースコアおよび大文字英字または2つののアンダースコアのいずれか で始まるシンボルはすべて予約されています。その他のシンボルは、 CCOPTS 変数 またはCコンパイラに対する他のコマンド行オプションによってコンパイル時に定義 することができます( cc(1) を参照)。すべての HP-UX システムでは、シンボル PWB, hpux, unix, _PWB, __hpux, および __unix が定義されています。各システムで、最適 な、少なくとも1つのハードウェアバリエーションを定義します。 lint(1) の動作時に は lint シンボルが定義されます。 制約を参照してください。 2つの特殊な名前が cpp によって理解されます。 __LINE__ は、 cpp によってカウントされている現在の行番 号(10進整数)として定義されます。 __FILE__ は、 cpp によって知られている現在のファイル名(C文字列)とし Section 1-196 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 cpp(1) cpp(1) て定義されます。これらは、別の定義済みの名前とちょうど同じように (マクロ内を含む)任意の位置で使用す ることができます。 指令 cpp 指令はすべて # によって始まる行から始まります。任意個数の空白およびタブを # と指令の間に入れるこ とができます。指令は次の通りです。 #define name token-string name の次のインスタンスを token-string で置き換えます。 token-string はヌルにすることがで きます。 #define name(arg, ... , arg) token-string name の後にあり、 ( 、カンマで区切った引き数のセットのリスト、および、 ) が続くインス タンスを token-string に置き換えます。ただし、 token-string 中にある arg はそれぞれ、コンマ で区切ったリストにある対応するトークンのセットで置き換えられます。引き数の付いたマク ロを展開すると、引き数は展開された token-string にそのまま書き込まれます。 token-string 全 体を展開した後で、 cpp は新たに作成された token-string の先頭から展開する名前の走査を再 開します。 name と ( の間にスペースを入れることはできないことに注意してください。 #endif [text] テスト指令 (#if, #ifdef, または #ifndef). で始まる行のセクションを終了させます。各テスト指 令には、それに対応する #endif がなければなりません。 #endif と同じ行にある text は無視さ れるため、対応する #if−#endif ペアをマークするために使用することができます。これによ り、ソースを読み込む際、 #if, #ifdef, #ifndef 指令をこれに対応する #endif に対応させるのが 簡単になります。 #elif constant-expression #else #if constant-expression と同じ。 #else この指令に対応するテスト指令の概念を反転します。したがって、この指令の前の行を無視し ている場合には、次の行が出力に現れます。逆もまた同じです。 #if constant-expression 次の行は、 constant-expression の評価値がゼロ以外になる場合に限って、出力に現れます。す べての代入以外のc 言語の2 項演算子、 ?: 演算子、単項 -, !, および ˜ 演算子は、すべて constant-expression で使用可能です。演算子の優先順位は、C言語によって定義された順位と同じ です。 ま た、 単 項 演 算 子 defined も あ り ま す。 こ れ は、 次 の 2 つ の 形 式 defined(name) ま た は defined name により constant-expression で使用できます。これにより、 #if 指令で #ifdef と #ifndef を使用することができます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-197 cpp(1) cpp(1) cpp が対応可能なこれらの演算子、整数定数、および名前のみを constant-expression で使用す るようにしてください。特に、 sizeof 演算子は利用できません。 次の行は、事前に #define によって name が定義され、間に #undef が定義されていない場合に #ifdef name 限り、出力が現れます。 #ifndef name 次の行は、事前に #define によって name が定義され、間に #undef が定義されていない場合に 限り、出力が現れません。 #include "filename" #include <filename> この時点で filename の内容をインクルードします ( これは、次に cpp によって実行されま す)。詳細については、上記の -I オプションを参照してください。 #line integer-constant "filename" cpp は、Cコンパイラの次のパスの行制御情報を生成します。 integer-constant は次の行の行番 号であり、 filename は元のファイルです。 filename と二重引用符を省略した場合、現在のファ イル名は不変です。 #undef name name (を定義してあれば)の定義を今後行いません。 テスト指令および可能な #else 指令は、ネストすることができます。 cpp は、長さが最大255文字までの名前を サポートします。 注記 マクロの置き換え方法が変更されました。旧バージョンの cpp は、マクロをマクロ定義テーブルに保存しまし た。また、テーブルのサイズは、デフォルトで 128 000 バイトでした。現在のバージョンの cpp は、マクロ定 義テーブルをいくつかの小さなバッファに置き換えます。それらのバッファのデフォルトのサイズは、8 188 バイトです。 多言語化対応 環境変数 LC_CTYPE により、コメントや文字列リテラルを、シングルバイトまたはマルチバイトのいずれの文字で解 釈するかを決定します。 LANG により、メッセージの表示に使用する言語を決定します。 現在使用している環境において、 LC_CTYPE が指定されていない場合や、 LC_CTYPE に空の文字列が設定 されている場合には、 LANG の値がその変数のデフォルトとして用いられます。 LANG が指定されていな かったり、空の文字列が指定されている場合のデフォルト値は、"C"( lang(5) を参照)です。国際変数のいずれ かの設定が不適切な場合には、 cpp はすべての国際変数が"C"に設定されているものとして動作します。 environ(5) を参照してください。 Section 1-198 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 cpp(1) cpp(1) サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 cpp によって作成されるエラーメッセージは読めば自己診断できます。エラーが発生した行番号とファイル名 が、診断とともにプリントされます。 警告 展開されるマクロの引き数リストに改行文字が存在する場合、旧バージョンの cpp は、改行文字が検出された り展開されたりしたときにその改行文字を無視します。現在のバージョンの cpp は、これらの改行文字が空白 に置き換えられ、このような場合に旧バージョンで発生していた問題が改善されています。 制約 ワークステーション シンボル hp9000s700 と _ _hp9000s700 は -U オプションで認識される予約シンボルではありません。これら は、コンパイラによって自動的に、またはコンパイラオプションを使用して cpp に与えられます。例えば、 ワークステーション上では、 cc -v t.c というコマンドを実行した結果は、次のようになります。 /usr/ccs/lbin/cpp t.c /var/tmp/ctmAAAa29220 -D__hp9000s700 -D__hp9000s800 ... ( cc コマンドの -D オプションについての説明も参照してください) ファイル /usr/include #include ファイルの標準ディレクトリ 参照 cc(1), m4(1) 標準準拠 cpp: SVID2, SVID3, XPG2 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-199 crontab(1) crontab(1) 名称 crontab − ユーザージョブファイルのスケジューラ 構文 crontab [ file] crontab -e ,RI [ username ] crontab -l [username] crontab -r [username] 概要 crontab は、ユーザーのcrontabファイルを管理するコマンドです。 crontabファイルを使用して、 cron が定期 的に自動実行するジョブをスケジュールすることができます (cron(1M) を参照)。コマンドには次の4つの形式 があります。 crontab [file] 指定された file を (また file を省略するか file として - を指定した場合は標 準 入 力 を ) crontab ディ レ ク ト リ /var/spool/cron/crontabs に コ ピー し て、 crontabファイルを作成します(または入れ替えます)。 crontabディレクトリ にあるcrontab ファイルは、実効ユーザ名と同じです。コンパートメント機 能が有効になっていると、 crontab ファイルはあなたの effective user name, コロン (:) そして crontab ファイルが作成されたコンパートメント ID となり ます。 crontab -e [username] ユーザーのcrontab ファイルのコピーを編集し、crontab ファイルが存在しな い場合は編集用に空のファイルを作成します。編集が完了すると、ファイ ルは crontab ファイルとして crontab ディレクトリにコピーされます。コン パートメント機能が有効になっていると、 crontab ファイルが作成されたコ ンパートメントユーザーの crontab ファイルのコピーのみを編集します。 crontab -l [username] ユーザーのcrontab ファイルをリストします。コンパートメント機能が有効 になっていると、 crontab ファイルが作成されたコンパートメントユーザー の crontab ファイルのみをリストします。 crontab -r [username] crontab ディレクトリからユーザーの crontab ファイルを削除します。コン パートメント機能が有効になっていると、 crontab ファイルが作成されたコ ンパートメントユーザーの crontab ファイルのみを削除します。 特権ユーザーだけが、 -e, -l, -r オプションの後に username を使用して、特定のユーザーのcrontabファイルを編 集、リストあるいは削除することができます。 crontabファイルは、各行6フィールドで構成されます。フィー ルドは、スペースまたはタブで区切られます。 各行の形式は次のとおりです。 Section 1-200 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 crontab(1) crontab(1) minute hour monthday month weekday command 最初の5フィールドは、第6フィールドの command を実行する日時を指定する整数パターンです。各フィール ドの値は次の範囲で指定できます。 minute 分 0−59 hour 時間 0−23 monthday 日 1−31 month 月 1−12 weekday 曜日 0−6, 0=Sunday 各パターンには、アスタリスクで (*) すべての有効値を指定することも、各要素をそれぞれカンマで区切って リストすることもできます。 要素には、上記の範囲内にある値を1つ指定しても、また上下の範囲を表す値を2つ指定 (上限値と下限値も含 む) して間にハイフンを置いてもかまいません。なお、日にちの指定は2つのフィールド ( monthday と weekday ) に分けることもできます。 1つのエントリーに両方を指定する場合は、両方とも有効になります。例えば、 0 0 1,15 * 1 command の場合、 command は、毎月1日と15日と、毎週月曜日に実行されます。 1つのフィールドに日にちを指定する 場合は、もう1つのフィールドにはアスタリスク (*) を入れます。例えば、 0 0 * * 1 command の場合、 command は月曜日にのみ実行されます。 第6フィールドの command ( crontabファイルでブランクを含む行 ) には、指定された日時にシェルが実行する 文字列を指定します。このフィールドにパーセント文字 (%) を入れる ( バックスラッシュ (\) でエスケープし た場合を除き)と、改行文字に変換されます( このフィールドは複数の行になります)。コマンドフィールドの 最初の行( % または行の終端まで)だけがシェルで実行されます。その他の行は、標準入力としてコマンドに送 られます。 空白行、または非空白キャラクタが # である行は、無視されます。 cron では、POSIX シェル (/usr/bin/sh) により、ユーザーの HOME ディレクトリからコマンドが起動されま す。 c 待ち行列の中で実行されます( queuedefs(4) 参照)。 cron は、各シェルに対してデフォルトの環境を設定し、次のように定義します。 HOME=user’s-home-directory LOGNAME=user’s-login-id PATH=/usr/bin:/usr/sbin:. SHELL=/usr/bin/sh 実行する .profile は、crontabエントリーの中で、あるいはこのエントリーで呼び出すスクリプトの中で明示的 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-201 crontab(1) crontab(1) に実行する必要があります。 /usr/lib/cron/cron.allow ファイルに該当する名前がある場合は、 crontab を実行することができます。このファ イルが存在しない場合で、 /usr/lib/cron/cron.deny に該当する名前がなければ、 crontab を使用することができ ます。 cron.deny だけが存在し、これが空白の場合は、すべてのユーザーが crontab を使用できます。いずれ のファイルもない場合は、 root ユーザーだけが crontab を使用できます。 allow/deny ファイルは、1行に1つ のユーザー名で構成されます。 セキュリティ上の制限 コンパートメント機能が有効になっていると、 cron と crontab はそのジョブが作成されたコンパートメントか らのジョブを実行します。 crontab は /var/spool/cron/crontabs にジョブファイルを作成します。ですのでもし crontab コマンドがこのディレクトリに書き込み権限をもたないコンパートメントから実行され COMMALLOWRD 特権が許されていなければ、 crontab はそのジョブのスケジュールに失敗します。 compartments(5) および privileges(5) を参照してください。 多言語化対応 環境変数 LC_CTYPE ファイル内のテキストをシングルあるいはマルチバイトキャラクタとして解釈することを決定し ます。 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_CTYPE または LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定 または空白の各変数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白 文字列に設定されている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 crontab は全ての国際化変数が"C"に設定されているように振る 舞います。 environ(5) を参照してください。 EDITOR は -e オプションが指定されたときに起動するエディタ を決定します。デフォルトエディタはviです。 国際コードセットのサポート 1バイト文字コードセットおよびマルチバイト文字コードセットがサポートされています。 警告 コマンドの標準出力および標準エラーはリダイレクトしてください。これを行わなければ、生成された標準出 力または標準エラーはすべてユーザーに送られます。 ファイル /var/adm/cron メインcronディレクトリ /var/adm/cron/cron.allow 許可ユーザーのリスト /var/adm/cron/cron.deny 拒否ユーザーのリスト /var/adm/cron/log アカウンティング情報 /var/spool/cron/crontabs crontabファイルのあるディレクトリ Section 1-202 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 crontab(1) crontab(1) 参照 sh(1), cron(1M), queuedefs(4), compartments(5), privileges(5). 標準準拠 crontab: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-203 crypt(1) crypt(1) 名称 crypt − ファイルのコード化/デコード化 構文 crypt [ password ] 説明 crypt は標準入力から読み込み、標準出力に書き込みます。 password は特定の変換を選ぶキーです。 password を与えないと、 crypt はターミナルからキーを要求し、キーがタイプ入力される間プリントをオフにします。 crypt は同じキーで暗号化および復号化します。 crypt key <clear >cypher crypt key <cypher|pr 後者のコマンドはファイルを復号化してクリアバージョンをプリントします。 crypt により暗号化されたファイルは、暗号化モードで ed エディタにより処理されたものと互換性があります (ed(1) 参照)。 暗号化されたファイルの機密保護は、以下の3つのファクタに依存します。基本的な方法として解読が困難で なければなりません。キースペースを直接サーチすることは実行不可能でなければなりません。キーまたはク リアテキストに近づける「抜け道」は最小限でなければなりません。 crypt は、ドイツのEnigma の方法に準じて設計された1 ロータマシンをインプリメントしますが、256 要素の ロータを使って設計されています。そのようなマシンの暗号解読方法は広く知られているため、暗号によるセ キュリティは最小限しかありません。 キーをマシンの内部設定値に変換すると、故意に費用がかかるように設計されています。計算するのに多大な 時間がかかります。ただし、例えばキーが3つの小文字に制限されると、暗号化されたファイルはマシンタイ ムの5分くらいで読み取ることができます。 キーは crypt コマンドへの引き数であるため、 ps またはその派生コマンドを実行すれば、ユーザーには見るこ とができます ( ps(1) 参照)。キーおよびキーの機密保護の選択は crypt の最も弱い面です。 例 以下の例では、ユーザーが完全に秘密にしたいファイルをエディットするための crypt 使用法を示します。 $ crypt <plans >plans.x key: violet $ rm plans ... $ vi -x plans.x key: violet ... :wq $ Section 1-204 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 crypt(1) crypt(1) ... $ crypt <plans.x | pr key: violet -x オプションは vi の暗号化モードであり、暗号化されたファイルと同じキーをユーザーに求めることに注意 してください。 警告 crypt により出力が nroff にパイプ接続されたり、暗号化キーがコマンド行で与えられないと、ターミナルモー ドが異常になることがあります (nroff (1) および stty(1) 参照)。 同じキーで暗号化された2つ以上のファイルが連結され、結果を復号化しようとした場合、元のファイルの最 初のみが正しく復号化されます。 ファイル /dev/tty タイプされたキーのファイル 参照 ed(1), makekey(1), stty(1) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-205 csh(1) csh(1) 名称 csh − C 言語スタイルの構文を備えたシェル (コマンドインタプリタ) 構文 csh [-cefinstvxTVX] [ command file ] [ argument list ... ] 説明 csh は、C と類似した構文のコマンド言語インタプリタで、コマンドヒストリバッファーとジョブ制御機能を 備えています。 コマンドオプション 各コマンドオプションは次のように解釈されます。 -c 直後の (1つの) 引き数からコマンドを読み取ります。この引き数は必ずなければなりませ ん。残りの引き数はすべて argv に格納されます。 -e 実行したコマンドが異常終了したりゼロ以外の exit ステータスを戻した場合、C シェルは 終了します。 -f ユーザーのホームディレクトリの .cshrc ファイルの実行を抑止し、シェルの起動を高速化 します。 -i コンピュータターミナル以外のデバイス (別のコンピュータなど) からの起動時に、対話形 式で csh に応答させます。通常、 csh は非対話形式で応答します。 csh をコンピュータ ターミナルから実行すると、オプションの設定に関係なく、つねに対話形式で応答しま す。 -n コマンドを 実行せずに、コマンドの構文解析のみを行います。これはシェルスクリプトの 構文チェックに有用です。置換処理 (ヒストリ、コマンド、エイリアスなど) はすべて実行 されます。 -s コマンド入力を標準入力から取り込みます。 -t 1行分の入力を読み取って実行します。 -v シェル変数 verbose を設定します。これにより、コマンド入力がヒストリ置換の実行後に標 準出力デバイスにエコーされるようになります。 -x シェル変数 echo を設定します。これにより、すべてのコマンドが実行直前に標準エラー出 力にエコーされるようになります。 -T ファイル名指定支援機能を抑止します。これにより、 ESC キーによるコマンド名とファイ ル名の完成、および CTRL-D によるファイルのリストの機能が使用できなくなります (後述 の 「CSH のユーティリティ」の項を参照)。 -V .cshrc の実行前に変数 verbose を設定します。これにより、 .cshrc のコマンドもすべて標準 出力にエコーされるようになります。 Section 1-206 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 csh(1) csh(1) -X .cshrc の実行前に変数 echo を設定します。これにより、 .cshrc のコマンドもすべて標準出 力にエコーされるようになります。 コマンドオプションの処理後、まだ引き数リストの中に引き数が残っており、しかも -c, -i, -s または -t のいず れのオプションも指定されていない場合、残っている最初の引き数は、実行するコマンドのファイルの名称で あると解釈されます。 コマンド 単純コマンドとは、複数のワードの並びで、その最初の単語は実行するコマンドを表します。パイプラインと は、単純コマンドを縦棒 (|) で区切って並べたものです。パイプラインの中の各コマンドの出力は、その次のコ マンドの入力になります。複数のパイプラインは、セミコロン (;) で区切って並べることが可能です。この形 式の場合、各パイプラインは逐次実行されます。パイプラインの最後の項目の後にアンパサンド (&) を付ける ことにより、パイプラインのシーケンスをバックグラウンドモードで実行できます。 パイプラインを小かっこで囲んで単純コマンドとして表し、別のパイプラインの中の1部分にすることができ ます。また、2つのパイプラインを | | または && で区切ることにより、C 言語と同様に、第1のパイプライン の実行がそれぞれ異常終了または正常終了したときに限って、第2のパイプラインを実行させることができま す。 ジョブ csh は、各パイプラインを1つの ジョブとして扱い、現在実行中のジョブの表 (jobs コマンドでプリント可能) を管理して、各ジョブに小さい整数値を割り当てます。ジョブが & によって非同期に開始されると、シェルは 次のような行をプリントします。 [1] 1234 これは、非同期に開始されたジョブがジョブ番号1であり、 1個の (トップレベル) プロセスを持ち、そのプロ セス ID (PID) が 1234 であることを示しています。 ジョブの実行中にほかの作業を行いたくなった場合は、その時点で定義されている 一時停止文字 (termio(7) を 参照) をタイプして、現在実行中のジョブに停止シグナルを送ることができます。通常、ここで シェルはジョ ブが停止したことを示すメッセージ ’Stopped’ を表示し、次のコマンドのためのプロンプトを表示します。こ れにより、停止したジョブの状態を操作することが可能となるので、このジョブを bg コマンドによってバッ クグラウンドで実行しておき、その間にほかのコマンドを実行して必要な作業を終了させてから、フォアグラ ンドコマンド fg を用いて上記のジョブをまたフォアグランドに戻すことができます。 一時停止はタイプ後た だちに作用し、割り込み文字と同様に、未表示の出力や読み取り前の入力はタイプと同時に破棄されます。こ のほかに、遅延型の 一時停止があり、これはプログラムが read(2) を実行してこの文字を読み取ろうとした時 点で停止シグナルを発生させます。あるジョブに対するコマンドをタイプした後でこの遅延型の一時停止をあ らかじめタイプしておけば、ジョブがコマンドを読み取った後でジョブを停止させることができます。 バックグラウンドで実行中のジョブは、ターミナルからの読み取りを実行しようとした時点で停止します。通 常の場合、バックグラウンドジョブは出力を生成できますが、コマンド stty tostop によってこれを抑止するこ とができます (stty(1) 参照)。この tty オプションを指定すると、バックグラウンドジョブは、入力を読み取ろ うとした場合と同様に、出力を生成しようとした場合にも停止します。各種のキーボードシグナルや、ターミ HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-207 csh(1) csh(1) ナルインタフェースからの回線ハングアップシグナルは、このような設定のシステム上のバックグラウンド ジョブには送られません。したがって、バックグラウンドジョブは、ログアウト操作や、割り込み文字、ク イット文字、一時停止、および遅延型一時停止の影響を受けません (termio(7) 参照)。 シェルの中でジョブを参照する方法はいくつかあります。文字 % を使用するとジョブ名を指定できます。 ジョブ番号1を指定したい場合は、 %1 という形式で指定できます。ジョブを指定するだけで、そのジョブは フォアグラウンドに移ります。つまり、 %1 は、ジョブ1をフォアグラウンドに戻す fg %1 と同義です。同様 に %1 & と入力すると、ジョブ1はバックグラウンドで再実行されます。ジョブの指定は、起動時にタイプし た文字列の先頭から、一意にジョブが確定するところまでの部分を用いて行うことも可能です。たとえば、一 時停止しているジョブのうち、名称が %ex で始まるジョブが1つだけの場合には、通常、 ex と入力すれば一 時停止中の ex(1) のジョブが再開されます。また、 %?string と入力して、 string を含むジョブを指定すること もできます (ただし、この文字列を含むジョブが1つしか存在しない場合)。 csh には、現在のジョブ、前のジョブという概念があります。ジョブに関連した出力の中では、現在のジョブ に + というマークが、前のジョブに - というマークがつきます。 %+ という省略表記は現在のジョブを表し、 %- は前のジョブを表します。また、現在のジョブを表す指定として %% を使用することもできます。これ は、 ヒストリ機構 (後述) の構文と類似しています。 csh は、プロセスの状態の変化をただちに認識します。通常、ジョブがブロックされて続行不可能となると、 シェルがユーザーにその通知を行いますが、この通知はプロンプトを出す直前になって初めて行われます。こ れは、ユーザーの作業の途中で割り込むのを避けるためです。ただし、シェル変数 notify を設定すると、 csh はバックグラウンドジョブの状態の変化をただちに通知します。また notify という csh 組み込みコマンドを使 用すれば、特定のプロセスだけをマークしてその状態の変化をただちに通知させることもできます。デフォル トの場合、 notify は現在のプロセスをマークします。バックグラウンドジョブの開始後、単に notify と入力す るとそのジョブがマークされます。 ジョブの停止中にシェルを抜けようとすると、 csh は You have stopped jobs. という警告メッセージを表示し ます。どのジョブが停止中かを調べるには、 jobs コマンドを使用します。このコマンドを入力した場合、また はすぐに再度シェルを抜けようとした場合、 csh はユーザーに2度目の警告は行わず、一時停止していたジョ ブは終了することになります (exit(2) を参照)。 組み込みコマンド 組み込みコマンドはシェルの内部で実行されます (この場合、子プロセスは生成されません)。組み込みコマン ドをパイプラインの最後以外の構成要素として実行すると、そのコマンドはサブシェルの中で実行されます。 組み込みコマンドには以下のものがあります。 alias alias name alias name wordlist 第1の形式は、すべてのエイリアスをプリントします。第2の形式は、指定された name のエ イリアスをプリントします。第3の形式は、指定された wordlist を name のエイリアスとして 登録します。 wordlist に対しては、コマンドとファイル名の置換が行われます。 name には alias と unalias を指定することはできません。 Section 1-208 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 csh(1) csh(1) bg [ %job ... ] 現在のジョブ (引き数 job の指定がない場合) または指定されたジョブをバックグラウンドに 移します。一時停止中のジョブの場合には、実行が再開されます。 break このコマンドを囲む最も内側の foreach または while ループを閉じている end の後から実行を 再開します。同じ行にある残りのコマンドは実行されます。したがって、1行に複数の break を指定すれば、複数レベルのbreakを実行できます。 breaksw switch 構造の外に抜け出して、 endsw の後から再開します。 case label: switch 文の中のラベルです (後述)。 cd cd directory_name chdir chdir directory_name シェルの現在のワークディレクトリを、指定された directory_name に変更します。 directory_name はデフォルトでユーザーのホームディレクトリになります。 指定された directory_name が現在のワークディレクトリのサブディレクトリに見つからない 場合で、先頭が /, ./, ../ のディレクトリでもない場合には、変数 cdpath に指定されているディ レクトリに directory_name という名称のサブディレクトリがないかどうかチェックします。そ れでも見つからない場合、 csh は directory_name をシェル変数として扱います。その変数の 値が / で始まっている場合には、ディレクトリかどうかチェックされます。 cd(1) も参照して ください。 continue このコマンドを囲む最も内側の while または foreach ループの実行を先頭から再開します。同 じ行にある残りのコマンドは実行されます。 default: switch 文の場合分けのデフォルトの部分を示すラベルです。このデフォルトの部分は、これ 以外の case ラベルより後に指定するものです。 dirs ディレクトリスタックをプリントします。スタックの最上位を左側に表示します。スタック の最初のディレクトリが現在のディレクトリです。 echo wordlist echo -n wordlist 指定されたワードをスペースで区切ってシェルの標準出力に書き出します。 -n オプションが 指定されている場合を除き、最後は改行で終わります。 echo(1) も参照してください。 else HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-209 csh(1) csh(1) end endif endsw 後述の foreach、 if、 switch および while の各文の説明を参照してください。 eval arguments ... (sh(1) と同様の動作です)。 arguments をシェルへの入力として読み取り、その結果として生 成されたコマンドを実行します。通常、これは、コマンドの置換や変数の置換の結果として 生成されたコマンドを実行するために使用します (構文解析がこのような置換の前に行われる ためです)。 exec command 指定したコマンドが現在のシェルの代わりに実行されます。 exit exit (expression) csh が終了し、 status 変数の値 (第1の形式の場合)、または指定された expression の値 (第2の 形式の場合) を戻します。 fg [ %job ... ] 現在のジョブ ( job の指定がない場合) または指定されたジョブをフォアグラウンドに移しま す。一時停止しているジョブは実行が再開されます。 foreach name (wordlist) ... end 変数 name に wordlist の各要素が順次設定され、このコマンドから対応する end までのコマン ドシーケンスがそれぞれの要素について実行されます。 (foreach と end は、それぞれ別個の 行に単独で指定する必要があります)。 組み込みコマンドの continue によってループ実行の途中から次のループ実行に移行すること が可能で、また、組み込みコマンドの break を使用すればループ全体を途中で終了できま す。このコマンドがターミナルから読み取られる場合には、まずループが読み取られた後、 ループ内の文を実行する前に、プロンプト ? によって入力が要求されます。ターミナルから のループをタイプする際に入力を間違えた場合は、消去文字または行消去文字を適宜使用し て修正してください。 glob wordlist echo と同様ですが、 \ によるエスケープは認識されず、出力では各ワードが空の文字によっ て区切られます。これは、ワードのリストに対するファイル名展開をシェルを用いて実行す るプログラムなどで有用です。 goto word word には、 label の形式の文字列に展開されるようなファイル名またはコマンドを指定しま す。シェルは可能な限り入力をさかのぼって、 label: の形式の行を、前に空白やタブが付加 されている場合も考慮しながら検索します。実行は、上記の処理によって特定された行の直 Section 1-210 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 csh(1) csh(1) 後から継続されます。 hashstat 内部ハッシュテーブルが、コマンドの検索 (および exec の実行回数の削減) の上でどの程度ま で効果的かを示す1行の統計をプリントします。 exec は、ハッシュ関数によってヒットする 可能性が示された path の各要素と / で始まっていない各要素に対して実行されます。 history [ -h ] [ -r ] [ n ] ヒストリイベントリストを表示します。 n を指定すると、最近の n 個のイベントだけがプリ ントされます。 -r オプションを指定すると、表示の順序が逆順し、最近のイベントから前の イベントの順でプリントされます。 -h オプションを指定すると、先頭の番号なしでヒストリ リストがプリントされます。これを使用して source コマンド用のファイルを生成することが できます。 if (expression) command 指定された expression の値が真の場合には、単一のコマンド command が引き数付きで実行さ れます。 command に対する変数の置換は早い段階で実行され、 if コマンドの残りに対する置 換の実行と同時です。 command は単純コマンドでなければなりません。パイプライン、コマ ンドリスト、小かっこで囲んだコマンドリスト、エイリアスがあるコマンドは指定できませ ん。 expression の値が偽となって コマンドが実行 されない場合でも、入出力のリダイレクト は実行されます (これはバグです)。 if (expression1) then ... else if (expression2) then ... else ... endif expression1 の値が真の場合には最初の else までの全コマンドが実行され、偽の場合には、 expression2 の値が真であれば最初の else から2番目の else までの全コマンドが実行され、以 下同様となります。 else-if は何組みでも指定できますが、 endif は1個だけ指定可能で必須で す。また、 else の部分は省略可能です。(ワード else と endif は入力行の先頭に指定する必要 があります。 if 文は、1つの入力行に単独で、または else の後に指定する必要があります)。 jobs [-l] アクティブなジョブをリストします。 -l オプションを指定すると、通常の情報のほかにプロ セス ID もリストされます。 kill % job kill - sig % job ... kill pid HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-211 csh(1) csh(1) kill - sig pid... kill -l TERM (終了) シグナルまたは指定されたシグナルを、指定されたジョブまたはプロセスに送 ります。シグナルは、番号または名称 (/usr/include/signal.h に定義されたシグナル名から先頭 の SIG を取り除いた名称、 signal(2) 参照) のいずれでも指定できます。 kill -l を実行すると シグナル名がリストされます。このコマンドにデフォルトはないため、 kill だけを指定して も現在のジョブにシグナルは送られません。送られたシグナルが TERM (終了) または HUP ( ハングアップ) の場合ジョブまたはプロセスには CONT (続行) シグナルも送られます。 kill(1) も参照してください。 limit[-h][ resource ][ maximum_use ] カレントプロセスおよび作成される各プロセスによる使用量が ( それぞれ ) 指定された resource 上で maximum_use を越えないように制限します。 maximum_use が指定されていない 場合はカレントリミットが表示され、 resource が指定されていない場合は全制限が与えられ ます。 -h フラグを指定した場合は、カレントリミットではなくハードリミットが使われます。ハー ドリミットはカレントリミット値に上限を課します。ハードリミットを引き上げられるのは スーパーユーザーだけですが、ユーザーはリーガルな範囲でカレントリミットを増減させる ことができます。 制御可能なリソースには、現在次のものがあります。 addresspace プロセスに対するバイト数で表わしたアドレス空間の最大値 coredumpsize 作成されたコアダンプの最大サイズ cputime 各プロセスの使用するCPU秒数の最大値 datasize プログラムテキストの終点を越えてデータ領域を拡張が許される 最大値。 descriptors 各プロセスに対するオープンファイル数の最大値 filesize 作成できる最大の単一ファイル memoryuse プロセスの常駐セットサイズを拡張できる最大値 stacksize 自動的に拡張されるスタック領域の最大サイズ maximum_use 引き数は浮動小数点または整数で指定することができ、次のようなスケール係 数を付加します。 k または kilobytes (1024 bytes) 、 m または megabytes 、および b または blocks (ulimit システムコールで使われる単位 ) resource 名とスケール係数には、名前のプレ フィックスを混同が起こらないように使用することができます。 filesize は csh のインスタン スによって引き下げることができますが、これを引き上げることができるのは実効ユーザー IDが root のインスタンスだけです。詳細情報に関しては、 ulimit システムコールのドキュメ ンテーションを参照してください。 Section 1-212 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 csh(1) csh(1) login ログインシェルを終了させ、代わりに /usr/bin/login. を実行します。これはログオフする方法 の1つで、 sh(1) との互換用です。 logout ログインシェルを終了させます。 ignoreeof が設定されている場合に有用です。類似した機能 のコマンド bye コマンドは標準の BSD csh の一部ではなく、将来のリリースではサポートさ れない可能性があるので、できるだけ使用しないようにしてください。 newgrp このコマンドを実行したプロセスのグループ番号を変更します。詳細については newgrp(1) を 参照してください。 newgrp は新しいシェルを実行するため、現在のシェル環境は失われま す。 nice nice +number nice command nice +number command 第1の形式は、このシェルの nice 値 (コマンド実行の優先順位) を4 (デフォルト) に設定しま す。第2の形式は、優先順位を指定された number に設定します。最後の2つの形式は、指定さ れた command をそれぞれ優先順位4または number で実行します。適切な権限を持つユーザー であれば、 nice -number ... のように負の nice 値を指定して優先順位を上げることが可能で す。 command は必ずサブシェル内で実行され、単純 if 文中のコマンドの場合と同じ制約が適 用されます。 nice(1) も参照してください。 nohup [ command ] 引き数を指定せずにシェルスクリプトの中で nohup を実行すると、スクリプトの残りの部分 でハングアップを無視させることができます。引き数を指定すると、 command コマンドがハ ングアップを無視する設定で実行されます。 & の指定によってバックグラウンドで実行され た全プロセスは、実質的に、 nohup されたのと同一の状態で実行されています ( 「コマン ド」の項の下のジョブを参照)。 notify [ job ... ] 現在のジョブ (引き数 job を指定しない場合) または指定したジョブの状態が変化したとき、 ユーザーが実行している操作とは無関係に、ただちにその通知を行うようにシェルを設定し ます。通常、この通知はプロンプトの表示前に行われます。シェル変数 notify を設定してお くと自動的にこの動作設定となります。 onintr [ - ] [ label ] 割り込み時のシェルの動作を制御します。引き数なしで onintr を実行すると、シェルの割り 込み時の動作がデフォルト (シェルスクリプトの終了またはターミナルコマンド入力レベルへ の復帰) に戻ります。 - を指定すると、すべての割り込みが無視されるようになります。 label を指定すると、シェルに割り込みが発生したり、子プロセスが割り込みによって終了し た際に、シェルは goto label を実行します。 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-213 csh(1) csh(1) シェルがバックグラウンドで実行中で、割り込みが無視される状態の場合には、 onintr を実 行しても何も変化しません。シェルおよびシェルから実行された全コマンドは、そのまま割 り込みを無視し続けます。 popd [ +n ] ディレクトリスタックをポップし、新たにスタックの最上位となったディレクトリに戻りま す。引き数を指定すると、スタックの n 番目のエントリーが破棄されます。ディレクトリス タックの各要素は、 0を初期値として最上位から順に番号付けされています。 popd と同一の コマンド rd は、古いシステムとの互換用です。これは標準の BSD csh の一部ではなく、将来 のリリースではサポートされない可能性があるので、できるだけ使用しないようにしてくだ さい。 pushd [ name ] [ +n ] 引き数なしで pushd を実行すると、ディレクトリスタックの上位の2要素が交換されます。引 き数 name を指定して pushd を実行すると、新しいディレクトリへの移動が (cd を用いて) 実 行され、それまでのワークディレクトリが (csw と同様に) ディレクトリスタックに プッシュ されます。数値の引き数を指定すると、ディレクトリスタックの n 番目の要素が最上位に移 され、それに伴って他の要素が1つ下に順次移動し、シェルは新しい最上位要素のディレクト リに移動します。ディレクトリスタックの要素は、最上位要素から順に0を先頭として番号付 けされています。 pushd と同一のコマンド gd は、古いシステムとの互換用です。これは標準 の BSD csh の一部ではなく、将来のリリースではサポートされない可能性があるので、でき るだけ使用しないようにしてください。 rehash 変数 path に指定されているディレクトリの内容について、内部ハッシュテーブルを再計算し ます。ユーザーがログインしている間に path の中のディレクトリに新しいコマンドが追加さ れた場合に、このコマンドの実行が必要となります。このコマンドの実行が必要となるの は、ユーザーが自分のディレクトリのいずれかにコマンドを追加した場合、またはシステム プログラマがいずれかのシステムディレクトリの内容を変更した場合のみです。 repeat count command 指定された command を count 回実行します (command には、前述した1行の if 文で指定する command の場合と同じ制限が適用されます)。入出力のリダイレクトは厳密に1回だけ行われ ます (count が0でも同じです)。 set set name set name=word set name[ index ]=word set name=( wordlist ) 第1の形式で set を実行すると、すべてのシェル変数の値が表示されます。値が1個のワード でない変数については、小かっこで囲んだ形のワードリストとしてプリントされます。第2の 形式は、 name の値として空の文字列を設定します。第3の形式は、 name の値として word (1 Section 1-214 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 csh(1) csh(1) 語) を設定します。第4の形式は、 name の index 番目の要素の値として word を設定します。 この要素はすでに存在してなければなりません。最後の形式は、 name の値として wordlist に 指定されたワードのリストを設定します。どの形式の場合も、value に対してはコマンドおよ びファイル名の展開が行われます。 上記の引き数を繰り返すことにより、1つの set コマンドの中で複数の値の設定を行うことも できます。ただし、変数の展開は、値の設定の前にすべての引き数に対して一括して実行さ れる点に注意してください。 setenv name value 環境変数 name の値として value (1 つの文字列) を設定します。非常に多用される環境変数 USER、 TERM および PATH は、 csh 変数の user 、 term および path との間で自動的にイン ポートおよびエクスポートされるので、これらの変数に対して setenv を実行する必要はあり ません shift [ variable ] 引き数を指定せずに実行すると、 argv の各要素が左にシフトされて、 argv[1] が破棄されま す。 argv が設定されていない場合、または argv に割り当てられている文字列が2個未満の場 合は、エラーになります。 variable を指定すると、この variable に対して上記と同じ操作が shift によって実行されます。 source [ -h ] name csh が name からコマンドを読み取ります。 source コマンドはネストできますが、ネストが深 すぎるとシェルがファイル記述子を使い果たしてしまったり、最大のスタックサイズ (maxssiz(5) を参照) に達してしまう危険があります。 source にエラーが発生すると、どのレベルの エラーでも、ネストさせた source コマンドすべてが終了します。通常、 source コマンド実行 中の入力はヒストリリストに格納されません。 -h オプションを指定すると、コマンドを実行 せずにヒストリリストに入れることができます。 stop [ %job ... ] バックグラウンドで実行中の現在のジョブ (引き数なしの場合)、または指定されたジョブを 停止させます。 suspend 一時停止シグナルを送った場合と同様に csh を停止させます。通常、 csh は 一時停止シグナ ルを無視するため、このコマンドがシェルを一時停止させる唯一の方法です。ログインシェ ルからこのコマンドを実行するとエラーメッセージが表示されます。 switch (string) case str1: ... breaksw ... HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-215 csh(1) csh(1) default: ... breaksw endsw 指定された string に対してまずコマンドおよびファイル名の展開を実行した後、各 case ラベ ル (str1) と順に比較して一致するかどうか調べます。 case ラベルの形式はパターンマッチン グ表記法に従いますが、一致しないパターンのリストを示す大かっこ ([]) の表記はサポート されていません (regexp(5) 参照)。 default ラベルの前に一致するラベルがない場合には、 default の次から実行されます。各 case ラベルと default ラベルは行の先頭に指定しなければ なりません。コマンド breaksw に到達すると、 endsw の後に制御が移って実行が続けられま す。このコマンドがない場合には、C 言語と同様に、 case ラベルと default ラベルを通過す る形で実行が継続されます。一致するラベルがなく、デフォルト用のコマンドリストも指定 されていない場合、 endsw の後に制御が移って続行されます。 time [ command ] command を指定せずに実行すると、このシェルとその子プロセスが消費した時間の要約がプ リントされます。引き数を指定すると、その単純コマンド command の実行時間を計測して、 その時間に関する要約 time 変数をプリントします。必要な場合には、コマンドの完了時に別 のシェルを生成して時間統計をプリントします。 umask [ value ] ファイル作成マスクとして value を設定します。引き数なしの場合には現在のマスクが表示さ れます。マスクは8進値で指定します。一般的なマスク値は、 002 または 022 で、前者は、所 有者とグループに全パーミッションを与え、その他の全ユーザーに読み取りと実行のパー ミッションを与えるマスク、後者は、所有者に全パーミッションを与え、グループとその他 のユーザーには読み取りパーミッションだけを与えるマスクです。 umask(1) も参照してくだ さい。 unalias pattern 指定された pattern に一致するエイリアスをすべて削除します。したがって、 unalias * を実 行するとすべてのエイリアスが削除されます。 pattern に一致する既存のエイリアスがない場 合にもエラーにはなりません。 unhash 実行するプログラムの位置の検索を高速化するための内部ハッシュテーブルの使用を抑止し ます。 unset pattern 指定された pattern に名称が一致するすべての変数を削除します。したがって、 unset * を実 行するとすべての変数が削除され、その後の操作に大きな支障が生じます。 pattern に一致す る変数がない場合にもエラーにはなりません。 unsetenv pattern 指定された pattern に一致するすべての変数が環境から削除されます。前述の setenv コマンド と printenv(1) を参照してください。 Section 1-216 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) wait すべてのバックグラウンドジョブの終了を待ちます。シェルが対話形式の場合には、この待 ち状態を割り込みによって解除できます。その際、シェルはまだ実行中であることが判明し たすべてのジョブの名称とジョブ番号をプリントします。 while (expression) ... end 指定された expression がゼロ以外に評価されている間、 while とそれに対応する end の間のコ マンドを実行します。 break と continue を使用すれば、それぞれ途中でループを抜け出した り次の繰り返しに移ったりすることができます。 (while と end は、それぞれの入力行に単独 で指定しなければなりません)。ターミナルから入力した場合 (つまりスクリプトでない場合) には、 foreach 文の場合と同様に、ループの最初に内容を入力するようプロンプトが出力され ます。 % job 指定されたジョブをフォアグラウンドに移して実行します。 % job & 指定されたジョブをバックグラウンドで続行します。 @ @ name=expression @ name[index]=expression 第1 の形式は、すべてのシェル変数の値をプリントします。第2 の形式は、指定された name に expression の値を設定します。式の中に <, >, & または | が含まれている場合には、少なく とも式のこの部分は小かっこで囲む必要があります。第3 の形式は、 expression の値を name の index 番目の引き数に代入します。 name と、その index 番目の要素は、いずれもすでに存 在していなければなりません。 演算子 *=, += などは C と同様に使用できます。 name と代入演算子の間に空白文字を入れて もかまいません。しかし、 expression の各要素の間にはスペースが必須です。スペースがない 場合には1ワードとして解釈されてしまいます。 特殊なポストフィックス演算子の ++ または -- を指定すると、 name はそれぞれ1だけ増分ま たは減分されます (たとえば、 @ i++) 。 非組み込みコマンドの実行 実行するコマンドが組み込みコマンドでない場合、 csh は exec(2) によってコマンドを実行しようとします。 シェルがコマンドを捜すディレクトリは、変数 path 中の各ワードによって指定されます ( コマンドが / で始 まっている場合を除く)。 -c と -t のいずれも指定されていない場合、シェルは、このようなディレクトリ内の ファイル名についてハッシュ値を算出し、その値を内部のハッシュテーブルに格納します。これにより、目的 のコマンドが存在する可能性のないディレクトリに対しては exec を実行せずに済むようになります。検索パス に多数のディレクトリが指定されているときには、この方法でコマンドの検索時間が大幅に短縮されます。こ のメカニズムが (unhash によって) オフになっている場合、あるいは -c または -t が指定された場合、あるいは HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-217 csh(1) csh(1) path に指定されているディレクトリのいずれも / で始まっていない場合、シェルはディレクトリ名と指定され たコマンド名を連結してファイルのパス名を作成し、それを実行しようとします。 小かっこで囲まれたコマンドは必ずサブシェル内で実行されます。したがって、 (cd ; pwd) は ホームディレクトリをプリントし、実行終了後に現在のディレクトリに戻りますが、 cd ; pwd では、コマンド終了後も ホームディレクトリに移動したままになります。 コマンドを小かっこで囲む方法は、現在のシェルに影響しない形で chdir を実行するためによく使用されま す。 ファイルに実行パーミッションがあるのに実行可能なバイナリファイルでない場合には、別のプロセスとして 実行されるインタプリタ用のデータを格納したファイル、つまりスクリプトファイルであると解釈されます。 csh は、まずスクリプトファイルをロードして実行しようとします (exec(2) 参照)。スクリプトファイルの先頭の2文字が #! であれば、 exec(2) は次にインタプリタのパス名が続 くものとみなし、指定されたインタプリタを別のプロセスとして実行して、スクリプトファイル全体を読み取 ります。 #! interpreter の指定がなく、そのシェルに エイリアスがある場合には、その エイリアスを構成するワードが 引き数リストの先頭に挿入され、シェ ルコマンドが形成されます。 エイリアスの最初のワードは、実行するコマンドの絶対パス名でなければなりま せん。これは、 エイリアスの置換を後の段階で実行するという特別な場合で、ワードは変更されずに引き数リ ストに挿入されます。 #! interpreter の指定がなく、シェルの エイリアスもない場合、ファイルの先頭の文字が # であれば、変数 $shell によって指定されたインタプリタが実行されます (ユーザーが $shell) を再設定していない限り、これは /usr/bin/csh となるのが普通です)。 $shell が設定されていない場合には、 /usr/bin/csh が実行されます。 !# interpreter の指定もシェルのエイリアスもなく、ファイルの先頭の文字も # でない場合には、 /usr/bin/sh が 実行されてスクリプトファイルを解釈します。 ヒストリの置換 ヒストリの置換によって、コマンドを繰り返し実行したり、前のコマンドから語句を流用して新しいコマンド の一部として使用したり、前のコマンドの引き数を新しいコマンドで繰り返し使用したり、前のコマンドのス ペルミスやタイプミスを訂正したりすることが可能です。 ヒストリの置換は感嘆符 (!) の位置から開始されます。置換は入力ストリーム中の任意の位置から開始させる ことができますが、ネストすることは できません。感嘆符の前にバックスラッシュを付ければこの特殊な意味 を抑止できます。また便宜上、感嘆符の後に空白、タブ、改行、等号、左かっこが続いている場合には、その 感嘆符はそのままパーサーに渡されます。ヒストリの置換が行われた入力行は、確認のため実行前にターミナ ルにエコーされます。 Section 1-218 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) ターミナルから入力された1語以上のコマンド入力は、ヒストリリストにセーブされます。置換が実行される と、このセーブされたコマンドから取り出された一連のワードが入力ストリームの中に再生成されます。ヒス トリリストにセーブされるコマンドの数は、 history 変数によって決まります。直前のコマンドは、この変数 の値に関係なく必ずセーブされます。コマンドには1から順に番号が付けられます。 以前のイベントを参照する方法としては、イベント番号 (たとえば 10番目のイベントを表す !10)、相対イベン ト位置 (たとえば2つ前のイベントを表す !-2)、コマンド名の全体または一部 (たとえば、先頭の文字が d のコ マンドを用いた最新のイベントを表す !d)、または、文字列の式 (たとえば mic という文字を含むイベントを示 す !?mic?) を使用する方法があります。 上記の形式を使用すると、指定されたイベントで入力された各ワードが、それ以上変更されずに、それぞれ空 白1個で区切られた形でそのまま再現されます。特殊な形式としては、再実行のための表記 !! があり、直前の コマンドを表します。 コマンドから特定のワードを選択するには、イベント指定の後に、コロン (:) および目的のワードを表す指示 子を指定します。入力行のワードは、0から順に番号で指定できます。基本的なワード指示子は次のとおりで す。 0 最初のワード (つまりコマンド名自体) n n 番目のワード ˆ 最初の引き数 (これは 1 と同じです) $ 最後のワード a-b a から b までの範囲のワードを表します。特殊な簡略表記として、 -y は「ワード 0 からワード y」までを表し、 x- は「ワード x からワード $ 」の前まで (ワード $ 自体は含まない) を表しま す。 * 2番目のワードから最後のワードまで % 検索パターンの文字列とともに使用し、直前の一致したワードに置き換えます。 コマンド指定とワード指示子を区切るコロンは、引き数のセレクタが、 ˆ, $, *, - または % で始まっている場合 には、省略可能です。 各ワード指示子の後には一連の修飾子を指定できます (各修飾子の前にはコロンを付けます)。指定できるのは 以下の修飾子です。 h パス名の最初の構成要素だけを使用し、その後の構成要素はすべて除去します。 r ファイル名から後続のサフィックス (.xxx) を除去し、ファイル名の基本部分だけを使用します。 e ファイル名の基本部分を除去し、最後のサフィックス (.xxx) だけを使用します。 s /l/r 指定されたコマンドの中の値 l を r の値で置き換えます。 HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-219 csh(1) csh(1) t パス名の最後のファイル名だけを使用し、それより前のパス名の構成要素はすべて除去します。 & その前の置換を繰り返します。 p 置換後の新しいコマンドを実行せずに、単にプリントします。 q 置換結果のワードを引用して、それ以上置換されないようにします。 x q と同様ですが、空白、タブ、改行の位置で各ワードに区切って引用します。 g 他の修飾子の前のプレフィックスとして使用するグローバル (global) コマンドで、指定された変 更をグローバルに実行します。コマンド中のすべてのワードが、1ワードについて1回ずつ変更さ れます。シングルコーテーション (’) またはダブルコーテーション ( " ) で囲まれた文字列は、そ れぞれ1ワードとして扱われます。 修飾子の前に g が指定されていない場合は、最初の置換可能なワードだけに対して置換が行われます。置換を 実行しようとして正常に実行できなかった場合には、エラーとなります (たとえば、ヒストリバッファーにコ マンドが 10個しかないときに !11 を実行した場合など)。 置換指定の左側に指定するのは文字列で、 HP-UX のエディターの場合の正規表現ではありません。デリミタ ( 区切り文字) としては、スラッシュ (/) の代わりに任意の文字を使用できます。文字列 l または r の中でデリミ タ文字を使用する場合には、バックスラッシュで引用することができます。右側に & があると、左側のテキス トで置き換えられます。 \ は & も引用します。 l が空の文字列の場合には、直前の l の文字列、または、 !?s? 形式の中の文脈認識型の検索文字列 s が使用されます。文脈認識型の検索で最後の ? が省略可能なのと同様 に、置換指定の最後のデリミタも、直後に改行が続くときには省略可能です。 ヒストリの参照はイベントの指定なしでも可能です (たとえば、 !$)。この場合、原則として直前のコマンドが 参照されます。ただし、その前に同じ行でヒストリ参照が行われている場合には、この形式の参照指定によっ て、前にあるその参照が繰り返されます。したがって、 !?foo?ˆ !$ は、 ?foo? に一致するコマンドから最初と最後の引き数を取り出します。 入力行の最初の非空白文字がハットマーク (ˆ) の場合には、ヒストリ参照の特別な省略形として処理されま す。つまり、このハットマークは !:sˆ と同一に扱われます。この方法によれば、前の行のテキストに対する置 換を簡単に指定できます。たとえば、 ˆlbˆlib で前のコマンドの lib のスペルミスを訂正できます。 ヒストリ置換の指定を後続の文字と区別する必要がある場合には、その部分を中かっこ { } で囲むことができ ます。したがって、 ls -ld ˜paul の後で、 !{l}a と入力すれば、 ls -ld ˜paula を実行できます。もし、この指定の代わりに !la と入力すると、 la で始まるコマンドが検索されてしまいま す。 Section 1-220 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) シングルおよびダブルコートを用いた引用 引用符 (´) ( " ) を使用して文字列を引用することにより、それ以降の全部または一部の置換を抑止することがで きます。シングルコーテーションで囲まれた文字列に対しては、以後、解釈は実行されません。ダブルコー テーションで囲まれた文字列は、まだ後述の変数およびコマンド展開の対象となります。 いずれの場合も、置換の結果として生成されるテキストは、 1つのワード全体またはその一部となります。た だし、後述する1つの特殊な場合に限って(「コマンドの置換」の項を参照)、ダブルコーテーションで囲まれた 文字列が複数ワードの一部分となることがあります。シングルコーテーションで囲まれた文字列が複数のワー ドになることはありません。 エイリアスの置換 csh はエイリアスのリストを管理しており、ユーザーからは alias コマンドと unalias コマンドによってこのリ ストの登録、表示、変更を行うことができます。コマンド行は、まず走査された後、構文解析されて別個のコ マンドに分解され、各コマンドの最初のワードについて、左から右の順で、エイリアスの有無がチェックされ ます。エイリアスがある場合には、そのコマンドのエイリアスとして定義されているテキストが再度読み取ら れ、そのコマンドを前の入力行のように解釈する形で、そのテキストに対してヒストリの置換メカニズムが実 行されます。この結果として生成された一連のワードが、コマンドと引き数リストに置き換わります。ヒスト リリストへの参照がない場合、引き数は変化しません。 したがって、 ls のエイリアスとして ls -l が定義されている場合、コマンド ls /usr は ls -l /usr に変換され、引 き数は変化しません。同様に、 lookup のエイリアスとして grep !ˆ /etc/passwd が定義されている場合、 lookup bill は grep bill /etc/passwd に変換されます。 エイリアスが見つかると、入力テキストに対するワード変換が実行され、その結果として形成された新しい入 力行に対して、さらにエイリアス置換の処理が開始されます。置換後のテキストの最初のワードが前のテキス トの最初のワードと同じ場合には、それを示すマークを設定してそれ以上のエイリアス処理を抑止し、ループ に陥るのを防止しています。このほかのループは csh によって検出され、エラーとなります。 この機構によって、エイリアスの定義でパーサーのメタ構文が使用可能になります。たとえば、 alias print ´pr \!* | lp´ により、 pr(1) を用いて引き数をラインプリンターにプリントするコマンドを作成することができます。 式 組み込みコマンドの一部は、式を引き数として取りますが、式の中では、C と同様の演算子を同様の優先順位 で使用できます。式は、 @、 exit、 if および while の各コマンドで使用されます。以下に、使用できる演算子 を優先順位の低いものから順にリストします。 || && | ˆ & == != =˜ !˜ <= >= < > << >> + - ∗ / % ! ˜ ( ) 次に、上記の演算子を分類して、優先順位の高い方から順にリストします。 */% +<< >> <= >= < > HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-221 csh(1) csh(1) == != =˜ !˜ 演算子 ==、 !=、 =˜ および !˜ は、引き数を文字列として比較します。これ以外はすべて数値に対する演算で す。演算子 =˜ と !˜ は != と == に類似していますが、相違点は右辺に pattern *s, ?s および [...] ) の形式の指定 を含む) を取ることで、この場合には、この右辺のパターンに左辺のオペランドが一致するかどうかが検査さ れます。この演算子の使用により、シェルスクリプト中でパターンマッチングだけのために switch 文を使用す る必要が減少します。 0 で始まる文字列は8進数と解釈されます。引き数が空の場合または指定されていない場合は、 0 と見なされま す。式の結果はすべて 10進数を表す文字列となります。ここで特に注意が必要なのは、式の2つ以上の要素を1 つのワードの形で記述することができないという点です。式を構成する各要素は、パーサーによって解釈され る構文要素である -、 &、 |、 <、 >、 (、および ) に隣接する場合を除き、スペースで区切る必要がありま す。 また、コマンドの実行を中かっこ ( { } ) で囲むことにより、オペラントの1つとして式の中に使用することがで きます。さらに、 -l filename の形式で、ファイルについての情報の照会もオペランドに指定できます。ここ で、 l には以下のいずれかを使用できます。 r 読み取りアクセス w 書き込みアクセス x 実行アクセス e ファイルの有無 o 所有権 z サイズがゼロ f 普通のファイル d ディレクトリ 指定された filename に対してはコマンドとファイル名の展開が実行され、続いて、指定されたファイル属性と 実ユーザーとの関連がテストされます。ファイルが存在しない場合またはアクセスできない場合には、どの照 会も偽 (0) を戻します。コマンドがステータス0で終了すると、コマンドの実行は成功し真を戻します。ステー タスが0でないときは偽を戻します。さらに詳細なステータス情報が必要な場合は、コマンドを式の外で実行 して変数 status を調べる必要があります。 フローの制御 csh には実行制御コマンドが用意されており、コマンドファイル (シェルスクリプト) の中で、またターミナル 入力から (限定的ながら有用な方法で) 使用することができます。これらのコマンドは、いずれもシェルに入力 の一部分を再読み取りまたはスキップさせるという方式でその機能を実現しているため、一部のコマンドにつ いては指定位置に制約が生じています。 foreach、 switch、 while 文、および、 if 文の if-then-else の形式のものでは、その主要キーワードを1つの単純 コマンドの形で入力行に指定する必要があります (前述の各コマンドの項を参照)。 シェルの入力がシーク可能でない場合、シェルはループの読み取りの際に入力をバッファーに格納しておき、 Section 1-222 Hewlett-Packard Company − 17 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) この内部バッファー内でシークを実行してループで必要な再読み取りを実現します。 ( この方式で可能な限 り、シーク不可能な入力に対しても逆方向の goto が実行できます)。 シグナルの処理 csh は、通常、停止シグナル quit を無視します。バックグラウンドモードで実行中のジョブは、ハングアップ を含め、キーボードから生成されたシグナルには反応しません。その他のシグナルの値は、シェルがその親か ら継承した状態のままです。シェルスクリプト内での割り込みシグナルと終了シグナルの csh の処理は、 onintr によって制御できます。ログインシェルは終了シグナル terminate をキャッチします。ログインシェルで ない場合、このシグナルはシェルの親プロセスの状態から子プロセスに渡されます。ログインシェルがファイ ル .logout を読み取っているときには、割り込みはすべて抑止されます。 コマンド行の解析 csh は入力行を空白とタブの位置でワードに分割します。ただし、以下に示した例外 (パーサーのメタキャラク タ) は、つねに別個のワードとして解釈されます。 & アンパサンド | 縦棒 ; コロン < 左向き不等号 > 右向き不等号 ( 左小かっこ ) 右小かっこ && 二重アンパサンド || 二重の縦棒 << 二重の左向き不等号 >> 二重の右向き不等号 # コメントデリミタ バックスラッシュ (\) は、上記のパーサーメタキャラクタから特殊な意味を取り除きます。前にバックスラッ シュが付いたパーサーメタキャラクタは、その ASCII 値で解釈されます。前にバックスラッシュが付いた改行 文字 (ASCII 10) は空白として扱われます。 引用符 ( シングルコーテーションまたはダブルコーテーション) で囲んだ文字列は、ワードの一部分となりま す。この文字列の中にメタキャラクタまたは空白やタブが含まれていても、別個のワードにはなりません。 2 つのバックスラッシュまたは2つの引用符の間に、バックスラッシュが前に付いた改行がある場合には、本来 の改行文字として扱われます。 csh の入力がターミナル以外の場合には、 # の文字から改行までがコメントとして処理されます。 CSH の変数 csh は一群の変数を保持し、管理しています。各変数は、0個以上の文字列 (ワード) から構成される値を持っ ています。変数には名称があり、各変数名は英字で始まる 80字以内の英数字です。アンダースコアも英字と見 なされます。 set コマンドと unset コマンドを用いて、変数の値の表示と変更ができます。一部の変数は論理 HP-UX 11i Version 3: February 2007 − 18 − Hewlett-Packard Company Section 1-223 csh(1) csh(1) 型です。シェルは論理型変数の値は無視し、設定されているかどうかだけを検査します。 一部の演算は、変数を数値として処理します。単価記号 (@) コマンドを使用すれば、数値計算を実行して、そ の結果を変数に代入することができます。空の文字列は0と見なされ、複数ワードの値では2番目以降のワード は無視されます。 入力行のエイリアス置換と構文解析の終了後、各コマンドの実行前に、ドル記号 ($) で表される変数の展開が 行われます。ドル記号の前にバックスラッシュ (\) を付けると変数の展開は抑止されます。ただし、例外とし て、ダブルコーテーション (") 内では 必ず置換が実行されます。シングルコーテーションで囲まれた変数は まったく展開されません。シングルコーテーションで囲まれた文字列は後で解釈され(「コマンドの置換」の項 を参照)、変数の置換がある場合でもその時点で初めて実行されます。ドル記号の後に空白、タブ、または行末 文字が続く場合、ドル記号は展開されずにそのまま渡されます。 入出力のリダイレクト指定は、変数の展開により前に認識され、他の部分とは別個に変数展開されます。これ 以外は、コマンド名と引き数リスト全体が一緒に展開されます。 ダブルコーテーションで囲まれている場合と :q 修飾子が指定されている場合を除いて、変数の置換結果に対し ては、その後さらにコマンドとファイル名の置換が実行されます。ダブルコーテーションで囲まれている場 合、変数の値が複数ワードでも、展開の結果は、変数の値を空白で区切った形で1 ワードの一部分となりま す。 :q 修飾子が置換に適用された場合、変数が複数ワードに展開されると、各ワードは空白で区切られ、引用 されて以後のコマンド置換とファイル名置換が抑止されます。 以下のメタシーケンスを使用することにより、変数の値をシェルの入力に取り込むことができます。特に注記 した場合を除き、未設定の変数を参照するとエラーになります。 $variable_name ${variable_name} このシーケンスは、解釈された時点で、変数 variable_name の値を構成するワードに置き換 えられます (各ワードは空白で区切られます)。中かっこによって variable_name と後続の文 字を区切ることができます。中かっこを指定しないと後続の文字も変数名の一部と見なされ ます。 variable_name が csh 変数ではない場合でも、環境で設定されていれば、その値が使用されま す。 csh 変数でない変数 (Non-csh) は、後述するように変更できません。 $variable_name[selector] ${variable_name[selector]} この変換指定形式によって、 variable_name の値から一部のワードだけを選択できます。セ レクタは変数置換の対象となり、 1つの数字、またはダッシュでつないだ2つの数字を指定 できます。変数の値の最初のワードは、番号 1 で示されます。範囲の最初を示す番号を省略 すると、 1 と解釈されます。範囲の最後を示す番号を省略すると、その変数内のワード数の 合計 ($#variable_name) になります。セレクタにメタキャラクタのアスタリスクを使用する と、全ワードが選択されます。 Section 1-224 Hewlett-Packard Company − 19 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) $#variable_name ${#variable_name} この形式は、変数内のワード数を表します。これは、 [selector] オプションを使用する指定 形式で便利です。 $0 この形式は、コマンド入力が読み取られているファイルの名称に置き換えられます。ファイ ル名が不明の場合にはエラーになります。 $number ${number} この形式は、変数 argv からインデックスで要素を選択する指定 ($argv[number]) と同じで す。 $* これは、 argv をすべて選択するのと同じです ($argv[*])。 上記の置換には、修飾子 :h、 :t、 :r、 :q および :x のほか、 :gh、 :gt、 :gr も適用できます。コマンド形式の 中で中かっこ ({ }) を用いる場合は、修飾子を中かっこ内に指定する必要があります。現在のインプリメン テーションでは、 1つの展開について 1つの : 修飾子しか使用できません。 以下の置換指定は、 : 修飾子によって修飾することはできません。 $?variable_name ${?variable_name} variable_name が設定されている場合には文字列 1 に、未設定の場合には 0 に置き換えられ ます。 $?0 現在の入力ファイル名が判明すれば 1 に、不明ならば 0 に置き換えられます。 $$ シェル (親シェル) のプロセス番号 (10進数) に置き換えられます。 $< 標準入力から取り出した1行に置き換えられ、それ以降の解釈は抑止されます。これを利用 すれば、シェルスクリプトの中でキーボードからの読み取りを実行できます。 定義済み変数と環境変数 以下の各変数は、シェルにとって特別な意味を持っています。このうち autologout、 argv、 cwd、 home、 path、 prompt、 shell および status は、シェルによって必ず設定されます。 cwd と status を除き、上記の変 数の設定は、初期化時 (csh の最初の実行時) のみに行われます。これらの変数は、ユーザーが明示的に変更し ない限り不変です。 csh は HP-UX の環境変数 USER をシェル変数の user にコピーし、同様に、環境変数 TERM を term に、環境 変数 HOME を home に、 PATH を path にそれぞれコピーします。 csh 変数が再設定されると、これらの値は 必ず csh によって環境に戻されます。 ウィンドウ環境で csh が、ウィンドウの大きさが変更されたことを認識すると、 csh は、新しいウィンドウの 大きさに応じて LINES と COLUMNS の環境変数を設定します。 HP-UX 11i Version 3: February 2007 − 20 − Hewlett-Packard Company Section 1-225 csh(1) csh(1) argv この変数には、 csh コマンド文の引き数が設定されます。位置パラメータは、この変 数から取り出した値に置き換えられます。たとえば、 $1 は $argv[1] に置き換えられ ます。 cdpath この変数は、 chdir コマンドでサブディレクトリを捜すときに検索する代替ディレク トリのリストを表します。 この変数には、現在のワークディレクトリの絶対パス名が設定されます。ユーザーが cwd cd を使用してディレクトリを変更すると、この変数の値も変更されます。 echo この変数は、コマンド行オプションの -x によって設定されます。この変数が設定さ れている場合には、組み込みコマンドとその引き数が、実行の前にすべて標準出力デ バイスにエコーされます。組み込みコマンドは、コマンドとファイル名の置換の前に エコーされます。これは、コマンドの置換とファイル名の置換が、後から選択的に実 行されるためです。非組み込みコマンドでは、エコーの前にすべての展開が行われま す。 history この変数は、ユーザーのコマンドヒストリバッファーを作成し、そのサイズを設定す るために使用されます。この変数が未設定の場合には、コマンドの履歴は記録され ず、ヒストリ置換の機能は使用できません。 history に非常に大きい値を設定する と、シェルのメモリーがオーバーフローを起こすことがあります。 10 または 20 程度 の値が普通です。コマンドは、実行の可否に関係なく、すべてコマンドヒストリバッ ファーの中に記録されます。 home この変数にはユーザーのホームディレクトリの絶対パス名が設定されています。この home 変数は HP-UX 環境から初期化されます。ティルド (˜) に対するファイル名の展 開は、この変数を参照して行われます。 ignoreeof この変数が設定されている場合、 csh は入力デバイス (ターミナル) からの EOF (ファ イルの終端) 文字を無視します。通常、 csh は、ファイルの終端を検出した場合 (コマ ンド行の先頭文字として CTRL-D が入力された場合 ) には終了します。一方、 ignoreeof を設定すると、誤って CTRL-D を入力しても実行中のシェルを終了してし まうことがなくなります。 EOF 入力の無限ループを防止するため、 EOF が 26回続け て入力されると、 csh は終了します。 mail この変数には、 csh がメールの有無を調べるファイルのリストが設定されます。 csh は、定期的に (デフォルトでは 10分ごとに)、コマンドの終了と次のプロンプトを表 示する間に、この変数をチェックします。この変数に指定されているファイルの中 に、前回のチェック以降に変更されたファイルがある (つまりそのファイルにメール が保存された) 場合、 csh は You have new mail とプリントします。 mail の値の最初のワードが数値であれば、その数値はメールをチェックする時間間隔 を秒単位で表したものと解釈されます。 Section 1-226 Hewlett-Packard Company − 21 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) 複数のメールファイルが指定されている場合、シェルは New mail in file_name, とプリ ントします ( file_name はメールが格納されたファイル)。 noclobber この変数は、出力のリダイレクトに制限を加え、通常ファイルが誤って破壊されるの を防ぎます。ファイルの後に追加する形式のリダイレクト (>>) を使用するコマンド では、既存ファイルが対象となります。 noglob この変数が設定されている場合、ファイル名の展開は行われません。これは、ファイ ル名を扱わないシェルスクリプトや、取り出したファイル名のリストをそれ以上展開 したくないときに有用です。 nonomatch この変数が設定されている場合には、ファイル名の展開で既存のファイルと一致しな くてもエラーになりません。一致するものがなければ、もとのパターンが戻されま す。ただし、もとのパターンの形式が誤っていればエラーになります。たとえば、 ´echo [´ は、やはりエラーになります。 notify この変数が設定されている場合、 csh は、バックグラウンドジョブの完了を (標準出 力デバイスを通して) ただちに通知します。デフォルトは unset (未設定状態) です (プ ロンプトを出す直前にジョブの完了を通知します)。 path path 変数の各ワードによって、実行するコマンドを捜すディレクトリが指定されま す。空のワードは、ユーザーの現在のワークディレクトリを表します。 path 変数が ない場合は、コマンドの実行に絶対パス名の指定が必要になります。 path が未設定 で、ユーザーが絶対パス名を指定しない場合、 csh は、ディレクトリ . ( 現在のディ レクトリ)、 /usr/bin の順でコマンドを捜します。 csh に対して -c と -t のいずれのオ プションも指定されていない場合には、通常、 .cshrc の読み取り後と path 変数の再 設定のたびに、 path 変数に設定されたディレクトリの内容についてハッシュ値が計 算されます。シェルの実行中に、これらのディレクトリに新しいコマンドが追加され た場合には、 rehash を実行して csh からその新しいコマンドにアクセスできるよう にする必要があります。 prompt この変数によって、独自のプロンプト文字列を指定できます。プロンプトは、対話形 式のターミナル入力からコマンドが読み取られる前に表示されます。この文字列の中 に ! があると、その前に \ を付けた場合を除いて、コマンドヒストリバッファーの現 在のイベント番号に置き換えられます。デフォルトのプロンプトは、一般ユーザーで はパーセント記号 (%)、スーパーユーザーでは # の文字です。 savehist ユーザーがログアウトしたときに ˜/.history 内に保存されるヒストリリストの行数。 savehist の値が大きいと、 csh の起動が遅くなります。 shell この変数には、 csh プログラムが格納されているファイルの名称が設定されていま す。実行ビットが設定されているのにシステムが実行できないファイルがある場合、 この変数を使用してシェルをフォークし、そのファイルの解釈を実行します (「非組 み込みコマンドの実行」の項を参照)。 HP-UX 11i Version 3: February 2007 − 22 − Hewlett-Packard Company Section 1-227 csh(1) csh(1) status この変数には、直前のコマンドが戻したステータス値が設定されます。コマンドが異 常終了すると、status 変数の値に 0200 が加算されます。異常終了した組み込みコマン ドは exit ステータス 1 を戻し、それ以外の場合組み込みコマンドはステータス 0 を戻 します。 time この変数には、コマンドの自動時間計測機能を制御する数値が設定されます。この変 数が設定されている場合には、指定された秒数を超える cpu 時間を消費したすべての コマンドについて、 csh は、ユーザー時間、システム時間、実行の実時間、および利 用率を示す1行の情報をユーザーの標準出力デバイスにプリントします。利用率は、 実時間に対する、ユーザー時間とシステム時間の合計の割合を表します。このメッ セージは、コマンドの実行終了後にプリントされます。 verbose この変数は、コマンド行オプションの -v によって設定されます。この変数を設定す ると、各コマンドを構成するワードが、ヒストリ置換の実行後に標準出力デバイスに プリントされます。 コマンドおよびファイル名の置換 以上で説明した置換以外に、コマンドとファイル名の置換があります。この置換は、組み込みコマンドの引き 数に対して選択的に適用されます。つまり、式の中で評価対象にならない部分は、この置換 (展開) の対象にな りません。 シェルの内部コマンド以外のコマンドでは、コマンド名は引き数リストとは別に置換されます。この置換は、 遅い段階で発生し、入出力のリダイレクトの実行後にメインシェルの子プロセスの中で行われます。 コマンドの置換 コマンドの置換は、バックコーテーション (‘...‘) で囲まれたコマンドに対して行われます。このようなコマン ドからの出力は、通常、空白、タブ、および改行の位置でワードに分割され (空のワードは無視されます)、そ のテキストがもとの文字列に置き換わります。ダブルコーテーションの中では、改行のみがワードの区切りと して解釈され、空白とタブはそのまま残されます。 どんな場合でも、最後の単一の改行は新しいワードの始まりとは解釈されません。したがって、コマンドが完 全な1行を出力する場合でも、コマンドの置換結果を単なるワードの一部とすることが可能になります。 ファイル名の置換 コマンドの各 word は、ファイル名の置換 (globbing とも呼ばれます) の対象となるパターンとして処理され、 そのパターンと一致するファイル名のソート済みリストに置き換えられます。パターンの形式は regexp(5) で定 義されているパターンマッチング表記法に従いますが、次の例外があります。 • • 一致しないパターンを大かっこの中にリストする表記はサポートされていません。 ワードのリストの形式でファイル名の置換を指定する場合、どのパターンも既存ファイルに一致し なければエラーになりますが、各パターンについて一致するファイルがそれぞれ存在する必要はあ りません。 Section 1-228 Hewlett-Packard Company − 23 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) • メタ表記法の a{b,c,d}e は "abe ace ade" の省略形です。この表記の左から右への順序は保存され、 一致によって置換された結果は、この順序が保たれるように、下位レベルで別々にソートされま す。この表記法はネストが可能です。したがって、 ˜source/s1/{oldls,ls}.c という行は次のように展開されます。 /home/source/s1/oldls.c /home/source/s1/ls.c こ の 展 開 は 2 つ の ファ イ ル の 有 無 に 関 係 な く 実 行 さ れ、 source の ホー ム ディ レ ク ト リ が /home/source であればエラーにもなりません。同様に、 ../{memo,*box} という行は次のように展開されます。 ../memo ../box ../mbox (ここで、 memo は *box の一致結果とともにソートされていないことに注意してください)。特殊 な場合として、 {、 }、および { } はそのまま渡されます。 入力/出力 コマンドの標準入力と標準出力のリダイレクトは、次のような構文を使用して指定します。 < name ファイル name を標準入力としてオープンします (name に対しては、最初に変数、コ マンド、ファイル名の展開が行われます)。 << word シェル入力を、指定された word と等しい行まで読み取ります。 word は、変数、ファ イル名、コマンドの置換の対象とならず、各入力行と word との比較は、入力行に対 する置換が行われる前に実行されます。 word の中に \ や、 ", ’, または ‘ が引用符と して指定されていない限り、 word 間の行に対しては変数とコマンドの置換が行われ ますが、 \ によって $、 \ および ‘ を引用することは可能です。置換後のコマンドに は、空白, タブ, 改行がすべてそのまま残されますが、最後の改行だけは削除されま す。結果のテキストは無名のテンポラリファイルに格納され、このファイルの内容が コマンドの標準入力になります。 > name >! name >& name >&! name ファイル name が標準出力として使用されます。ファイルが存在しない場合には作成 され、存在している場合にはファイルの大きさは 0 になり、既存の内容が失われま す。 変数 noclobber が設定されている場合には、まだ存在していないファイルまたはキャ ラクタスペシャルファイル (たとえば、ターミナルや /dev/null) を指定しなければなり ません。それ以外のファイルを指定するとエラーになります。これは、誤ってファイ HP-UX 11i Version 3: February 2007 − 24 − Hewlett-Packard Company Section 1-229 csh(1) csh(1) ルを破壊するのを防止するためです。ただし、この場合でも、感嘆符 (!) を付ける形 式を使用すれば、このチェックを抑止できます。 noclobber は通常ファイルのみに適用され、名前つきパイプや他のファイルタイプに は適用されません。 アンパサンド文字 (&) を付ける形式を使用すると、標準出力だけでなく標準エラー出 力も指定のファイルに送られます。 name は < 形式での入力ファイル名と同様に展開 されます。 >> name >>& name >>! name >>&! name ファイル name を、 > と同様に標準出力として使用しますが、出力はファイルの最後 に追加されます。変数 noclobber が設定されている場合には、ファイルが存在しない とエラーになります。ただし、 ! の形式を使用するとエラーにはなりません。それ以 外は > と同様です。 コマンドは、シェルが起動されたときの環境を受け取りますが、入出力パラメータの指定や、コマンドをパイ プラインの中で実行したことなどによって、一部変更された形で渡されます。したがって、従来の一部のシェ ルとは異なり、シェルスクリプトから実行されたコマンドは、デフォルトのままではそのコマンド用のテキス トにアクセスできず、シェルのもとの標準入力の方を受け取ります。このような場合、スクリプト内のインラ インデータを参照させるには、 << のメカニズムを使用する必要があります。これにより、シェルスクリプト をパイプラインの構成要素と同様に動作させ、入力を読み取るためにシェルをブロックさせることが可能とな ります。 診断出力は、標準出力とともにパイプに送ることができます。単に、 | の代わりに |& を使用してください。 CSH のユーティリティ ファイル名の完成 コマンドの引き数としてファイル名をタイプするときには、ファイル名全体をタイプする必要はなく、その ファイル名を一意に特定できるところまでの省略形で十分です。指定した省略形と一致するファイル名を確認 したくなったら、 ESC キーを押してください。システムがファイル名を完成させてターミナルに完全なファイ ル名を表示します。タイプしたファイル名の先頭部分と一致するファイル名がない場合には、ターミナルのベ ルが鳴ります。一致するファイルが複数ある場合には、ファイル名は部分的に補完されます。この場合には、 候補となる複数のファイル名に共通の部分だけが表示され、ベルが鳴ります。 ファイル名完成の機能は、別のディレクトリにあるファイルを指定する場合にも有効です。さらに、ホーム ディレクトリを表すティルド (˜) も正しく認識されます。 ファイルまたはディレクトリリストの表示 コマンドをタイプする操作の任意の時点で、「どんなファイルがあるか」あるいは「指定したこのパターンに 一致するファイルはどれか」などを確認することができます。たとえば、次のとおり入力します。 Section 1-230 Hewlett-Packard Company − 25 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) % cd ˜speech/data/bench/fritz/ そのとき、どんなファイルやディレクトリが ˜speech/data/bench/fritz にあるかを、コマンド入力を中断せずに 確認したくなったとします。その場合には、 CTRL-D を押せば、指定できるファイルがリストされます。ファ イルは、複数カラムのフォーマットに縦方向にソートされた形でリストされます。ディレクトリの後には / が、実行可能ファイルの後には * が付加されます。表示が終わるとコマンドがもう一度ターミナルに表示され るので、それに続きをタイプすれば入力を完成できます。また、ファイル指定の途中で、入力したところまで のパターンに一致するファイルを確認することもできます。たとえば、 % cd ˜speech/data/bench/fr のようにタイプしてから CTRL-D を押すと、ディレクトリ ˜speech/data/bench 内の fr で始まるファイルとサブ ディレクトリがリストされます。この形式の特殊な場合として、最後のファイル名の部分を空の文字列にすれ ば、この前の例と同じになります。 (空の文字列はあらゆる文字列のプレフィックスです)。また、ファイル名 の完成とリストのいずれの場合でも、サブディレクトリの内容を確認するには最後のスラッシュが必要なこと に注意してください。さらに、上記の形式の特殊な場合として、 % ˜ˆD とタイプすれば、現在システム上の全ログイン名のリストが表示されます。 コマンド名の認識 コマンド名の認識と完成も、上記のファイル名の認識と完成の場合と同様に行われます。コマンドの検索で は、環境変数 PATH の現在の値が使用されます。 % newa [Escape] は、たとえば次のように補完されます。 % newaliases また、 % new [Control]-[D] は、 new で始まる全コマンドを PATH (から捜して) リストします。オプションとして、シェル変数 listpathnum が設定されている場合には、 [Control]-[D] によるリスト表示の際、各コマンドの横に、 PATH 内でのイン デックスを表す数字も表示されます。 自動ログアウト 新しいシェル変数 autologout が追加されています。これは、シェルのトップレベルでターミナルのアイドル状 態 (文字入力がない状態) が、 autologout に指定された値よりも長い時間 (分単位) 継続すると、自動的にログ アウトする機能です。コマンドの実行中は、 autologout の機能が一時的に抑止されます。 autologout の初期値 は 600 です。この変数の設定を解除した場合、または値として0を設定した場合には、 autologout の機能は全 面的に抑止されます。 HP-UX 11i Version 3: February 2007 − 26 − Hewlett-Packard Company Section 1-231 csh(1) csh(1) コマンド行の制御 ˆR をタイプすると現在のコマンド行が再表示され、 ˆW をタイプすると現在のコマンド行に入力された最後の ワードが消去されます。 通常モードへの復帰 C シェルは、raw, cbreak, または noecho モードのコマンドから戻ったと判断すると、ターミナルを普通のモー ドに戻します。 ヒストリバッファーの保存 csh には、ログイン中のヒストリリストをセーブする機能があります。シェル変数 savehist に数値を設定して おくと、ユーザーのヒストリリストから savehist 個分のコマンドイベントがセーブされます。たとえば、 set history=10 savehist=10 という行をユーザーの .cshrc ファイルの中に入れておくと、長さ 10 のヒストリバッファーが保持され、ログ アウト時にはそのヒストリリスト全体がセーブされます。これにより、再度ログインしたときには、そのバッ ファー全体が復元されます。このコマンドリストは、ユーザーのログインディレクトリ内のファイル .history にセーブされます。 多言語化対応 環境変数 LC_COLLATE は、ファイル名置換用のパターンマッチング表記の評価で使用される照合順序を決定します。 LC_CTYPE は、テキストをシングルバイトまたはマルチバイトのいずれの文字で解釈するかを決定し、ま た、英字に分類する文字、およびパターンマッチング表記の文字クラス表現と一致する文字を決定します。 LANG は、メッセージの表示に使用する言語を決定します。 現在使用している環境において、 LC_COLLATE または LC_CTYPE が指定されていない場合や、空の文字列 が設定されている場合には、 LANG の値が、その変数のデフォルトとして用いられます。 LANG が指定され ていなかったり、空の文字列の場合には、デフォルトの"C" (lang(5) 参照) が LANG の値として使用されま す。多言語化対応変数のいずれかの設定が不適当な場合には、 csh は、すべての多言語化対応変数が "C" に設 定されているものとして動作します。 environ(5) を参照してください。 LARGESCRIPTS が定義されていると、サイズが 1 GB より大きいスクリプトを csh で実行できるようになり ます。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 警告 .cshrc ファイルは、標準出力や標準エラー出力に、まったく出力を生成しないように作成する必要があります ( 関連するターミナルなしで実行される場合も同様です)。 rcp(1) を実行すると、 .cshrc が source によって読み 取られるため、 .cshrc ファイルが出力を生成すると、標準エラー出力への出力であっても、問題が発生しま す。したがって、 stty(1) などのコマンドは、コマンドからの出力によって rcp(1) が混乱しないように、 .cshrc ではなく .login の中に入れておく必要があります。 Section 1-232 Hewlett-Packard Company − 27 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) csh には一定の制限があります。ワードと環境変数は、10240バイト以下でなければなりません。引き数リスト は 10240バイトに制限されています。ファイル名の展開を伴うコマンドに対する引き数の個数は、引き数リス トに許されているバイト数の6分の1に制限されています。引き数リストに許されているバイト数を超えるよう な文字列を生成するコマンド置換は実行できません。 ループを検出するため、1行内での エイリアスの置換は 20 に制限されています。 csh は、停止していたコマンドが実行を再開する際、コマンド起動時のディレクトリが現在のディレクトリと 異なっていると、起動時のディレクトリをプリントします。しかし、ジョブが内部的にディレクトリを変更し ている場合もあるので、これは誤解を招きやすい (要するに誤った) メッセージです。 シェルの組み込み関数は、途中では停止も再開もできません。また、 a ; b ; c の形式のコマンドシーケンスを 停止させようとしても、意図した結果は得られません。 b を中断させても、シェルはただちに c を実行してし まいます。このコマンドシーケンスが エイリアス置換の結果である場合には、特に問題となります。対処とし ては、一連のコマンドをかっこの中に入れた形式 ( a ; b ; c ) にして、サブシェルとして実行させる方法が適当 です。 csh のシグナル処理の関係で、コマンドの実行直前には割り込みが抑止され、コマンドの実行が始まると抑止 が解除されます。そのため、コマンドの入力から割り込みの認識までの間に、数秒程度の遅れが生ずることが あります。 プロセス開始後の tty 出力に対する制御はやや原始的です。ここは、やはり優れた仮想ターミナルインタ フェースを使用したくなるところです。仮想ターミナルインタフェースを使用すれば、出力制御ではるかに便 利な操作が可能になるはずです。 エイリアスの置換は、ほとんどの場合、シェルプロシージャをシミュレートするために、扱いづらい形で使用 されています。エイリアスのかわりにシェルプロシージャを用意すべきでしょう。 ループ内で ? プロンプトに応じて入力したコマンドは history リストには保存されません。本来ならば、制御 構造は組み込みコマンドとして認識されるのではなく、構文として解析されるべきです。そうすれば、制御コ マンドを任意の位置に入れることが可能となり、また | との組合せや、メタ構文の & や ; とともに使用するこ とも可能になるはずです。 コマンド置換の出力に : 修飾子が使用できないのは問題です。また、 $ の置換に対しては、すべての : 修飾子 を複数指定できるのが本来の姿です。 ターミナルの種類は、ユーザーが認識しようとしない限り検査されません。 PATH のディレクトリから取り出せるコマンドを全部リストしたい場合には、 [Space]-[Ctrl]-[D] とタイプして ください。 csh のメタシーケンス !˜ は機能しません。 国際環境において、文字の順序は、マシンの照合順序による文字の値のバイナリ順ではなく、 LC_COLLATE の設定によって決定されます。その副作用として、文字の順序に関連した操作に危険が伴うことがあり、特に ファイル名生成パターンの中で範囲を表す式を用いるときに問題となります。たとえば、コマンド HP-UX 11i Version 3: February 2007 − 28 − Hewlett-Packard Company Section 1-233 csh(1) csh(1) rm [a-z]* は、通常なら小文字の英字で始まるすべてのファイル名と一致するはずです。しかし、 LC_COLLATE によっ て辞書順が指定されている場合には、大文字で始まるファイル名 (およびアクセント記号付きの文字で始まる ファイル名) にも一致してしまいます。逆に、ノルウェー語などの言語で、照合順序が z の後になる文字には 一致しません。 国際環境で、特定の文字クラスに正しく (そして安全に) 一致させる方法は、次のような形式のパターンを使用 することです。 rm [[:lower:]]* これは、 LC_CTYPE を用いて文字クラスを判定しており、サポートされているすべての言語とコードセット について、その動作は予測可能です。国際化対応していないシステム上で作成された (または上記の危険性を 考慮せずに作成された) シェルスクリプトについては、NLS (母国語サポート) 環境でない環境で実行すること をお勧めします。そのためには、 LANG や LC_COLLATE などの環境変数を "C" に設定するか、または設定 そのものを行わないことが必要です。 csh では、シェル自体とコマンドとの間にパイプを作成することによってコマンドの置換がインプリメントさ れています。ルートファイルシステムに空きがない場合には、置き換えられたコマンドはパイプに書き込むこ とができません。その結果、シェルはコマンドから入力を受け取らず、置換の結果は空になってしまいます。 特に、このような状況で変数の設定にコマンド置換を使用すると、ユーザーから認識できない形で、変数に NULL の値が暗黙裏に割り当てられてしまいます。 相対的なディレクトリの移動 ( たとえば、 cd ..) を、シンボリックリンクされたディレクトリ内で実行する と、 csh は、ワークディレクトリを、物理的なパスでなくシンボリックリンクのパスから判断してしまいま す。 HP-UX 9.0以前のリリースでは、 csh はファイルから入力を受け取る段階でコマンドが実行できなくなると (た とえば、必要なコマンドが見つからない場合)、ただちに終了してしまいます。リリース 9.0 以降から csh は、 ファイル中の残りのコマンドを実行して処理を続行するように変更されています。ただし、互換性の理由で旧 リリースの動作が必要となる場合は、環境変数 EXITONERR を1に設定してください。 LARGESCRIPTS が定義されていると、シェルは最小限の入力だけしかメモリー内に保持しません。したがっ て、シェルの入力を元に戻すような goto 制御文などが正常に動作しないことがあります。 非対話型のシェルは、実行開始時に ˜/.history ファイルを読み込みません。スクリプトで、 ˜/.history ファイル を明示的に読み込ませる必要がある場合には、 source コマンドを使用してください。 著者 csh は、カリフォルニア大学バークレイ校および HP で開発されました。 ファイル ˜/.cshrc 各シェルが起動時に source によって取り込む (実行する) csh のスクリプト (「警告」の項を参照) Section 1-234 Hewlett-Packard Company − 29 − HP-UX 11i Version 3: February 2007 csh(1) csh(1) ˜/.login ログイン時にログインシェルが .cshrc の後で source によって取り込む (実 行する) csh のスクリプト ˜/.history ヒストリリストが保存されるファイル ˜/.logout ログアウト時にログインシェルが source によって取り込む (実行する) csh のスクリプト /etc/passwd ˜name をホームディレクトリに置き換えるときに参照されるファイル /usr/bin/sh 標準シェル (# で始まらないシェルスクリプト用) /etc/csh.login csh によるログイン時に ˜/.cshrc と ˜/.login の前に source で取り込まれる ( 実行される) csh のスクリプト (POSIXシェルの /etc/profile に対応) /tmp/sh* << 用のテンポラリファイル 参照 cd(1), echo(1), kill(1), nice(1), sh(1), umask(1), access(2), exec(2), fork(2), pipe(2), umask(2), wait(2), a.out(4), environ(5), lang(5), regexp(5), tty(7) 『Shells Users Guide』に記述された Cシェルのチュートリアル HP-UX 11i Version 3: February 2007 − 30 − Hewlett-Packard Company Section 1-235 csplit(1) csplit(1) 名称 csplit − コンテキスト分割 構文 csplit [-s] [-k] [-f prefix ] [-n number] file arg1 [ ... argn ] 説明 csplit は file を読み込み、引き数 arg1 ... argn により定義されるように n+1 セクションに分割し、結果を別の ファイルに入れます。 -n number オプションを使用してより多くの出力ファイル名を許容しない限り (arg1 か ら argn) 引き数の最大許容数は、 99です。 -f prefix オプションを指定すると、生成するファイル名は prefix00 から prefix NN です。ただし、 NN は n の2桁の値で、 n が10より小さいときは前にゼロを付けます。 -f prefix オプションを指定しなければ、 xx00 から xxNN のデフォルトファイル名が使用されます。 file は以下のように 分割されます。 デフォルト プリフィックス付き ファイル名 ファイル名 xx00 prefix00 内容 fileの先頭から、arg1により参照される行(しかし、この行は 含まれません)まで。 xx01 prefix01 arg1により参照される行から、arg2により参照される行ま で。 . . . xxNN prefixNN argnにより参照される行から、fileの終端まで。 file 引き数が - の場合、標準入力が使用されます。 csplit は基本正規表現の構文をサポートします( regexp(5) を参照)。 オプション csplit は以下のオプションを認識します。 すべての文字カウントのプリントを抑止します (csplit は通常、作成されたファイルご -s とに文字カウントをプリントします)。 以前に作成されたファイルをそのままにしておきます (csplit は通常、エラーが発生す -k ると作成されたファイルを削除します)。 -f prefix 作成されたファイル prefix00 から prefixNN に名前を付けます(デフォルトは xx00 から xxNN です)。 -n number 出力ファイル名のサフィックスの桁数は、デフォルトの 2 ではなく number の桁数を 使用します。これにより、100個を超える出力ファイルを作成できます。 csplit への引き数 (arg1 から argn) は、以下の任意の組合わせが可能です。 Section 1-236 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 csplit(1) csplit(1) /regexp/ 現在の行から正規表現 regexp に一致する行(その行は含まない)までのセクションを含 むファイルを作成します。新しい現在の行は regexp に一致する行になります。 /regexp/+n /regexp/-n 現在の行から正規表現 regexp に一致する前へ (-n) n 番目または後へ (+n) n 番目の行( そ の 行 は 含 ま な い ) ま で の セ ク ショ ン を 含 む ファ イ ル を 作 成 し ま す ( 例 え ば、 /Page/-5)。新しい現在の行は、 regexp±n の行に一致するものになります。 %regexp% line_number そのセクションに対してファイルが作成されない点を除いて /regexp/ と等価です。 現在の行から line_number ( その行は含まない) までのファイルを作成します。新しい 現在の行は line_number になります。 {num} 引き数を繰り返します。この引き数は、上記の任意の引き数形式の後に置けます。 regexp 引き数の後の場合、その引き数は別に num 回適用されます。 line_number の後 の場合、その位置からファイルの終端に達するか、または num が終わるまでファイル は num 回各 line_number 行に分割されます。 {*} 入力が終わるのに必要なだけ前のオペランドを繰り返します。 空白、またはシェルにとって意味のある他の文字を含む regexp 引き数はすべて適切な引用符で囲んでくださ い。正規表現には、埋め込まれた改行を含んではなりません。 csplit は、オリジナルファイルを変更または削 除しません。適切なときにユーザーが削除する必要があります。 多言語化対応 環境変数 LC_COLLATE は、正規表現を評価する際使用される照合順序を決定します。 LC_CTYPE は、正規表現における文字クラス式によって一致する文字を決定します。 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_COLLATE、 LC_CTYPE、または LC_MESSAGES が環境で指定されない、または空の文字列に設定され た場合、 LANG の値はそれぞれ未指定または空の変数のデフォルトとして使用されます。 LANG が指定され ない、または空の文字列に設定された場合、 LANG ではなく"C"( lang(5) を参照) のデフォルトが使用されま す。多言語化対応変数に無効な設定値が含まれる場合、 csplit はすべての多言語化対応変数が"C"に設定されて いるものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングルおよびマルチバイトの文字コードセットがサポートされています。 診断 以下の場合を除いて説明を要しません。 arg - out of range これは、与えた引き数が現在位置およびファイルの終端との間の行を参照しなかったことを示します。また、 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-237 csplit(1) csplit(1) 繰返しカウント分が完了する前にファイルの内容がなくなってしまった場合にも、この警告は発生します。 例 cobol00 から cobol03 まで4つのファイルを作成します。「分割」ファイルのエディット後、それらを元のファ イルに再結合して前の内容を破壊します。 csplit -f cobol file ’/procedure division/’ /par5./ /par16./ エディット操作を行います。 cat cobol0[0-3] > file 10,000行まで100行ごとにファイルを分割します(100ファイル)。 10,000行より少ない場合 -k オプションで、作 成されたファイルは保持されます(しかし、エラーメッセージはプリントされます)。 csplit -k file 100 ’{99}’ 行頭に置いてルーチンは } で終了するという通常のCコーディング規約に prog.c が従うとすれば、 prog.c でそ れぞれ別のCルーチン(最大21個)を含むファイルを作成します。 csplit -k prog.c ’%main(%’ ’/ˆ}/+1’’{20}’ 参照 sh(1), split(1), environ(5), lang(5), regexp(5) 標準準拠 csplit: SVID2, SVID3, XPG2, XPG3, XPG4 Section 1-238 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ct(1) ct(1) 名称 ct − リモートターミナルへのgettyのspawn生成(ターミナルへの電話接続) 構文 ct [-w n] [-x n] [-h] [-v] [-s speed] telno... 説明 ct は telno (ターミナルに接続したモデムの電話番号)をダイアルし、 getty(1M) プロセスをそのターミナルに対 してspawn生成します。 ct は、適切な属性をもった利用可能な回線が見つかるか、エントリーの終わりに達するまで、ファイル /etc/uucp/Devices にリストされた各回線を調べます。使用可能な回線がまったくない場合、 ct は回線が見つか るまで待機すべきかどうか、もしそうならば、中止するまでに何分間待機すべきかを問い合わせます。指定し た制限時間を過ぎるまで、 ct は利用可能な回線を1分間隔で再度検索します。通常、 ct は現在のtty回線を切 り離すので、その回線は着信に応答できることに注意してください。 ct が、 getty プロセスを生成するために 現在のtty回線はターミナルに接続されているものとみなすからです。 telno 引き数は、文字 0 から 9, -, =, *, および # で構成できる電話番号を指定します。 2次発信音を示すには等 号を、適切な場所にポーズを入れるにはマイナス符号を使用してください。 telno の最大の長さは31 文字で す。複数の電話番号を指定すると、 ct はどれか1つが応答するまで1つずつダイアルするので、これは別の通 信経路を指定するのに便利です。 ct が現在の回線を切断したときは、 ct が再接続のため同じ回線を使用する場合、 getty をspawn生成してはな りません。そうしたい場合は、 inittab ファイルにあるこの回線のエントリーを getty ではなく uugetty に設定 してください( inittab(4) を参照)。 オプション ct は以下のオプションおよびコマンド行引き数を認識します。 -wn 回線がビジーのとき、回線に対して最大 n 分だけ待機するように ct に指示します。 このオプションを指定すると、 ct は、回線に対して待機すべきかどうかをユーザーに 問い合わせません。 -xn 標準エラー出力にプログラム実行の詳細な出力を生成します。このオプションはデ バッギングに使用します。デバッギングレベル n は1桁の数字で、最も便利な値は -x9 です。 -h ct が現在のtty回線を切り離す(「電話を切る」)のを防ぎます。 ct が getty の生成に使 用する回線と異なるtty回線をユーザーが使用している場合は、このオプションが必要 です。 -v 冗長モード。 -v オプションは -h オプションとともに用し、 ct は実行状況を標準エ ラー出力ストリームへ送ります。 -sspeed データ通信速度を設定します。 speed はボー単位で表します。デフォルトの通信速度 は 1200 baud です。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-239 ct(1) ct(1) 宛先ターミナル上のユーザーがログアウトした後、 ct は、 Reconnect? のプロンプトを出します。応答が文字 n で始まる場合は、その回線は切られます。そうでなければ、 getty が再起動され、 login: プロンプトがプリ ントされます。 もちろん、宛先ターミナルは、外部からの呼び出しに自動応答できるモデムでなければなりません。 ファイル /var/adm/ctlog /etc/uucp/Devices 参照 cu(1), login(1), uucp(1), getty(1M), uugetty(1M) Section 1-240 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ctags(1) ctags(1) 名称 ctags − タグファイルの作成 構文 ctags [-xvFBatwu] files ... 説明 ctags は、指定したC、Pascal、FORTRAN ソースから ex(1) ( または vi(1)) のタグファイルを作成します。 タグ ファイルは、一連のファイルの中で指定オブジェクトの位置を与えます(Cの場合は、関数、引き数を含むマク ロ、typedef。Pascalの場合は、プロシージャ、プログラム、関数。FORTRAN の場合は、サブルーチン、プログラ ム、関数)。タグファイルの各行には、オブジェクト名、その定義を示したファイル、オブジェクト定義につい てのアドレス指定が含まれています。出力は昇順の照合順で並び換えられます(以下の環境変数を参照)。 Cの typedef 以外のオブジェクトはすべてパターンで検索され、 typedef は行番号で検索されます。指定子はその行 の別のフィールドで与えます。これらのフィールドはスペースまたはタブで区切られています。 tags ファイル を使用すると、 ex により、これらのオブジェクトの定義を即座に見つけられます。 -x ctags は、単純な関数インデックスをプリントします。これは、関数名、各関数が定義されて いるファイル名、関数名がそれぞれ現れる行番号、および各行のテキストからなるリストを まとめることで行われます。次に、リストは標準出力に対してプリントされます。 tags ファ イルは作成されたり変更されたりしません。 -v ページ索引を標準出力に生成します。このリストには、関数名、ファイル名、そのファイル に含まれるページ番号があります(ただし、56行からなる各ページは pr(1) と一致していなけ ればなりません)。 名前が .c または .h で終るファイルは、Cのソースファイルであるとみなされ、そのファイルからCのルーチン およびマクロの定義が検索されます。その他のファイルは、 PascalまたはFORTRAN ルーチンの定義が含まれて いるかどうかがまず調べられ、含まれていなければ、再度処理を行って、Cの定義を探します。 その他のオプションは以下のとおりです。 -F パターンの順方向検索 (/.../) (デフォルト)を使用します。 -B パターンの逆方向検索 (?...?) を使用します。 -a ファイルから得られた情報を tags ファイルに追加します。オリジナルファイルから tags ファ イルを再構築する場合と異なり、 tags ファイルにある同じシンボルを2度入力する可能性があ ります。このオプションを使用する場合はよく注意し、また非常に特殊な状況以外では使わ ないようにしてください。 -t typedefのタグを作成します。 -w 警告診断を抑止します。 -u tags で指定された各ファイルをアップデートします。つまり、それらのファイルへの参照は すべて削除され、上記の -a の場合のようにファイルに新しい値が追加されます ( このオプ HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-241 ctags(1) ctags(1) ションは、いくぶん低速になるようにインプリメントされており、一般に、 tags ファイルを 単に再構築する方が高速であることに注意してください)。 タグ main は、Cプログラムで特別に処理されます。形成されるタグは、 M をファイル名の先頭に追加するこ とにより作成されます。このとき、その後に続く .c がすべて削除され、先行するパス名成分も削除されます。 またこの場合は、これにより、複数のプログラムのあるディレクトリで ctag を利用することが実際的になりま す。 多言語化対応 環境変数 LC_COLLATE は、出力を並び換える順番を決定します。 LC_CTYPE は、文字列リテラルおよびコメント内のシングルバイト文字またはマルチバイト文字のいずれの 文字(両方も可)で解釈するかを決定します。 現在使用している環境において、 LC_COLLATE または LC_CTYPE が指定されていない場合や、空の文字列 が設定されている場合には、 LANG の値がその変数のデフォルトとして用いられます。 LANG が未指定か、 または空の文字列の場合、デフォルトの "C" (lang(5) を参照)が LANG の値として使われます。多言語対応変 数のいずれかの設定が不適当な場合には、 ctags はすべての多言語対応変数が "C" に設定されているものとし て動作します。 environ(5) を参照してください。 サポートされる文字コードセット マルチバイトの文字ファイル名がサポートされない点を除き、シングル/マルチバイトの文字コードセットがサ ポートされています。 診断 Too many entries to sort. ヒープスペースを新たに取得しようとする試みが異常終了しました。したがって、並び換えは行われ ません。 Unexpected end of function in file file, line line. タグファイルが正しくない可能性があります。 最初のカラムの不適切な位置で } 文字が見つかりました。これにより、 tags ファイルに誤ったエント リーを生じることがあります。 Duplicate entry in file file, line line: name. Second entry ignored. 同じ名前が同一のファイルで2度検出されました。 tags エントリーは、見つかった最初の名前に対して のみ作成されました。 Duplicate entry in files file1 and file2: name (Warning only). 同じ名前が異なる2つのファイルで検出されました。 tags エントリーは、見つかった最初の名前に対し てのみ作成されました。 Section 1-242 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ctags(1) ctags(1) 例 現在のディレクトリ内のすべての C ソース (*.c) ファイルおよびヘッダ (*.h) ファイルに対し、tags という名称 のタグファイルを現在のディレクトリに作成します。 ctags *.[ch] タグファイルが現在のディレクトリに存在する場合、そのタグファイルでは、(vi (vi(1) を参照) などの) タグ ファイル用のコマンドを使用できます。 あるソースファイルに保存された特殊な関数 myfunc() を編集するには、vi を使用してタグファイルを編集し てください。 vi -t myfunc vi を使用して C のソースファイルを編集しているときには、ex-mode というタグコマンドを使用して関数 myfunc() を編集してください。 :tag myfunc ファイル myprog.c 内で main() を探すには、vi を使用してください。 vi -t Mmyprog vi を使用しているときには、ファイル myprog.c ( 現在編集しているファイルでなくてもかまいません ) の main() を探してください。 :tag Mmyprog 警告 FORTRAN およびPascalの場合、 function, subroutine, および procedure は、非常に簡単な方法で認識されます。 ブロック構造を取り扱うような試みは行われませんが、同じ名前をもつ異なるブロックで2つのPascalプロシー ジャが存在する場合は、警告メッセージが生成されます。 CまたはPascalおよび FORTRAN 関数を探すかどうかを判別する方法は、完全ではないので、異常なプログラムで 使用すると正常に動作しないことがあります。 ctags は、 #ifdef およびPascalタイプには対応していません。 このプログラムは、入力が typedef は、検出できるように適切に形成されているかどうかに依存します。 -tx の使用はtypedefの最後の行のみを示します。 ex は、複数の同一タグをもつ tags ファイルに対しては単純で、その(非線形の)検索によりタグを使って見つ かった最初のエントリーを選択するだけです。このようなファイルは、 -u または -a オプションのいずれかで 作成するか、 tags ファイルをエディットして作成できます。 複数の(関数)定義が1行にある場合は、最初の定義のみが索引付けされます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-243 ctags(1) ctags(1) 著者 ctags はカリフォルニア大学バークレー校で開発されました。 ファイル tags 出力タグファイル OTAGS -u により使用されるテンポラリファイル 参照 ex(1), vi(1) 標準準拠 ctags: XPG4 Section 1-244 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 cu(1) cu(1) 名称 cu − 別の (UNIX) システムの呼び出し(ターミナルエミュレータ) 構文 cu [-s speed] [-l line] [-h] [-q] [-t] [-d level] [-e -o] [-m] [-n] [telno systemname dir] UNIX 標準構文 cu [-s speed] [-l line] [-h] [-q] [-t] [-d] [-e -o] [-m] [-n] [telno systemname dir] 説明 cu は別のシステムを呼び出します。これは通常 UNIX オペレーティングシステムですが、ターミナル、または UNIX 以外のオペレーティングシステムのこともあります。 cu は、 ASCII ファイルの転送を含めて、システ ム間の対話処理をすべて行います。 オプション cu は次のオプションとコマンド行引き数を認識します。 -sspeed 転送スピード(110、150、300、600、1200、2400、3600、4800、7200、9600、19200) を指定します。デフォルト値は300です。 -lline 通信回線として使用する装置名を指定します。これを使用すると、指定したスピード で使用できる回線を検索しなくなります。 -s オプションを付けないで -l オプション を使用すると、回線のスピードはファイル /etc/uucp/Devices から得られます。 -l およ び -s オプションを同時に使用すると、 cu は、 /etc/uucp/Devices を検索し、要求した 回線の要求したスピードが利用可能かどうかを判定します。利用可能ならば、要求し たスピードで接続されます。利用可能でなければ、エラーメッセージが出力され、呼 び出しは行われません。指定した装置は、通常は( /dev/ttyapb などの)直結の非同期回 線です。この場合、電話番号は不要であり、引き数の文字列 dir を使用してダイヤル が不要であることを指定できます。指定した装置が自動ダイヤルに対応している場合 には、電話番号が必要です。 -h ローカルエコーをエミュレートし、半二重モードに設定したターミナルが必要な他の コンピュータシステムへの呼び出しをサポートします。 -q ENQ/ACK ハンドシェークを使用します( リモートシステムは ENQ を送信し、 cu は ACK を送信します)。 -t 自動応答に設定されている ASCII ターミナルにダイヤルする際に使用します。キャ リッジリターンからキャリッジリターンとラインフィードのペアへの適切なマッピン グが設定されます。 -dlevel 診断トレースをプリントします。 level は0∼9の数値です。この場合、数値が大きく なるほど levels はより詳細な診断メッセージを生成します。 -d (UNIX 標準の場合のみ。 standard(5) 参照) 診断トレースを印刷します。レベルは常に 9 となります。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-245 cu(1) cu(1) -e (-o) リモートシステムに送られるデータの偶数(奇数)パリティを生成します。 -m モデム制御がある直接回線を指定します。モデム制御は、 cu から無視されます。 -n cu がダイアルする電話番号を、コマンド行から取るのではなく、ユーザーから対話的 に入力するように要求されます。 自動ダイヤルを使用する際、 telno は電話番号で、2次発信音については等号を telno telno 文字列にマイナス記号を付けると適切に遅延されます。 UUCP システム名が電話番号の代わりに使用できます( uucp(1) を参照)。この場合、 systemname cu は、 /etc/uucp/Systems で(適切なボーレートを含めて)適切な直接回線または電話番 号を調べます。 cu は、接続されるか、またはすべてのエントリーが試されるまで、 Systems ファイルの systemname に対して各電話番号または直接回線にダイヤルしま す。 dir を使用すると、 cu が -l オプションによって指定された回線を使用するようにでき dir ます。 接続後、 cu は次の2つのプロセスとして動作します。 • transmit プロセスは、標準入力からデータを読み取り、 ˜ で始まる行を除いて、リモートシステム に渡します。 • receive プロセスは、リモートシステムからデータを受け取り、 ˜ で始まる行を除いて、標準出力に 渡します。 バッファがオーバランしないようにするために、通常は自動 DC3/DC1 プロトコルをリモートシステムからの 入力の制御に使用します。「プロンプト ハンドシェーキング」を使用すると、先行入力機能のないシステムへ の ASCII ファイルの転送を制御できますが、プロンプトが得られた後に限ってデータを送信する必要がありま す。このことについては、以下に詳しく説明します。 ˜ で始まる行には特殊な意味があります。 送信プロセスコマンド transmit プロセスは次のコマンドを解釈します。 ˜., ˜.. 通信を終了させます。ハードワイヤ接続された回線では、 ˜. は EOF 文字をいくつか 送信してセッションをログアウトします。一方、 ˜.. は EOF シーケンスを出さないよ うにします。一般に、 ˜.. を使用すると、リモートのハードワイヤ接続マシンは切断 を認識しません。電話回線の接続では、 ˜. および ˜.. は同じです。 ˜! ローカルシステムの対話型シェルに抜けます。 ˜!cmd ... ローカルシステムで( sh -c 経由で) cmd を実行します。 ˜& ˜! と同じですが、受信プロセスを抹消し、シェルからの戻り時に再起動します。これ は、受信プロセスが入力と競合する場合に通信回線から読み出すサブプロセスを呼び 出すのに便利です。 Section 1-246 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 cu(1) cu(1) ˜&cmd ... ローカルシステムで( sh -c 経由で) cmd を実行し、受信プロセスを抹消し、後に再起 動します。 ˜|cmd 標準入力を通じてリモートシステムからの着信データをローカルシステム上の cmd に パイプ接続します。終了するには、 ˜& または ˜| コマンドのどちらかでリセットしま す。 ˜| ˜|cmd コマンド後の受信プロセスをリセットします。 ˜$cmd ... cmd をローカルに実行し、その出力をリモートシステムに送信します。 ˜%cd ローカルシステムのディレクトリを変更します。 注記: ˜!cd では、コマンドはサブ シェルによって実行され、完了時に現在のディレクトリに戻されます。 ˜%take remote_source_file [local_destination_file] リモートシステム上のファイル remote_source_file からローカルシステム上のファイル local_destination_file に コ ピー し ま す。 local_destination_file を 指 定 し な け れ ば、 remote_source_file が両方の引き数位置に使用されます。 ˜%put local_source_file [remote_destination_file] ローカルシステム上のファイル local_source_file をリモートシステム上のファイル remote_destination_file にコピーします。 remote_destination_file を指定しなければ、 local_source_file が両方の引き数位置で使用されます。 ˜˜ ... 行 ˜ ... をリモートシステムに送信します。リモートシステム上で cu を使用して第3 のリモートシステムにアクセスする場合には、 ˜˜. を送信して第2のリモート cu を終 了します。 ˜%break BREAK をリモートシステムに送信します。 ˜%nostop DC3/DC 1入力制御プロトコルと入力制御のないプロトコルを切換えます。これは、リ モートシステムが、 DC3および DC1文字に適切に応答しない場合に便利です。 ˜%< file prompt handshaking を使ってローカルファイルの内容をリモートシステムに送信しま す。指定したファイルは、一度に1行ずつ読み取られ、 prompt sequence が受信される と各行はリモートシステムに送られます。 prompt timeout が発生するまでにプロンプ トが受信されなくても、行は送信されます。タイムアウトが 0 秒に設定されている か、またはプロンプトシーケンスの最初の文字がヌル文字(ˆ@)の場合、リモートシス テムがプロンプトを生成するかどうかとは関係なく、いつでもハンドシェークは即座 に満たされるように見えます。この機能は、 HP-UX から MPE を実行する HP 3000シ ステムへの、 ASCII ファイルの転送を容易にすることを主な目的としています。これ は、 MPE FCOPY ユーティリティと、コマンド from=;to=destfile;new を実行し、次に cu 入力の分岐を実行して、 destfile にファイルをセーブする FCOPY にファイルを送 信することによって行われます。この機能は RTE を実行する HP 1000などの他のシス テムでも有効な場合があります。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-247 cu(1) cu(1) ˜%setpt n 中止する前に、プロンプトまでの待ち秒数を指定します。デフォルトは2 秒です。 0 秒のタイムアウトを指定すると、ハンドシェークが使えなくなります。つまり、ハン ドシェークはほとんどすぐに完了します。 ˜%setps xy ハンドシェークプロンプトを文字 xy に設定します。デフォルトは DC1です。このプ ロンプトは、任意の1文字または2文字です。 x または y に制御文字を指定するには、 脱字符号( ASCII 94)が ˆX の場合のように文字の前にある場合にはCtrl-X形式を使用し ます。ヌル文字はˆ@ で指定できます ( プロンプトにおける最初のヌル文字は、「ヌ ル」プロンプトを意味し、常に満たされたものとして表われます)。脱字符号は ˆ ˆ に よって指定されます。 ˜%>[>]file 次の ˜%> コマンドまでの出力をリモートシステムから指定したファイルに分岐しま す。出力分岐したままで、 ˜%> とタイプすると、分岐終了できます。一方、 ˜%> anotherfile とタイプすると、それまでの変更を終了して新しいファイルへの出力を開 始します。出力抜き出しは、 ˜& サブシェルを通じてアクティブなままなので、入出 力抜き出しが ˜%take または ˜%put と同時に実行されると、予測できない結果が発生 することがあります。 ˜%>> コマンドは、指定ファイルに追加します。 transmit プロ セスによって解釈されるこれらのコマンドと、以下に説明のある、受信プロセスに よって解釈される ˜> コマンドとは無関係なので注意してください。 ˜susp cu セッションを停止します。 susp は、 cu が呼び出されたときに、終端に設定される 停止文字です(通常は ˆZ — stty(1) を参照)。ティルドから始まる他の行と同様に ˜susp 行は Return を押して終了させます。 受信プロセス receive プロセスは通常、リモートシステムから、その標準出力にデータをコピーします。リモートシステムか ら送られた ˜> で始まる行によってファイルに対する出力の分岐を開始します。完全なシーケンスは次のとお りです。 ˜>[>]:file file に書き出されるゼロ以上の行 ˜> リモートシステムからのデータを、 file に分岐します( >> を使用すると、追加されます)。後に ˜> を付ける と、終了します。 ˜%put を使用するには、リモートシステム側に stty(1) および cat(1) が必要です。また、リモートシステム上の 現在の消去および抹消文字が、ローカルシステム上の現在の消去および抹消文字と同じであることも必要で す。バックスラッシュは、適切な位置に挿入します。 ˜%take を使用するには、リモートシステムが echo および cat コマンドをサポートしている必要があります( echo(1) および cat(1) を参照)。また、タブが拡張なしでコピーされる場合には、 stty tabs モードを、リモート システムに設定する必要があります。 8ビット目をパリティビットとして使用するマシンに接続する場合は、 stty istrip モードを、ローカルシステムに設定するようにしてください。 Section 1-248 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 cu(1) cu(1) cu を、システムXで使用してシステムYに接続し、続いてシステムYで使用してシステムZに接続する場合、 ˜˜ を使用するとシステムY 上のコマンドを実行できます。例えば、システムX 上のキーボードを使用すると、 uname は、次のようにZ、X、およびY上で実行できます。ただし、行1、3、および5はキーボードコマンドで あり、行2、4、および6はシステムの応答です。 uname Z ˜!uname X ˜˜!uname Y 一般に、 ˜ により、コマンドはオリジナルのマシン上で実行されます。 ˜˜ により、コマンドは接続されている 次のマシン上で実行されます。 多言語化対応 UNIX 標準の環境についての情報は standards(5) を参照してください。 環境変数 LANG により、メッセージの表示に使用する言語を決定します。 LANG が指定されていなかったり、空の文字列の場合には、デフォルトの "C" ( lang(5) 参照) が LANG の値と して使われます。多言語対応変数のどれかの設定が不適当な場合には、 cu は、すべての多言語対応変数が "C" に設定されているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 終了コードは、通常の終了の場合にはゼロ、それ以外の場合にはゼロ以外の値(各種の値)になります。 例 1200ボーで電話番号が9 201 555 1212であるシステムに電話をかけるには、次のように指定します。 cu -s1200 9=2015551212 スピードを指定しなければ、300がデフォルト値です。 直接回線で接続されたシステムにログインするには、次のように指定します。 cu -l/dev/ttyXpX dir 特定の回線および特定のスピードで、システムに電話をかけるには、次のように指定します。 cu -s1200 -l/dev/ttyXpX dir 特定の回線を使って、システムに電話をかけるには、次のように指定します。 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-249 cu(1) cu(1) cu -l/dev/culXpX 2015551212 システム名 (yyyzzz) を使用するには、次のように指定します。 cu yyyzzz モデムに直結するには、次のように指定します。 cu -l/dev/culXX -m dir cu -l/dev/cu1XX -m dir 警告 cu は内部で入力をバッファリングします。 著者 cu は、AT&TおよびHPで開発されました。 ファイル /etc/uucp/Systems /etc/uucp/Devices /etc/uucp/Dialers /var/spool/locks/LCK..(tty-device) /dev/null 参照 cat(1), ct(1), echo(1), stty(1), uname(1), uucp(1), uuname(1), standards(5) 標準準拠 cu: SVID2, SVID3, XPG2, XPG3, XPG4 Section 1-250 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 cut(1) cut(1) 名称 cut − ファイルの各行から指定のフィールドをカット (抽出) 構文 cut -c list [ file]... cut -b list [-n] [ file]... cut -f list [-d char ] [-s] [ file]... 説明 cut により、テーブルのカラムや、ファイルの各行からフィールドをカット (抽出) することができます。デー タベース関連の用語で言うと、関係の射影を行うことに相当します。 list で指定するフィールドは固定長( -c または -b オプションを使用する場合に行の文字またはバイト位置で定義して) とすることも、また可変長とし てタブ文字などのフィールド区切り文字でマークすること -f ( オプションを使用する場合) もできます。 cut は、フィルタとして使用することもできます。ファイルを指定していない場合は、標準入力が使用されます。 シングルバイト文字セットを処理する場合は、 -c および -b オプションは等価であり同じ結果になります。マ ルチバイト文字セットを処理する場合で、 -b および -n オプションを併用する場合は、その組み合わせ動作は 類似していますが、 -c オプションを同じではありません。 オプション オプションの意味は、次のとおりです。 list 昇順のコンマで区切った整数 バイト (-b オプション)、 文字 (-c オプション)、また は、 フィールド (-f オプション ) 番号のリストで、オプションの - で範囲を示しま す。例: -b list 1,4,7 1, 4, および 7 の位置。 1-3,8 1 ∼ 3 および 8 の位置。 -5,10 1 ∼ 5 および 10 の位置。 3- 3 ∼ 最後の位置までの位置。 バイトのリストに基づいてカットします。 -n オプションを同時に指定しない場合 は、選択された各バイトが出力されます。 -c list list の指定する文字位置に基づいてカットします (-c 1-72 は、各行の最初の72文字を 抽出します)。 -f list list はファイル中のフィールドをリストしたものです。各フィールドは、デリミタ文 字 (-d 参照 ) で分離されていることを条件とします。例えば、 -f 1,7 では、最初の フィールドと7 番目のフィールドだけがコピーされます。フィールドデリミタのない 行は、 -s オプションを指定していない限り、そのまま通されます ( テーブルのサブ ヘッダなどに利用できます)。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-251 cut(1) cut(1) -d char -d の後の文字はフィールドデリミタ文字です (-f オプションの場合に限って有効にな ります)。デフォルトは tab です。スペース、その他シェルに対して特別な意味のある 文字は、コーテーションで囲む必要があります。フィールドデリミタが連続して並ん でいる場合は、ヌルフィールドとみなされます。 char は、サポートされるコード セットです。 -n 文字を分割しません。リスト内の範囲の上限が文字の最後のバイトでない場合は、そ の文字は出力には含まれません。ただし、リスト内の範囲の下限が文字の最初のバイ トでない場合は、文字全体が出力に含まれます。 -s -f オプションを使用した場合にデリミタ文字のない行を抑制します。 -s を指定しない と、デリミタのない行は変更なしで出力されます。 ヒント テキストパターン認識 (正規表現を使用) に基づいてファイルからテキストを抽出するには、 grep を使用しま す。カラム形式で行ごとにファイルをマージするには、 paste を使用します。テーブル内のカラムの配置の順 序を変更するには、 cut および paste を使用します。詳細については、 grep(1) および paste(1) を参照してくだ さい。 多言語化対応 環境変数 LC_CTYPE により、テキストをシングルバイト、またはマルチバイトのいずれの文字で解釈するかを決定し ます。 環境に LC_CTYPE を指定していない場合、または空の文字列にセットされている場合は、未指定の変数、ま たは空の変数に対するデフォルトとして、 LANG の値が使用されます。また、 LANG を指定していない場 合、または空の文字列にセットされている場合は、 LANG の代わりに "C" (lang(5) 参照) がデフォルトとして 使用されます。インターナショナル変数に無効な値がセットされていると、 cut はインターナショナル変数が すべて "C" にセットされているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット cut シングル/マルチバイトの文字コードセットがサポートされています。インターナショナルのコードセット は -d char オプションで指定することができます。 cut は、 LC_CTYPE 環境変数で指定した環境でサポートさ れる文字コードセットを認識します。 例 ユーザ ID とユーザ名のパスワードファイルのマッピング: cut -d : -f 1,5 /etc/passwd 環境変数 name を現在のログイン名にセット: name=‘who am i | cut -f 1 −d " "‘ 任意の長さの行を含む source ファイルを、最初の500バイト (500番目のバイトがマルチバイト文字の内部でな い場合) を含む file1 、および各行の残りを含む file2 に変換します。 Section 1-252 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 cut(1) cut(1) cut -b 1-500 -n source > file1 cut -b 500- -n source > file2 診断 line too long 行の長さは、改行文字を含め、 LINE_MAX 文字またはフィールドを超えてはなりません ( limits(5) 参照)。 bad list for b/c/f option -b, -c, または -f オプションが指定されていないか、または list が正しく指定されていません。 行のフィールド数が list で指定した数より少なければ、エラーになりません。 no fields list が空です。 警告 cut はタブを展開しません。タブを展開するには、テキストをパイプで expand(1) を通過させてください。 バックスペース (後退) 文字は他の文字と同じように処理されます。 cut で処理する前にバックスペース文字を 削除するには、 fold または col コマンドを使用してください ( fold(1) および col(1) を参照)。 著者 cut は、OSFとHPが開発しました。 参照 grep(1), paste(1) 標準準拠 cut: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-253 date(1) date(1) 名称 date − 日時の表示と設定 構文 date [−u] date [−u] + format date [−u] [mmddhhmm[[cc]yy]] date [−a [-]sss[.fff ]] 説明 date コマンドは、 HP-UX システムクロックの現在の日付と時刻を表示、または設定します。 HP-UX システム は、協定世界時(UTC 、グリニッジ標準時と同じ)で動作するので、 date はユーザーの TZ 環境変数を基に、現 地の標準時間または夏時間を UTC に、またその逆に自動的に変換します。以下の 「多言語化対応」の「環境変 数」を参照してください。 オプション date コマンドにはオプションが1つあります。 −u 指定された場合、値の入出力は、現地時間ではなく協定世界時(UTC)で行われます。これは、 グリニッジ標準時(GMT)と機能的に同じです。 −a [−]sss[.fff] システムクロックを sss.fff 秒だけ徐々に変動させます ( fff は、1秒未満の値を表します)。シス テムクロックは、指定した秒数だけ変動するまで徐々に進み(正数の場合)、あるいは遅れ(負数 の場合)ます。 フォーマット date コマンドは、日付と時刻の表示形式が2種類あり、設定形式が1種類あります。 date [−u] 現在の日付と時刻を表示します。出力は、デフォルトの C 言語以外のすべての言語で %c フォーマット指令を指定した場合と同じです。以下の 「フォーマット指令」および 例を参照 してください。 date [−u] +format format で指定されたフォーマット指令に従って、現在の日付と時刻を表示します。 format は、ゼロ以上のフォーマット指令および一般文字から成る文字列です。ブランクを含む場合 は、アポストロフィまたは引用符で囲まなければなりません。 以下の「フォーマット指令」を参照してください。 一般文字はすべて、変更されずに出力文字列へコピーされます。 Section 1-254 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 date(1) date(1) 出力文字列は、必ず改行文字で終了します。 + が指定され、かつ format が省略された場合は、改行だけ出力されます。 date [−u] [mmddhhmm[[cc]yy]] HP-UX のシステムクロックを指定の日付と時刻に設定します。このコマンドを発行するに は、スーパーユーザー特権が必要です。 −u オプションを指定した場合、指定した日付と時刻はグリニッジ標準時(UTC) として解釈さ れます。 数値引き数は、次のように、2桁ずつ左から右へ解釈されます。 mm 月 [01-12] dd 日にち(月単位) [01-31] hh 時(24時間制) [00-23] mm 分 [00-59] cc 世紀から1を引いた数 [19-20] yy 年の最後の2 桁 [70-99, 00-37 (1970-1999, 2000-2037)]。省略された場合は、本年 の値が使用されます。 過去の日付を設定しようとした場合、 date は警告を発行します。 do you really want to run time backwards?[yes/no] クロックに過去の日付を設定するには、 yes またはユーザーのロケールでこれに相当する語 を入力します。それ以外を入力すると、このコマンドが取り消されます。 date で日付を設定する場合は、変更前と変更後の日時の組が日付変更レコードとして /var/adm/wtmps ファイルに書き込まれます。 (UNIX 標準のみ、 standards(5) 参照。) 過去に日付が設定されている場合、警告は発行されま せん。 フォーマット指令 以下にフォーマット指令を示します。ここでは、オプションのフィールド幅と精度の指定は除いてあります。 フォーマット指令は、指示された文字で置き換えられます。以下にあげた指令以外のものを指定した場合、結 果は未定です。 出力される数字、文字、およびワードは、言語/ ロケールの設定に依存します。以下の 「多言語化対応」の 「環境変数」を参照してください。 以下の例は、 date コマンドが、デフォルトの C 言語を使用して、太平洋標準時の1994年1月12日水曜日午後 7:45:58に実行されたと仮定しています。 %a 曜日の略称。例: Wed HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-255 date(1) date(1) %A 曜日 (完全な表記)。例: Wednesday %b 月の略称。例: Jan %B 月 (完全な表記)。例: January %c 現在の日付と時刻の表示。例: Wed Jan 12 19:45:58 1994 %C 世紀(年を100で除算し、整数に切り捨てた値)を表す2桁の10進数 [00-99]。例: 19 %d 日にち(月単位)を表す2桁の10進数 [01-31]。例: 12 日にち(月単位)を表す2桁の10進数(必要に応じて先行スペース文字が入ります)[" 1"- "31" ]。 %e 例: 12 %E 元号名と年の組み合わせ。 %H 時(24時間制)を表す2桁の10進数 [00-23]。例: 19 %I 時(12時間制)を表す2桁の10進数 [01-12]。例: 07 %j 日にち(年単位)を表す3桁の10進数 [001-366]。例: 012 %m 月を表す2桁の10進数 [01-12]。例: 01 %M 分を表す2桁の10進数 [00-59]。例: 45 %n 改行文字。 %N 元号名。 %o 元号による年。 %p AM または PM に相当する語。例: PM %R %H:%Mの形式で表される時刻。 %S 秒を表す2桁の10進数 (うるう秒も可) [00-61]。例: 58 %t タブ文字。 %u 週日を表す1桁の10進数 [1-7 (月曜日-日曜日)]。例: 3 %U 1年の週番号(日曜を週の最初の日とする)を表す2桁の10進数 [00-53]。 1年の最初の日曜日よ り前の日はすべて、第 00 週に属すると見なされます。例: 02 %V 1年の週番号(月曜を週の最初の日とする)を表す2桁の10進数 [01-53]。 1月1日を含む週につい ては、新年に属する日が4日以上ある場合 (すなわち、1月1日が木曜日以前の場合)、その週は 第 01 週となります。それ以外の場合 (すなわち、1月1日が金曜日以降の場合)、その週は前年 の最終の週となり、その次の週が第 01 週となります。例: 02 %w Section 1-256 週日を表す1桁の10進数 [0-6 (日曜日-土曜日)]。例: 3 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 date(1) date(1) %W 1年の週番号(月曜を週の最初の日とする)を表す2桁の10進数 [00-53]。 1年の最初の月曜日よ り前の日はすべて、第 00 週に属すると見なされます。例: 02 %x 現在の日付の表示。例: 01/12/94 %X 現在の時刻の表示。例: 19:45:58 %y 年を表す、世紀の付かない2桁の10進数 [00-99]。例: 93 %Y 年を表す、世紀の付いた4桁の10進数 [1970-2037]。例: 1994 %Z 時間帯名(時間帯が決定できない場合は、表示せず)。例: PST %% % 文字。 廃止された指令 以下の指令は、単に過去のシステムとの互換性を保持する目的で提供されているものです。代りに、上記の指 令を使用することをお勧めします。 %D 通常の米国フォーマットの日付。例: 01/12/94。代りに、 %x または %m/%d/%y を使用して ください。 %F 月(完全な表記)。例: January。代りに %B を使用してください。 %h 月の略称。例: Jan。代りに %b を使用してください。 %r 12時間制米国フォーマットの時刻。例: 07:45:58 PM。代りに "%I:%M:%S %p" を使用してく ださい。 %T 24時間制米国フォーマットの時刻。例: 19:45:58。代りに %X または %H:%M:%S を使用して ください。 %z 時間帯名(時間帯が決定できない場合は、表示せず)。例: PST。代りに %Z を使用してくださ い。 フォーマット指令の変更 フォーマット指令の中には、 LC_TIME 環境変数で指定された言語に特有のフォーマットまたは指定を表すた めに、 E および O 修飾文字によって修正可能なものがあります。 対応するキーワード (era、 era_year、 era_d_fmt、および alt_digit を参照) が指定されていない場合、または サポートされていない場合は、フィールド記述子の値がそのまま変更なく使用されます。次のコマンドは、 LC_ALL=language locale -ck era era_year era_d_fmt alt_digit 指定された language での各キーワードとそれらの値を表示します(locale(1) を参照)。 %Ec 日付および時刻の代替表記 %EC 基準年の代替表記 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-257 date(1) date(1) %Ex 日付の代替表記 %Ey 基準年 %EC (年単位のみ) からの年数の代替表記 %EY 年の完全な代替表記 %Od 日にち (月単位) の数字表記 %Oe 日にち (月単位) の数字表記 (必要に応じて先行スペース文字が入ります) %OH 時間 (24時間制) の数字表記 %OI 時間 (12時間制) の数字表記 %Om 月の数字表記 %OM 分の数字表記 %OS 秒の数字表記 %OU 1年の週番号 (日曜を週の最初の日とする) の数字表記 %Ow 週日の数字表記(日曜日 =0) %OW 1年の週番号 (月曜を週の最初の日とする) の数字表記 %Oy 年 (世紀 %C からの年数) の代替表記 フィールド幅と精度 オプションのフィールド幅と精度指定を、フォーマット指令の最初の % の直後に、以下の順番で指定するこ とができます。 [− 0]width 10進数字の文字列 width は、 最小フィールド幅を指定します。変換結果は、この幅に右 詰めまたは左詰めされます。デフォルトは右詰めで、左にスペースのパディングが埋め られます。文字列の先頭が"−"の場合は、結果は左詰めされ、右にスペースのパディング が埋められます。文字列の先頭が"0"の場合は、結果は右詰めされ、左にゼロが埋められ ます。 . prec 10進数字の文字列 prec は、数値指令 d、 H、 I、 j、 m、 M、 o、 S、 U、 w、 W、 y、および Y に対する数字の 最小桁数を指定します。指令の桁数が精度で指定した桁数 よりも少ない場合は、先行部分にゼロが埋められて拡張されます。 prec は、テキスト指令 a、 A、 b、 B、 c、 D、 E、 F、 h、 n、 N、 p、 r、 t、 T、 x、 X、 z、 Z、および % で使用される 最大文字数を指定します。指令の文字数が精度 で指定した文字数より多ければ、右側の余分な文字が切り捨てられます。 フィールド幅または精度が指定されない場合、 d、 H、 I、 m、 M、 S、 U、 W、または y 指令のデフォル トは .2、 j 指令のデフォルトは .3、 Y 指令のデフォルトは .4、 w 指令のデフォルトは .1 です。 Section 1-258 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 date(1) date(1) 多言語化対応 UNIX 標準環境についての情報は、 standards(5) を参照してください。 環境変数 LC_CTYPE は、 format 文字列をシングルバイト、またはマルチバイトのいずれの文字で解釈するかを決定し ます。 LC_NUMERIC は、数値を構成するのに使われる文字を決定します。それらの文字は出力中の数値を生成する ための指令として使われます。使用される文字は、 alt_digit (locale(1) および langinfo(5) の中の ALT_DIGIT を 参照)で定義された文字です。 LC_TIME は、 date コマンドによって出力される日付と時刻の文字列の内容(例: %a 指令によって生成される 週日名)およびフォーマット(例: %X 指令によって生成される現在時刻の表記)を決定します。 LC_MESSAGES は、メッセージ (日付と時刻の文字列以外) の表示に使用する言語を決定します。 LC_CTYPE, LC_NUMERIC, LC_TIME, または LC_MESSAGES が未設定または空文字列に設定されている場 合、未設定または空の各環境変数のデフォルトとして LANG の値が使用されます。 LANG が未設定または空文字列に設定されている場合は、デフォルト値は C です (lang(5) を参照)。 インターナショナル変数に無効な値が設定されていると、 date はインターナショナル変数がすべて C に設定 されているものとして動作します (environ(5) を参照)。 TZ は、 UTC でのシステム時刻とユーザーの現地時間帯での時刻との間の変換を決定します。 environ(5) およ び tztab(4) を参照してください。また TZ は、 date コマンドによって出力される日付と時刻の文字列の内容( すなわち、 %z および %Z 指令によって生成される時間帯名)も決定します。 TZ が未設定または空文字列に設定されている場合、デフォルト値は EST5EDT です。もし EST5EDT か TZ を時間帯調整テーブル tztab から読み取れなかった場合、 date は、 UTC での時間を返します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 以下のメッセージが表示されることがあります。 bad conversion 日付/時刻指定に構文エラーがあります。日付/時刻が有効な範囲内で正しく指定されているかどうか をチェックしてください。 bad format character - c HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-259 date(1) date(1) 文字 c は、有効なフォーマット指令、フィールド幅指定、または精度指定ではありません。 do you really want to run time backwards?[yes/no] 指定した日付/時刻が、現在のクロック値より前の値です。クロックに過去の値を設定するには、 yes (またはユーザーのロケールでこれに相当する語)を入力します。それ以外を入力すると、このコマン ドが取り消されます。 no permission 日付を変更するには、スーパーユーザー特権が必要です。 例 各国語の日付 日付を表示します。この例では、 TZ 環境変数の値は PST8PDTで、各言語環境変数は上記通りに設定されて います。 date → Fri Aug 20 15:03:37 PDT 1993 ← 言語は C date -u → Fri Aug 20 22:03:37 UTC 1993 ← 言語は C date → Fri, Aug 20, 1993 03:03:37 PM ← 言語は american date → Fri. 20 Aug, 1993 03:03:37 PM ← 言語は english date → 20/08/1993 15.47.47 ← 言語は portuguese 日付の設定 日付を10月8日12:45 a.m.に設定します。 date 10080045 フォーマットされた日付の表示 現在の日時を指定のフォーマットで表示します。この例では、フォーマット中にブランクがあるため、引用符 を使用しています。 date "+DATE: %m/%d/%y%nTIME: %H:%M:%S" 出力は次のようになります。 DATE: 10/08/87 TIME: 12:45:05 母国語変換を用いてフォーマットされた日付の表示 日付は上記の「日付の設定」の例で設定された値で、 LC_TIME は de_De.roman8 (German) に設定されていま す。 date +’%-4.4h %2.1d %H:%M’ 出力は次のようになります。 Okt 8 12:45 Section 1-260 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 date(1) date(1) ここで、月のフィールドは左詰めの4文字長で表示され、月名が4文字より短いとその右にスペースのパディン グが入ります。日のフィールドは2文字長で、先行のゼロ表示は抑制されます。 警告 以前の HP-UX フォーマット指令 A は、 ANSI との互換性のため、 W に変更されました。 システムがマルチユーザーモードで動作中の場合は、日付の変更をしないようにしてください。これを行う と、ユーザーが実行予定のプログラムやプロセス、また時刻に依存したプログラムやプロセスに混乱を生じる ことになります。また、日付の変更をすると、 make や SCCS および cron のサブシステムが予想外の動作を起 こすこともあります。日付を過去の値に設定する場合は、その前に cron デーモンを終了させ、設定した後に 再起動してください。クロックを誤って設定した時点で、すでにデルタが作成されている場合は、クロックの 設定が誤っていた期間中にデルタが作成されたかどうか、 val (val(1) を参照 ) を使って SCCS ファイルを チェックする必要があります。 将来リリースされる製品では、以下のフォーマット指令が削除される可能性があります。 %E、 %F、 %o、 %z 現在サポートされている最大の日付は、UTCの2037年12月31日23:59:00です。 著者 date は、AT&T および HP で開発されました。 ファイル /var/adm/wtmps 参照 locale(1), stime(2), ctime(3C), strftime(3C), tztab(4), environ(5), lang(5), langinfo(5), standards(5) 標準準拠 date: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-261 dc(1) dc(1) 名称 dc − 電卓 構文 dc [ file ] 説明 dc は任意精度の算術パッケージです。通常は10進整数で演算しますが、入力基数、出力基数、確保する小数点 以下の桁数も指定することができます。 ( bc(1) を参照。 bc は、任意表記法および関数をインプリメントする C言語に似た構文を与える dc のプリプロセッサです。 bc も適当な制御構造をプログラムに与えます。) dc の 構造全体はスタッキング(逆ポーランド式)電卓です。引き数を与えると、入力はそのファイルが終わるまでそ のファイルから読みとられ、次に標準入力からとられます。標準入力のファイルの終端、または q コマンドで dcは停止します。以下の構文が認識されます。 number 数の値はスタックにプッシュされます。数は、数字 0-9 または A-F の連続した文字列 です。アンダースコア (_) を前に付けると、負の数を入力することができます。数に は、小数点を入れることができます。 +-/*%ˆ スタックのトップにある2つの値の加算 (+), 減算 (-), 乗算 (*), 除算 (/), 剰余 (%), また は指数計算 (ˆ) を行います。この2 つの値がスタックからポップされ、その結果がス タック上の代りの位置にプッシュされます。指数の小数部は無視され、警告メッセー ジが表示されます。剰余は現在のスケールファクタに従って計算します。これは整数 剰余関数ではありません。 7 / 3 は2.3で、剰余0.1となるため、スケールが1ならば、 7 % 3 は0.1(10分の1)になります。 sx スタックのトップがポップされ、 x という名前のレジスタにストアされます。ただ し、 x は任意の文字とすることができます。 s を大文字にすると、 x はスタックとし て処理され、その値がプッシュされます。 lx レジスタ x における値がスタックにプッシュされます。レジスタ x は変更されませ ん。レジスタはすべて初期値はゼロ値です。 l を大文字にすると、レジスタ x はス タックとして処理され、トップにある値がメインスタックにポップされます。 d p スタック上のトップにある値が複写されます。 スタック上のトップにある値がプリントされます。そのトップにある値はそのままで 変化しません。 P はスタックのトップを ASCII 文字列として解釈し、その削除および プリントを行います。 f q スタック上の値がすべてプリントされます。 プログラムを終了します。文字列を実行する場合、再帰レベルは2だけポップされま す。 q を大文字にすると、スタックのトップにある値がポップされ、文字列実行レベ ルはその値だけポップされます。 Section 1-262 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 dc(1) dc(1) スタックのトップにある要素を文字列として処理し、 dc コマンドの文字列としてそ x れを実行します。 X スタックのトップにあるある数値をそのスケールファクタで置き換えます。 [ ... ] かっこで囲まれた ASCII 文字列をスタックのトップに書き込みます。文字列は、ネス トしたペアのかっこを使ってネストすることができます。 <x !<x >x !>x =x !=x スタックのトップにある2つの要素がポップされ比較されます。それらが指定した関 係にあれば、レジスタ x は評価されます。 v スタック上のトップにある要素をその平方根で置き換えます。引き数に小数部がある と、それは考慮されますが、それ以外では、スケールファクタは無視されます。 ! 行の残りを HP-UX システムコマンドとして解釈します(次の文字が <, >, または = でな い場合に限ります。この場合には、上記の該当する関係演算子が使用されます)。 c i スタック上の値がすべてポップされます。 スタックのトップにある値がポップされ、以降の入力の数値基数として使用されま す。 I o 入力基数をスタックのトップにプッシュします。 スタックのトップにある値がポップされ、以降の出力の数値基数として使用されま す。出力基数については、下記の注釈を参照してください。 O k 出力基数をスタックの最上部にプッシュします。 スタックの最上部がポップされ、その値が負でないスケールファクタとして使用され ます。つまり、該当する桁数が出力にプリントされ、乗算、除算、および指数計算時 には該当する桁数が保持されます。スケールファクタ、入力基数、および出力基数の 相互作用は、すべてがともに変更される場合に適当になります。 K スケールファクタをスタックのトップにプッシュします。 z スタックレベルがスタックにプッシュされます。 Z スタックのトップにある数値をその長さで置き換えます。 ? 入力ソース(通常ターミナル)から1行とられ、実行されます。 ;と: bc によって配列演算のために使用されます。 Y dc 自体のデバッギング出力を生成します。 入力基数はどんな数値でもかまいませんが、数字0∼9とA∼Fのみが入力に利用できます。したがって、基数 は範囲1∼16までに制限されます。 16個すべての可能な数字を任意の基数で使用でき、つねに通常の値をとり HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-263 dc(1) dc(1) ます。 出力基数はどんな数値でもかまいません。 2∼16の範囲の基数では、「通常の」結果が得られます。英字A∼F は10∼16の値を表します。基数0および1では、その長さがその数の値である 1 の文字列を生成します。基数 −1は、 d で構成される同様の文字列を生成します。その他の基数では、それぞれの「数字」はその数字の序数 を与える ( 複数桁の)10 進数として表されます。それぞれの「数字」は負の基数の場合には符号が付けられま す。「数字」はスペースで区切られます。出力基数の定義を与えると、コマンド Op はつねに(その基数に適し た表現で)"10"になります。 O1-p は出力基数に関する有効な情報を与えます。 診断 x is unimplemented ただし、 x は8進数です。 stack empty 要求された操作を行うには、スタック上にある要素の数が不十分です。 Out of space 未使用リストが使い果たされています(桁数が多すぎます)。 Out of headers 記憶している数値が多すぎます。 Out of pushdown スタック上にある項目の数が多すぎます。 Nesting Depth ネスト実行のレベルの数が多すぎます。 例 この例はn!(nの階乗)の最初の10個の値をプリントします。 [la1+dsa*pla10>y]sy 0sa1 lyx 参照 bc(1) 『Number Processing Users Guide』の「DC: An Interactive Desk Calculator チュートリアル」 Section 1-264 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 dd(1) dd(1) 名称 dd − (テープ)ファイルの変換、再ブロック化、変換、およびコピー 構文 dd [option=value] ... 説明 dd は、指定された入力ファイルを必要ならば変換して、指定された出力にコピーします。デフォルトでは、標 準入出力が使用されます。 raw 物理 I/O を利用する場合、入出力ブロックサイズを指定することができます。 dd は、終了時に、入出力された全レコードおよび部分レコードの数を報告します。 オプション dd は、次の option=value の組み合せを認識します。 if= file of= file 入力ファイル名。デフォルトは標準入力です。 出力ファイル名。デフォルトは標準出力です。出力ファイルの作成で使用される所有 者とグループは、 creat() によって使用される所有者やグループと同じです。 ibs=n 入力ブロックサイズは n バイト (デフォルトは 512) です。 obs=n 出力ブロックサイズは n バイト (デフォルトは 512) です。 bs=n 入力と出力のブロックサイズを同じサイズに設定します。 ibs や obs より優先されま す。このオプションは、変換 (conv オプション) を指定しない場合、特に効率が向上 します。メモリ上にコピーする必要がなくなるからです。 cbs=n 変換バッファサイズは n バイトです。 skip=n コピー開始前に n 入力ブロックをスキップします。 iseek=n コピー開始前に、 n 入力ブロックをスキップします (これは skip オプションの別名で す)。 seek=n oseek=n コピー前に、出力ファイルの先頭から n ブロックをスキップします。 コピー前に、出力ファイルの先頭から n ブロツクをスキップします (これは seek オプ ションの別名です)。 count=n files=n n 入力ブロックだけコピーします。 n 個の入力ファイルをコピーして連結します。このオプションを使用できるのは、入 力ファイルが磁気テープ装置の場合だけです。 conv=value [,value ...] ここで、 value は、次のリストからの複数のシンボルをカンマで区切ったものです。 ascii HP-UX 11i Version 3: February 2007 EBCDIC を ASCII に変換します。 −1− Hewlett-Packard Company Section 1-265 dd(1) dd(1) ebcdic ASCII を EBCDIC に変換します。 ibm 別の変換テーブルを使って ASCII を EBCDIC に変換します。 ascii、 ebcdic、および ibm の値は互いに排他的です。 block 改行で終了するレコードまたはファイルの終わりで終了する各レ コードを cbs で指定した固定の長さのレコードに変換します。改 行文字をすべて削除し、空白文字を使用してサイズが cbs になる ようにブロックを埋めます。 cbs よりも長い行は切り詰められま す。切り詰められた行 (レコード) の数が報告されます (下に述べ る「診断」を参照してください)。 block および unblock の値は互いに排他的です。 unblock 固定長の入力レコードを可変長レコードに変換します。それぞれ の入力レコードに対して、 cbs バイトが読み込まれ、末尾の空白 文字は削除され、改行文字が追加されます。 lcase 大文字の入力文字を該当する小文字に変換します。 lcase および ucase の値は互いに排他的です。 ucase 小文字の入力文字を該当する大文字に変換します。 swab 上位バイトと下位バイトを入れ替えます。 noerror エラーが発生しても処理を停止しません。 sync 変換シンボルも 指定されている場合は、入力がないと null バイトに置き換えら れ、通常に処理します。それ以外の場合は、その入力ブロツクを 出力から省きます。 notrunc 出力時に既存のファイルを切り捨てません。この dd の呼び出し によって上書きされない出力ファイル内のブロックが保護されま す。 sync 各入力ブロックが入力ブロックサイズ (ibs) になるまで、パディ ングします。 block または unblock も指定されている場合は、空 白文字でパディングします。それ以外の場合は、null バイトでパ ディングします。 サイズの指定が必要な場合、 n はバイト単位の数値を表します。数値は以下の形式で指定できます。 Section 1-266 n n バイト nk n Kバイト (n × 1024), nb n ブロック (n × 512), Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 dd(1) dd(1) nw n ワード (n × 2) 積を示すには、 x を使用して2つの数値を区切ります。 cbs オプションは、 block, unblock, ascii または ebcdic 変換の指定時に使用されます。 ascii の場合は、 cbs 個 の文字が変換バッファに書き込まれ、 ASCII に変換され、後続の空白が切り詰められ、改行が追加された後、 その行が出力へ送られます。 ebcdic の場合は、 ASCII 文字が変換バッファに読み込まれ、 EBCDIC に変換さ れた後、出力ブロックのサイズが cbs になるよう空白が追加されます。 多言語化対応 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 環境変数 次の環境変数が dd の実行に影響を与えます。 LANG は、 LC_ALL および対応する変数 (先頭が LC_) がロケールを指定しない場合に、ロケールを決定しま す。 LC_ALL が決定するロケールは、 LANG または先頭が LC_ の他の環境変数の値よりも優先されます。 LC_CTYPE 変数は、テキストデータのバイト列の文字の解釈方法 (シングル/マルチバイト文字、大文字/小文 字) に関するロケールを決定します。 LC_MESSAGES 変数は、メッセージの作成に使用する言語を決定します。 戻り値 終了値は、次のとおりです。 0 >0 正常終了 エラー状態の発生 診断 dd は、終了時に、入出力レコードの数を報告します。 f + p records in 読み込まれた全ブロックおよび部分ブロックの数 f + p records out 書き込まれた全ブロックおよび部分ブロックの数 conv=block が指定され、最低でも 1 つのブロックが切り詰められた場合、切り詰められたレコードの数も報告 します。 n truncated records 例 1ブロック当たり80バイト EBCDIC カードイメージ10個にブロック化された EBCDIC テープを x という名前の ASCII ファイルに読み込みます。 dd if=/dev/rmt/c0t0d0BEST of=x ibs=800 cbs=80 conv=ascii,lcase HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-267 dd(1) dd(1) raw 磁気テープデバイスファイルを使用していることに注意してください。 dd は任意のブロックサイズで読み 書きが可能なため、 raw 物理デバイスの I/O に特に適しています。 警告 カートリッジテープに直接読み書きすると問題が生じる場合があります。この問題を回避するには、 tcio(1) を 入力フィルタまたは出力フィルタとして使用します。例えば、カートリッジテープに対する出力に次のコマン ドを使用します。 ... |dd ... |tcio -ovVS 256 /dev/rct/c4t1d0 また、カートリッジテープからの入力に、次のコマンドを使用します。 tcio -ivS 256 /dev/rct/c4t1d0 |dd ... | ... 1/2 インチ磁気テープなど、装置によってはシークができないものもあります。このような装置は、 mt(1) また はその他の適切なコマンドを使って、 dd を実行する前に位置決めをしなければなりません。 skip、seek、 iseek および oseek オプションは、このような装置に対して処理を行います。ただし、これらのオプションを使 用してブロックをスキップすると、シークができない装置では速度が低下します。この理由は、テープ上の指 定の位置に移動するには、実際にブロックを読み込まなければならないからです。 ASCII と EBCDIC の変換テーブルは、1968 年 11 月の 256 文字 ACM 規格からとられています。 ibm 変換は、 標準としての普及度は劣りますが、 IBM の「印刷トレーン」規約にはよく適合します。万能の解決法はありま せん。 改行文字は ASCII への変換時にのみ挿入されます。パディングは EBCDIC への変換時にのみ行われます。これ らのオプションは同時には指定できません。 if または of でrawディスクを指定する場合、 bs は必ず、ディスクのセクタサイズの倍数にしてください。デバ イスに対しては、必ずキャラクタ型 (raw 型) 特殊ファイルを使用しなければなりません。 dd が使用するデ フォルトの bs サイズは 512 バイトです。ディスクのセクタサイズが 512 バイトでない場合、 bs にセクタサイ ズの倍数を指定する必要があります。 dd(1) は変換後に必要となる容量を事前に決定することはできないため、目的のファイルやファイルシステ ム、デバイスに出力を格納するための十分な空き容量があるかどうかを確認する必要があります。 参照 cp(1), mt(1), tr(1), disk(7), mt(7) 標準準拠 dd: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-268 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 delta(1) delta(1) 名称 delta − SCCSファイルのデルタの作成(変更) 構文 delta [-r SID ] [-s] [-n] [-g list ] [-m mrlist ] [-y comment ] [-p] files 説明 delta コマンドは、 g-file または生成ファイルという get によって読み出されるファイルに対して行われた変更 を、指定 SCCS ファイルに恒久的に取り込むのに使用します。 get(1) を参照してください。 delta は、指定した各 SCCS ファイルごとにデルタを作成します。ディレクトリを指定した場合には、 delta は、ディレクトリにある全ファイルが指定されたものとして動作します。ただし、パス名の最後の構成要素が .s で始まらない非 SCCS ファイル、および読み取り不能ファイルは、表示することなく無視されます。 - の名 前を与えると、標準入力が読み込まれます( 警告を参照)。標準入力の各行は、処理する SCCS ファイルの名前 であると解釈されます。 delta は、指定されたオプションおよび SCCS ファイルにあるフラグ( admin(1) を参照)に応じて、プロンプトを 標準出力に発行します(以下の -m と -y オプションを参照)。 オプション オプションの引き数は、指定した各ファイルに独立して適用されます。 -rSID どのデルタを SCCS ファイルに作成するかをユニークに識別します。同じ SCCS ファ イルに対して (get -e) をエディットするために、2 個以上の未了 get を同じユーザー( ログイン名) が行った場合に限って、このオプションを使用する必要があります。 -r オプションで指定する SID 値は、 get コマンド行に指定した SID 、または get コマン ドでレポートされるのと同じ SID のどちらかです( get(1) を参照)。指定した SID があ いまいであったり、必要なのにコマンド行で省略している場合、診断が行われます。 -s 作成したデルタの SID および SCCS ファイルにおける挿入行数、削除行数、不変行数 を、標準出力に発行しないようにします。 -n エディットした g-file の保持を指定します( 通常はデルタ処理の完了時に削除されま す)。 -glist このデルタで作成する変更レベル (SID) でファイルがアクセスされるときに、無視さ れるデルタの list を指定します( list の定義については get(1) を参照)。 -m[mrlist] SCCS ファイルが v フラグをセット( admin(1) を参照) している場合には、修正要求 (MR)番号を新しいデルタの作成理由として与えなければなりません。 -m を使用せず、標準入力がターミナルならば、標準入力を読み込む前に、プロンプ ト MRs? を標準出力に発行します。標準入力がターミナルでなければ、プロンプト は発行されません。 MRs? プロンプトは常に comments? プロンプトの前に表示され ます( -y オプションを参照)。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-269 delta(1) delta(1) リストにある MRs は、空白およびタブ文字、またはそのどちらかによって区切られま す。エスケープしていない改行文字によって MR リストを終了します。 v フラグに値( admin(1) を参照)がある場合には、 MR 番号の正確さを評価するプログ ラム(またはシェルプロシージャ)の名前であるとされることに注意してください。 0 以外の終了ステータスが MR 数値評価プログラムから戻されると、 delta は、 MR 番 号のすべてが有効ではなかったものとして終了します。 -y[comment] デルタの作成理由の記述に使用する、任意のテキスト。ヌル文字列は、有効な comment であると解釈されます。 -y を指定しておらず、標準入力がターミナルならば、標準入力を読み込む前に、プロ ンプト comments? を標準出力に発行します。標準入力がターミナルでなければ、プ ロンプトは発行されません。エスケープしていない改行文字によってコメントテキス トを終了します。 delta は、デルタの適用前後に、 SCCS ファイルの相違点を( diff (1) フォーマットで標 -p 準出力に)プリントします。 多言語化対応 環境変数 LC_CTYPE は、テキストの解釈を、シングルバイト、マルチバイトのどちらか、またはその両方の文字で行 うかを決定します。 LC_MESSAGES はメッセージの表示言語を決定します。 LC_TYPE もしくは LC_MESSAGES が、現在使用している環境で指定されていない場合、または空の文字列 に設定されている場合には、 LANG の値がその未指定または空の変数のデフォルトとして使用されます。 LANG が未指定か、または空の文字列に設定されている場合、デフォルトの "C"( lang(5) を参照)が、 LANG の代わりに使用されます。多言語対応変数に無効な設定がある場合には、 delta はすべての多言語対応変数 が"C"に設定されているものとして動作します。 environ(5) を参照してください。 サポートされる国際的コードセット シングルバイトおよびマルチバイト文字コードセットがサポートされています。 診断 説明については sccshelp(1) を使用してください。 警告 SCCS ファイルはどんな長さでもかまいませんが、テキストファイル自体における行数は99 999行を超えること はできません。 SOH をエスケープしない限り、 ASCII SOH 文字(8進001)で始まる行を、 SCCS ファイルに書き込むことはできま せん。この文字は SCCS に対して特殊な意味があり( sccsfile(4) を参照)、エラーが発生します。 多数の SCCS ファイルを get した後、それらのファイルの delta を行うことは、 get が多量のデータを生成する Section 1-270 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 delta(1) delta(1) ときには避けなければなりません。この場合は、複数回 getおよびdelta シーケンスを使用するようにしてくだ さい。 標準入力 (-) を delta コマンド行で指定する場合には、必要ならば -m オプション、そして -y オプションも必 要です。これらのオプションを省略すると、エラーが発生します。 コメントは、複数行にできます。コメントの最大長(すべてのコメント行の長さの総計)は、1024バイトです。 コメントは、1行に1000バイト以下の長さでなければいけません。 ファイル 以下に示す全補助ファイルは、 g-file を除いて、すべて s-file と同じディレクトリで作成されます ( get(1)を参 照)。 g-file はユーザーのワークディレクトリで作成されます。 g-file delta の実行前に存在し、 -n を指定していない場合に限り delta の終了後に削除さ れます。 p-file delta の実行前に存在し、 delta の終了後にも残っていることがあります。 q-file delta の実行時に作成され、 delta の終了後に削除されます。 x-file delta の実行時に作成され、 delta の終了後に SCCS ファイルに名称変更されます。 z-file delta の実行時に作成され、 delta の実行時に削除されます。 d-file delta の実行時に作成され、 delta の終了後に削除されます。 /usr/bin/bdiff get によって読み出されるファイルと g-file との相違を計算するプログラムです。 参照 admin(1), bdiff(1), cdc(1), get(1), sccshelp(1), prs(1), rmdel(1), sccsfile(4) 標準準拠 delta: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-271 deroff(1) deroff(1) 名称 deroff − nroff、tbl、およびneqnコンストラクトの削除 構文 deroff [-mx ] [-w] [-i] [ file ... ] 説明 deroff は、それぞれの file を順番に読み込み、すべての nroff 要求、マクロ呼び出し、バックスラッシュコンス トラクト、 neqn コンストラクト、( .EQ および .EN 行の間、および区切り記号の間- neqn(1) を参照) および tbl 説明( tbl(1) を参照) をすべて削除します。そして、それらをホワイトスペース(ブランクおよびブランク行)で 置き換え、標準出力にファイルの残りを書き出します。 deroff は、インクルードされるファイルのチェーン (.so および .nx nroff/troff フォーマッタコマンド) に後続します。ファイルがすでにインクルードされている場 合、そのファイルを指定している .so は無視され、そのファイルを指定している .nx は実行を終了させます。 入力ファイルを与えなければ、 deroff は標準入力を読み込みます。 -m オプションは、 m, s, l を後に続けることができます。 -mm オプションは、本文のみが出力されるように( つまり、マクロ行からのテキストはない)マクロを解釈します。 -ml オプションは -mm オプションの機能に加 えて、 mm マクロに伴うリストの削除も行います。 -w オプションを与えると、出力はワードリスト、つまりその他すべての文字が削除され1 行につき1 「ワー ド」となります。オプションを与えないと、上記で説明した削除を含めて、出力はもとのファイルのままで す。テキストでは、「ワード」はマルチバイト文字列か、あるいは、少なくとも2文字以上の英字、数字、ア ンパサンド (&) 、アポストロフィ (’) から構成される任意の文字列です。ただし、マクロ呼び出しでの「ワー ド」は、マルチバイト文字列か、あるいは少なくとも2文字から始まり、全体で少なくとも3文字以上となる文 字列です。区切り記号は、英字、数字、アポストロフィ、およびアンパサンド以外の任意の文字です。最後に 置かれたアポストロフィおよびアンパサンドは「ワード」から削除されます。 -i オプションを指定すると、 deroff は .so および .nx nroff/troff コマンドを無視します。 多言語化対応 環境変数 LC_CTYPE は、シングルおよびマルチバイト文字、またはそのいずれかとしてテキストおよびファイル名の 解釈を決定します。-wオプションを使用する際、マルチバイトの句読点文字が認識されないことに注意してく ださい。 LC_MESSAGES は、メッセージの表示言語を決定します。 LC_CTYPE もしくは LC_MESSAGES を環境で指定しなかったり、または空の文字列に設定すると、 LANG の値はそれぞれの未指定、または空の変数のデフォルトとして使用されます。 LANG を指定しなかったり、ま たは空の文字列を設定した場合、デフォルトの"C"( lang(5) を参照)が LANG の代わりに使用されます。多言語 対応変数の設定が無効なものがある場合、多言語対応変数がすべて"C"に設定されたものとして deroff は動作 します。 environ(5) を参照してください。 Section 1-272 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 deroff(1) deroff(1) サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 警告 deroff は完全な nroff インタプリタではありません。したがって、それは微妙なコンストラクトで混乱するこ とがあります。ほとんどのそのようなエラーは、出力内容が極端に少なくなるよりはむしろ、異常に多い出力 になります。 -ml オプションは、ネストしたリストを正しく処理しません。 著者 deroff はカリフォルニア大学バークレー校で開発されました。 参照 neqn(1), nroff(1), tbl(1) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-273 dhcpv6client_ui(1) dhcpv6client_ui(1) 名称 dhcpv6client_ui − DHCPv6 サーバーに構成パラメータを要求するための DHCPv6 クライアントインタフェース 構文 /usr/bin/dhcpv6client_ui -m interface_name -[t|T] [-R] /usr/bin/dhcpv6client_ui -m interface_name -[t|T] [-I] [-o config_options] [-s vendor_specific_options] /usr/bin/dhcpv6client_ui -r list_of_addresses /usr/bin/dhcpv6client_ui -v 説明 dhcpv6client_ui は、クライアントデーモン dhcpv6clientd に接続して、サーバーから IPv6 アドレスやその他の 構成パラメータを取得するために使用するインタフェースです。デフォルトの構成パラメータは、DHCPv6 ク ライアントデーモンを起動するときにコマンドラインオプションとして指定します。 dhcpv6client_ui が IPv6 アドレスやその他の構成パラメータを要求すると、クライアントデーモンはサーバー からそれらを取得して /etc/dhcpv6client.data ファイル内に保存します。 dhcpv6client_ui は、クライアントデーモンが構成されているマシン上で実行します。 dhcpv6client_ui を実行す る前に、クライアントデーモンが正常に動作中であることを確認してください。 オプション dhcpv6client_ui では、以下のオプションがサポートされています。 −m interface_name クライアントデーモンに対して、指定したインタフェース interface_name の IPv6 アド レスを DHCPv6 サーバーデーモンから取得するよう要求します (-I オプションが指定 されていない場合のみ)。 −o config_options クライアントデーモンがサーバーデーモンに要求する、その他の構成パラメータを指 定します。 このオプションは −m オプションとの組み合わせで使わなくてはいけません。 クライアントが要求できる構成パラメータは次のとおりです。 Section 1-274 dns_sa 1つまたは複数の DNS サーバーアドレスを取得します。 dns_dl DNS ドメインリストを取得します。 sip_sa 1つまたは複数の SIP サーバーアドレスを取得します。 sip_dl SIP ドメインリストを取得します。 nis_sa 1つまたは複数の NIS サーバーアドレスを取得します。 nis_dl NIS ドメインリストを取得します。 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 dhcpv6client_ui(1) dhcpv6client_ui(1) nisp_sa 1つまたは複数の NIS+ サーバーアドレスを取得します。 nisp_dl NIS+ ドメインリストを取得します。 all 上記のすべてのパラメータを取得します。 default dhcpv6 クライアントデーモンに設定されている全てのデフォルトパラ メータを取得します。 −s vendor_specific_option_list クライアントデーモンがサーバーデーモンに要求しなければならないベンダー固有の オプションを指定します。 このオプションは −m と一緒に使う必要があります。 −r IPv6_Address_list 指定した IPv6 アドレスを解放します。 −t DHCPv6 クライアントデーモンから一時的なアドレスを取得します。 −v クライアントデーモンのバージョン情報を出力します。 −I そのほかの構成パラメータだけを要求します。 IPv6 アドレスは要求しません。 −R サーバーに新しい IPv6 アドレスを要求するのではなく、インタフェース用に取得済み の IPv6 アドレスを使用することを、クライアントデーモンに通知します。 このオプションは −m と一緒に使う必要があります。 −T クライアントデーモンから一時的なアドレスと一時的ではないアドレスの両方を取得 します。 −t または −T オプションが指定されていない場合は、 dhcpv6client_ui 一時的ではないアドレスのみを取得しま す。 戻り値 dhcpv6client_ui は、正常終了時には 0 を返し、失敗時には 1 を返します。 例 dhcpv6client_ui は、lan0 インタフェース用の IPv6 アドレスを取得します。 dhcpv6client_ui -m lan0 dhcpv6client_ui は、lan0 インタフェース用の IPv6 アドレスだけではなく構成情報も取得します。 dhcpv6client_ui -m lan0 -o dns_sa dns_dl dhcpv6client_ui は、lan0 インタフェース用の DNS パラメータだけを取得します。 dhcpv6client_ui -m lan0 -I -o dns_sa dns_dl HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-275 dhcpv6client_ui(1) dhcpv6client_ui(1) 著者 dhcpv6client_ui は HP で開発されました。 ファイル /etc/dhcpv6client.data サーバーデーモンから取得したすべてのデータがこのファイルに保存さ れます。 参照 dhcpv6clientd(1M), dhcpv6db2conf(1M), dhcpv6d(1M) Section 1-276 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 diff(1) diff(1) 名称 diff − ファイルとディレクトリの差分プログラム 構文 diff [-C n ] [-S name ] [-lrs] [-bcefhintw] dir1 dir2 diff [-C n ] [-S name ] [-bcefhintw] file1 file2 diff [-D string ] [-biw] file1 file2 説明 ディレクトリの比較 両方の引き数がディレクトリの場合、 diff は、まずディレクトリの内容を名前別にソートした後、同じ名前で 内容の異なるファイルを対象として通常の diff アルゴリズム (下記参照) を実行します。内容の異なるバイナリ ファイル、およびディレクトリにある共通のサブディレクトリとファイルがリストされます。ディレクトリを 比較するときは、次のオプションが使用できます。 -l 長い出力フォーマット。各テキストファイルの diff は、 pr によって改ページが行われま す ( pr(1) 参照)。その他の差分は記憶され、テキストファイルの差分の後に要約が出力さ れます。 -r 共通なサブディレクトリが検出されるごとに、 diff を再帰的に適用します。 -s diff は、同一のファイルで、明示されていないものを報告します。 -S name ソート済みのディレクトリの中でディレクトリを対象に name ファイルから diff を開始し ます。 ファイルの比較 diff を使用して通常のファイルを対象に実行した場合、またはディレクトリの比較中で内容の異なるテキスト ファイルを比較した場合は、 2 つのファイルを一致させる上で変更する必要のある行が指摘されます。 diff は 通常、必要最小限の差分を報告します。ただし、わずかな文字しか含まない行などが混乱の原因になる場合も あります。 file1 と、 file2 がいずれもディレクトリではない場合は、どちらか一方を - として指定することが でき、その場合には標準入力が使用されます。 file1 がディレクトリの場合で、このディレクトリにあるファイ ルのうち、 file2 のファイル名と同じものが使用されます (逆の場合もあります)。 出力フォーマットには、いくつかのオプションを使用できます。デフォルトの場合、次のようなフォーマット で出力されます。 n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4 以上の行は、 file1 を file2 に変換する ed コマンドの出力に似ています。英字の後に続く数字は、 file2 に適用 されるものです。実際に a と d を入れ換えて、逆方向から読んでみると、 file2 が file1 でどのように変換され るかを確認することができます。 ed の場合と同じように、 n1 = n2 または n3 = n4 のペアが 1桁の数字として HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-277 diff(1) diff(1) 略記されます。 各行の後に、最初のファイルで変化のある行が < のフラグで示され、次に 2つ目のファイルで変化のある行が > のフラグで示されます。 -b, -w, -i, または -t の場合を除き、次の各オプションは排他的に使用します ( -b, -w, -i, または -t は任意に組み 合わせることができます)。 file2 から file1 を作成する場合に使用する ed エディタに a, c, および d コマンドのスクリプ -e トを生成します。ディレクトリを -e に比較すると、出力には別のコマンドが追加されるの で、 2 つのディレクトリに共通するテキストファイルを dir1 から dir2 に変換するための シェルスクリプトが生成されます。 -e オプションに似たスクリプトを生成します。可読性が改善されますが、 ed と併用するこ -f とはできません。 -e に似たスクリプトを逆の順序で生成します。挿入コマンド、または削除コマンドがあるご -n とに、変更された行がカウントされます。この形式は、 rcsdiff ( rcsdiff (1) 参照) で使用され ます。 3 行のコンテキストとともに差分リストを生成します。 -c では、出力フォーマットが多少変 -c わります。すなわち対象となったファイル名が示され、それぞれの作成日の後に、変更箇所 を約12 個のアスタリスク ( * ) で区切った行が続きます。 file1 で削除された行には、 - の マークが、また file2 に追加された行には + のマークが付けられます。一方のファイルで変 化している行は、両方のファイルで ! のマークが付けられます。ファイル中で3行以内の差 分は、出力上ではグループにまとめられます。 -C n -h -c に似たフォーマットで出力します。ただし、 n 行分のコンテキストを示します。 高速で簡略な処理を行います。このオプションは、変更の範囲が短く、該当箇所が離れてい る場合に利用できます。この場合、使用するファイルの長さに制限はありません。 -D string file1 と file2 をマージした結果を標準出力に送ります。この場合、C プリプロセッサコント ロールも含まれるので、 string を定義せずにこの結果をコンパイルしても、 file1 をコンパイ ルし、 string を定義して file2 をコンパイルした場合と同じ結果が得られます。 -b 後続の改行文字以外の 空白文字 (ブランク、およびタブ) を無視し、その他のブランク文字 列を同じものとみなします。例えば xyz\t\f と xyz は等価として扱われます。 -w 改行文字以外のすべての 空白文字 (ブランク、およびタブ) を無視します。例えば if ( a == b ) と if(a==b) は等価として扱われます。 -i -t 大文字/小文字の違いを無視します。したがって、 A と a は同じ文字とみなされます。 出力行でタブを展開します。通常の出力、または -c の出力で各行の先頭に1 桁以上の文字を 追加します。オリジナルのソース行で字下げの位置が合っていないと、出力リストが読みに くくなります。このオプションでは、ソースファイルの字下げが保持されます。 Section 1-278 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 diff(1) diff(1) 多言語化対応 環境変数 LANG により、 LC_ALL と対応する環境変数 ( LC_ で始まる変数) でロケールが指定されていない場合に、ロ ケールカテゴリに適用するロケールが決定されます。 LANG がセットされていない場合、または空白の文字列 にセットされている場合は、デフォルトの"C" ( lang(5) 参照) が使用されます。 LC_CTYPE により、 diff コマンドで使用するスペース文字を指定します。またファイル中のテキストをシン グルバイト、またはマルチバイトのどちらで解釈するかも定義されます。 LC_MESSAGES により、表示するメッセージで使用する言語を指定します。 多言語化対応変数が正しく設定されていないと、 diff および diffh は、この変数が "C" に設定されている場合 と同じように動作します。 environ(5) を参照してください。 サポートされる国際的コードセット diff および diffh は、マルチバイトの代替スペース文字を認識しない点を除き、シングルバイト、およびマルチ バイトのキャラクタセットがサポートされます。 戻り値 diff が完了すると、次のいずれかの終了値を返します。 0 差分はありません。 1 差分が検出されました。 >1 エラーが検出されました。 例 次のコマンドでは、 script スクリプトファイルを作成します。 diff -e x1 x2 >script スクリプトの終わりに w を追加して、ファイルを保存します。 echo w >> script 次の方法により、 ed エディタを使用して x1 ファイルから x2 ファイルを作成します。 ed x1 < script 次のコマンドでは、差分の検出された行の前後に2 行のコンテキスト情報を付加した差分出力が生成されま す。 diff -C2 x1 x2 次のコマンドでは、ブランク、タブ、および大文字/小文字の違いをすべて無視します。 diff -wi x1 x2 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-279 diff(1) diff(1) 警告 -e または -f のオプションで生成された編集スクリプトは、シングルドット (.) で構成した行を作成する場合だ けに適用されます。 -b, -w, または -I のオプションを指定してディレクトリを比較すると、 diff はまず、 cmp と同じ形式でファイ ルの比較を行い、各ファイルが異なる場合に、 diff アルゴリズムを実行します。これにより、ブランク文字列 や大文字/小文字の違いなどのわずかな差分の場合を除き、それぞれのファイルが同一である場合に、出力の生 成に多少時間を要することがあります。 デフォルトのアルゴリズムでは、ファイルのサイズの約6倍に相当するメモリ割り当てが必要になります。大 型のファイルを比較する場合に、十分なメモリが確保できないときは、 -h オプション、または bdiff を使用す ることができます ( bdiff (1) を参照)。 -r オプションを指定してディレクトリを比較すると、 diff はサブツリーを再帰的にサブディレクトリを下のレ ベルを移動します。複数のレベルのディレクトリを比較するときは、システムで利用可能な容量以上のメモリ が必要になる場合があります。必要となるメモリ容量は、再帰レベルの深さとファイルのサイズによって異な ります。 著者 diff は、 AT&T、カリフォルニア大学バークレー校、およびHPで開発されました。 ファイル /usr/lbin/diffh -h オプションで使用します。 参照 bdiff(1), cmp(1), comm(1), diff3(1), diffmk(1), dircmp(1), ed(1), more(1), nroff(1), rcsdiff(1), sccsdiff(1), sdiff(1), terminfo(4) 標準準拠 diff: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-280 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 diff3(1) diff3(1) 名称 diff3 − 3つの異なるファイルの比較 構文 diff3 [-exEX3] file1 file2 file3 説明 diff3 は、ファイルの3つのバージョンを比較し、以下のコードのフラグが付いたテキストの一致しない範囲を プリントします。 ==== 3つのファイルがすべて異なります。 ====1 file1 が異なります。 ====2 file2 が異なります。 ====3 file3 が異なります。 ファイルの与えられた範囲を、別のものに変換するために必要な変更のタイプは、以下の方法のいずれかで示 されます。 f :n1a テキストはファイル f の行番号 n1 の後に追加されます。ただし、 f = 1, 2, または 3 です。 f :n1,n2c テキストは行 n2 から行 n1 までの範囲で変化します。 n1 = n2 の場合、範囲は n1 に 短縮できます。 範囲の元の内容は c 指示の直後にきます。 2つのファイルの内容が同じであるとき、より下位の番号のファイ ルの内容が抑止されます。 -e 通常 ==== および ====3 のフラグが付く、 file2 および file3 の間のすべての変更を、 file1 へ取り込む場合に使用できる ed エディタのスクリプトが、 diff3 により生成されます ( ed(1) を参照)。 -x ==== のフラグの付いた変更のみを取り込むためのスクリプトを生成します。 -3 ====3 のフラグの付いた変更のみを取り込むためのスクリプトを生成します。 -E file2 および file3 の間のすべての変更を取り込むスクリプトを生成します。ただし、オー バーラップしている変更(すなわち、通常のリストでは ==== フラグの付く変更)は、異なる ものとして扱います。両方のファイルにオーバーラップしている行は、 <<<<<< の行と >>>>>> の行で囲まれた編集スクリプトにより挿入されます。 -X ==== のフラグの付いた変更のみを取り込むスクリプトを生成します。これらの変更の扱い は -E オプションと同じです。 以下のコマンドは、生成されたスクリプトを file1 に適用します。 (cat script; echo ’1,$p’) | ed - file1 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-281 diff3(1) diff3(1) 多言語化対応 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされます。 警告 単一のピリオド (.) で構成されるテキスト行は -e を無効にします。 64Kバイトを超えるファイルは動作しません。 ファイル /var/tmp/d3* /usr/lbin/diff3prog 参照 diff(1) Section 1-282 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 diffmk(1) diffmk(1) 名称 diffmk − 2つの異なったバージョンのファイルの相違のマーク付け 構文 diffmk prevfile currfile markfile 説明 diffmk は、旧バージョンのファイルと現在のバージョンのファイルを比べて nroff/troff 「変更マーク」コマン ドを含むファイルを作成します。prevfile は旧バージョンのファイルの名称で、currfile は現在のバージョンの ファイルの名称です。diffmk は markfile を生成し、currfile のすべての行、それに加えて挿入されたフォーマッ タ「変更マーク」 (.mc) の要求を含みます。 markfile がフォーマットされると、変更または挿入されたテキス トは各行の右マージンの | 文字によって示されます。削除されたテキストの位置は、単一の * により示されま す。 文字 | および * が不適当な場合、それらを変更するのに diffmk のコピーをエディットできます。 diffmk は シェルスクリプトです。 多言語化対応 サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 2つのバージョンの nroff/troff ファイルを比較して、変更マークを付けたファイルを作成する場合の一般的な コマンド行は、次の通りです。 diffmk prevfile currfile markfile; nroff markfile | pr diffmk は、変更マークを付けたC(または、その他の)プログラムのリストを生成するのにも使用できます。こ のような使い方の代表的なコマンド行は、以下のとおりです。 diffmk prevfile.c currfile.c markfile.c; nroff macs markfile.c | pr ただし、ファイル macs の内容は以下のとおりです。 .pl 1 .ll 77 .nf .eo .ll 要求では、プリントされるプログラムの性質に応じてさまざまな行長を指定できます。 .eo 要求は、Cプロ グラムに対してのみ有効です。 警告 見た目を考慮すると、出力によってはマニュアルで調整をしなければなりません。 diffmk は、テキストの変更とフォーマッタ要求コーディングの変更を区別しません。したがって、実際のテキ ストの変更がないフォーマット変更 (テキスト ソースファイルの .sp を .sp 2 と置換するなど) のみを伴う相違 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-283 diffmk(1) diffmk(1) で、変更マークを生成することがあります。 ほとんどあり得ませんが、フォーマット要求の組合わせにより変更マークが消滅または過剰に付けられる可能 性があります。多種のフォーマットマクロ パッケージおよびプリプロセッサの細かい区別をするのは diffmk の有効範囲を超えているため、手を加える必要がある場合があります。 tbl はその入力において .mc コマンド に対応していないため( tbl(1) を参照)、 .TS の範囲内にある .mc 要求はすべて表示することなく削除されま す。このアクションが不適当な場合スクリプトを変更できます。あるいは、比べる前に tbl プリプロセッサを 通した2つのファイル両方に対して diffmk を実行できます。 diffmk は diff を使用するため、ファイルサイズおよび実行に関して diff の場合と同じ制限があります( diff (1) を参照)。特に、性能がファイルのサイズに比例せず、(1000行をはるかに超えるような)ラージファイルは処理 するのにかなりの時間がかかる可能性があります。ファイルを分割するようお勧めします。 diffmk は ed(1) エディタも使用します。ファイルが ed には大きすぎる場合、 ed のエラーメッセージがファイ ルに埋め込まれることがあります。上記と同様に、ファイルを分割するようお勧めします。 参照 diff(1), nroff(1) Section 1-284 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 dircmp(1) dircmp(1) 名称 dircmp − ディレクトリの比較 構文 dircmp [-d] [-s] [-wn ] dir1 dir2 説明 dircmp は dir1 および dir2 を検査し、ディレクトリの内容に関する各種の表形式の情報を生成します。各ディ レクトリに固有である並び換えられたファイルリストは、すべてのオプションで生成されます。オプションを 入力しなければ、ソートリストは、両方のディレクトリに共通のファイル名の内容が同じかどうかを指示する 出力となります。 -d 両方のディレクトリで同じ名前のファイルの内容を比較し、 2 つのファイルを一致させるた め、変更の必要のある内容を示すリストを出力します。リストフォーマットについての説明 は、 diff (1) にあります。 -s 同じファイルについてのメッセージを抑止します。 -wn 出力行の幅を n 文字に変更します。デフォルトの幅は72です。 多言語化対応 環境変数 LC_COLLATE は、出力の並び換え順を決定します。 現在使用している環境において LC_COLLATE が指定されていなかったり、空の文字列の場合、 LANG の値 がその変数のデフォルトとして用いられます。 LANG が指定されていなかったり、空の文字列の場合、デフォ ルトの "C" (lang(5) を参照)が LANG の代わりに使われます。多言語化対応変数の設定が不適当な場合には、 dircmp はすべての多言語化対応変数が "C" に設定されているものとして動作します (environ(5) を参照)。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 以下のように、2つのディレクトリ slate および sleet を比較し、ディレクトリを同じにする変更のリストを生 成します。 dircmp -d slate sleet 警告 このコマンドは、X/Open標準から廃止されます。このコマンドを使用しているアプリケーションは、異機種の システムへは移植できない可能性があります。代替コマンドとして、 diff -R を推奨します。 参照 cmp(1), diff(1) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-285 dircmp(1) dircmp(1) 標準準拠 dircmp: SVID2, SVID3, XPG2, XPG3 Section 1-286 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 dmpxlt(1) dmpxlt(1) 名称 dmpxlt − iconv変換テーブルの読み取り可能形式でのダンプ 構文 /usr/bin/dmpxlt [-f output_filename] [input_filename] 説明 dmpxlt は、コンパイルされた iconv コードセット変換テーブルを、 ASCII読み取り可能形式でダンプします。 これを修正し、 genxlt(1) への入力として使用すれば、 iconv(1) 用のテーブルを生成し直すことができます。 オプション dmpxlt は以下のオプションを認識します。 -f output_filename このオプションが指定されない場合、データは標準出力へ送られます。 dmpxlt は、規定されたフォーマットで出力ファイルを作成し、 2つのコードセット間のファイルコードマッピ ングを提供します。これを編集して genxlt(1) で再度処理すれば、 iconv(1) 用の新しいテーブルを作成すること ができます。各エントリーは16進形式です。 多言語化対応 環境変数 LANG は、未設定またはヌルのインターナショナル変数に対するデフォルト値を提供します。 LANG が未設 定またはヌルの場合は、デフォルト値として"C"( lang(5) を参照)が使用されます。インターナショナル変数の いずれかの設定が不適当な場合には、 dmpxlt は、すべてのインターナショナル変数が "C"に設定されているも のとして動作します。 environ(5) を参照してください。 LC_ALL が空でない文字列値に設定されている場合は、他のすべてのインターナショナル変数の値が無効にな り、この値が適用されます。 LC_MESSAGES は、標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセー ジの、フォーマットと内容を制御するために使用すべきロケールを決定します。 NLSPATH は、 LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 以下に終了コードをあげます。 0 >0 正常終了 エラー条件が発生 例 この例は、テーブル roma8=iso81 からソースファイル genxlt_input を作成します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-287 dmpxlt(1) dmpxlt(1) dmpxlt -f genxlt_input /usr/lib/nls/iconv/tables/roma8=iso81 ファイル /usr/lib/nls/iconv/tables テーブルはすべて、このディレクトリにインストールしなければなりませ ん。 参照 iconv(1), genxlt(1), iconv(3C), environ(5) lang(5). Section 1-288 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 dnssec-makekeyset(1) dnssec-makekeyset(1) 名称 dnssec-makekeyset − DNSSEC鍵セットの作成 構文 dnssec-makekeyset [-a] [-h help] [-s start-time] [-e end-time] [-t TTL] [-r randomdev] [-p] [-v level] keyfile... 説明 dnssec-makekeyset は、 dnssec-keygen が作成した1つまたはそれ以上の鍵から鍵のセットを生成します。これ は、あるゾーンに関するKEYとSIGのレコードを持つファイルであり、そのゾーンの親ゾーンがDNSSEC対応 の場合は、その親ゾーンによって署名も行われます。 keyfile は、 dnssec-keygen が出力した、鍵を識別するための文字列です。 Knnnn.+aaa+iiiii という形式で nnnn は鍵の名称、 aaa は暗号化のアルゴリズム、 iiiii は鍵の識別子です。 keyfile 引き数を複数指定して、 dnssecmakekeyset で複数の鍵を1つの鍵セットに統合することができます。 オプション -a このオプションは、生成された署名すべてを検証するときに使われます。 −e end-time SIGレコードの有効期限を −e オプションで指定できます。このコンテキストでは、有 効期限が指定するのは、SIGレコードが無効になる時期で、ネームサーバーのキャッ シュから削除される時期ではありません。 end-time は、絶対日時か相対日時で指定します。絶対日時を指定するには YYYYMMDDHHMMSS という表記法を使います。 end-time が +N の場合、SIGレコードが、その開始日時から N 秒後に無効となること を示します。 end-time が now+N となっている場合、SIGレコードは現在の時刻から N 秒後に無効になります。 SIGレコードの有効期限が設定されない場合、 dnssec-makekeyset は有効期限のデフォ ルト値として、開始時刻から30日後を設定します。 −h help このオプションは、 dnssec-makekeyset が持っているオプションの簡単なサマリーを 表示するときに使われます。 −p このオプションは、 dnssec-makekeyset に対して、鍵セットに自分で署名する際、擬 似乱数データを使うよう指定するときに使われます。これは、署名に真性乱数データ を使うのに比べると高速ですが、安全性は低下します。このオプションは、エントロ ピーソースが制限されているときに便利です。 −r randomdev 乱数データの代替ソースを指定するときに、 −r オプションを使用します。 randomdev は、乱数データを取得するために使うファイルの名称です。デフォルトで は、 /dev/random デバイスが使用可能であれば、それが使われます。オペレーティン グシステムがこのファイルを提供しておらず、 −r オプションも指定されていない場 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-289 dnssec-makekeyset(1) dnssec-makekeyset(1) 合、 dnssec-makekeyset はユーザーにキーボードからの入力を求め、そのキー入力間 隔から乱数データを生成します。 −s start-time 鍵セット中の任意のSIGレコードについて、SIGレコードが有効になる時刻を −s オプ ションで指定します。 start-time は絶対日時か相対日時で指定します。 絶対日時で開始日時を指定するには、 YYYYMMDDHHMMSS という書式の数値を使用 します。たとえば、 20000530144500 は、協定世界時(UTC)の2000年5月30日14:45:00 を示します。 相対日時で開始日時を指定する場合、 start-time に +N を指定します。これは、現在 時刻から N 秒後という意味です。 −s オプションが指定されない場合、SIGレコードの開始日時として現在の日時が使用 されます。 −t TTL −t オプションに TTL 引き数を付加して生存時間を指定します。これは、出力ファイ ルに集められたKEY レコードとSIG レコードに割り当てられます。 TTL は秒単位で 表現されます。 −t オプションが指定されない場合、 dnssec-makekeyset は警告を出力 し、TTLのデフォルト値である3600秒を使用します。 −v level このオプションを使って、 dnssec-makekeyset に詳細な内容を出力させることができ ます。 level で指定するデバッグやトレースのレベルを上げると、 dnssec-makekeyset の処理内容についてしだいに詳しい内容が表示されるようになります。レベルのデ フォルト値は0です。 dnssec-makekeyset の処理が正常終了すると、 nnnn.keyset という形式の名前でファイルを作成しま す。このファイルには、 nnnn というドメインに関するKEYとSIGのレコードが含まれています。これ は、 dnssec-keygen がそのドメインの公開鍵と秘密鍵を作成したときに生成される鍵ファイルの識別子 のドメイン名の部分です。次に .keyset ファイルを親ゾーンの DNS 管理者に転送し、その内容を dnssec-signkey で署名させます。 例 次のコマンドは、 dnssec-keygen のマンページにある example.com について、DSA 鍵の鍵セットを生成しま す。 (行末の記号は、行がそのまま継続することを意味する記号で、 dnssec-makekeyset のコマンド構文に含ま れるものではありません。) dnssec-makekeyset -t 86400 -s 20000701120000 -e +2592000 \ Kexample.com.+003+26160 dnssec-makekeyset は、 example.com に対するSIG とKEY のレコードを含む、 example.com.keyset というファ イルを作成します。このレコードのTTLは、86400秒(1日)です。 SIGレコードは、協定世界時(UTC)の2000年7 月1日正午に有効になり、30日(2592000秒)後に有効期限が切れます。 example.com のDNS管理者は次に、 example.com.keyset を .com のDNS管理者に送り、そこでファイル内のリ ソースレコードに署名させます。これは、 .com のゾーンがDNSSEC対応であり、2つのゾーンの管理者の間に Section 1-290 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 dnssec-makekeyset(1) dnssec-makekeyset(1) は、お互いを認証して鍵と署名を安全に交換する機構がある、ということを前提としています。 ファイル /dev/random 参照 dnssec-keygen(1)、dnssec-signkey(1)、dnssec-signzone(1)、RFC2535 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-291 dnssec-signkey(1) dnssec-signkey(1) 名称 dnssec-signkey − DNSSEC鍵セット署名ツール 構文 dnssec-signkey [-a] [-c class] [-e end-time] [-h] [-p] [-r randomdev] [-s start-time] [-v level] keyset keyfile ... 説明 dnssec-signkey は、子ゾーンの鍵セットに署名するために使われます。通常、その鍵セットは dnssec-makekeyset ユーティリティが生成した .keyset ファイルで提供されます。これは、DNSSEC対応のゾーンがDNSSEC対 応の任意の子ゾーンの鍵に署名する機構を提供します。子ゾーンの鍵セットは、親ゾーンのゾーン鍵で署名さ れます。 keyset は子ゾーンの .keyset ファイルのパス名になります。 各 keyfile 引き数は、親ゾーンについて dnssec-keygen が出力した、鍵を識別する文字列です。これにより、子 の鍵を複数の親ゾーンの鍵で署名できます。 オプション このオプションは、生成された署名すべてを検証します。 -a -c class このオプションは、鍵セットのDNSクラスを指定します。現在、サポートされている のはINクラスだけです。 -e end-time 生成したSIGレコードの有効期限となる日時を、このオプションで指定します。 endtime は、絶対日時か相対日時で指定します。絶対日時を指定するには YYYYMMDDHHMMSS という表記法を使います。 end-time が +N の場合、SIGレコードが、その開始日時から N 秒後に無効となること を示します。 end-time が now+N と書かれている場合、SIG レコードは現在の時刻か ら N 秒後に無効になります。 end-time が設定されない場合は、有効期限のデフォル ト値として開始時刻から30日後が設定されます。 −h このオプションで、 dnssec-signkey のコマンド行オプションと引き数のサマリーを出 力させることができます。 −p このオプションは、 dnssec-signkey に対して、鍵に署名する際、擬似乱数データを使 うよう指定するときに使われます。 これは、署名に真性乱数データを使うのに比べると高速ですが、安全性は低下しま す。この機能は、署名する子ゾーンの鍵セットが多い場合や、エントロピーソースが 制限されているときに便利です。また、解読されてしまう前に鍵が破棄されるなど、 生存期間の短い鍵や、暗号解読に対して強い防御の必要がない署名についても使用で きます。 Section 1-292 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 dnssec-signkey(1) −r randomdev dnssec-signkey(1) このオプションは、乱数を発生させる /dev/random デバイスがシステムにない場合 に、 dnssec-signkey の動作を変更して、鍵を生成する処理のシードとして乱数を使用 させるときに使います。 dnssec-signkey プログラムはキーボード入力を求め、その キー入力間隔から乱数データを生成します。このオプションを指定すると、乱数デー タのソースとして randomdev を使用します。 -s start-time このオプションは生成されたSIGレコードが有効になる日時を指定します。 start-time は、絶対日時か相対日時で指定します。 絶対日時で開始日時を指定するには、 YYYYMMDDHHMMSS という書式の数値を使用 します。たとえば、 20000530144500 は、協定世界時(UTC)の2000年5月30日14:45:00 を指定します。 相対日時で開始日時を指定する場合、 start-time に +N を指定します。これは、現在 日時から N 秒後という意味です。 start-time が指定されない場合、現在の日時が使用 されます。 −v level このオプションを使って、 dnssec-signkey に詳細な内容を出力させることができま す。デバッグやトレースのレベルを上げると、 dnssec-signkey の処理内容についてし だいに詳しい内容が表示されるようになります。レベルのデフォルト値は0です。 dnssec-signkey の処理が正常終了すると、子ゾーン nnnn の署名済み鍵を含む、 nnnn.signedkey という形式の名 前のファイルが作成されます。 keyset ファイルの鍵は、親ゾーンの鍵か keyfile 引き数で指定されるファイル から与えられた鍵で署名されます。このファイルは子ゾーンの DNS 管理者に送られます。管理者は、次に dnssec-signzone で署名される際に、その内容がゾーンファイルに取り込まれるようにします。親ゾーンに署名 する際に必要になるため、生成された signedkey ファイルのコピーは親ゾーンのDNS管理者が保管します。 例 DNSSEC対応の .com ゾーンのDNS管理者は、次のコマンドを使って、 dnssec-makekeyset のマンページにある 例で作成した example.com の .keyset ファイルに、 dnssec-signkey で署名します。 dnssec-signkey example.com.keyset Kcom.+003+51944 Kcom.+003+51944 は、 dnssec-keygen が .com ゾーンの鍵を生成したときに作成された鍵ファイル識別子で す。 dnssec-signkey は、 com ゾーンのゾーン鍵で署名された example.com の鍵を含む example.com.signedkey とい うファイルを生成します。 ファイル /dev/random 参照 dnssec-keygen(1)、dnssec-makekeyset(1)、dnssec-signzone(1)、RFC2535 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-293 dos2ux(1) dos2ux(1) 名称 dos2ux, ux2dos − ASCIIファイルをHP-UXとDOS間でフォーマット変換する 構文 dos2ux file... ux2dos file... 説明 dos2ux および ux2dos は、それぞれの指定された file を順番に読み込んでそれぞれ HP-UX フォーマットまたは DOS フォーマットに変換し、標準出力に書き出します。それぞれの file は、いずれかのコマンドで DOS フォーマットまたは HP-UX フォーマットのどちらにもできます。 DOS ファイル名は、埋め込まれたコロン (:) デリミタで認識されます。 DOS のファイル命名規約については、 dosif (4) を参照してください。 入力ファイルを与えないか、または file を -, dos2ux および ux2dos として指定した場合は、標準入力から読み 込みます。標準入力は他のファイルと結合できます。 例 ファイル myfile をディスプレイに出力します。 dos2ux myfile file1 および file2 を DOS フォーマットに変換し、それらを連結して、 file3 に出力します。 ux2dos file1 file2 > file3 戻り値 dos2ux および ux2dos は以下の値を戻します。 0 2 正常終了の場合。 異常終了の場合。異常終了は、指定したファイルをオープンできないときだけです。その場 合、コマンドは警告を出力します。 警告 次のようなコマンドフォーマットは dos2ux file1 file2 > file1 連結が始まる前に file1 のデータをオーバライトするため、 file1 の内容が失われます。ですから、シェル特殊 文字を使用するときは注意してください。 参照 dosif(4) Section 1-294 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 dosdf(1) dosdf(1) (廃止予定) 名称 dosdf − 未使用ディスククラスタ数のレポート 構文 dosdf device[:] 特記事項 dosdf コマンドは、廃止される予定です。 「警告」の項目を参照してください。 説明 dosdf は df コマンドの DOS 版です(df (1) を参照)。指定された DOS ボリューム上のクラスタのバイトサイズ および未使用クラスタ数をプリントします。 警告 dosdf は HP-UX から削除される予定のため、使用はお勧めしません。 参照 df(1), dos2ux(1), dosif(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-295 dspcat(1) dspcat(1) 名称 dspcat − メッセージカタログの全体または一部の表示 構文 dspcat [-g] catalog_name [set_number [message_number]] 説明 dspcat コマンドは、特定のメッセージ、セット内のすべてのメッセージ、またはカタログ内のすべてのメッ セージを表示します。 コマンドオペランドを3つすべて指定すると、 dspcat は特定のメッセージを表示します。 message_number を 指定しない場合は、指定したセット内のメッセージがすべて表示されます。 catalog_name のみを指定した場 合、カタログ内のメッセージがすべて表示されます。無効な message_number または無効な set_number を指定 すると、エラーメッセージが表示されます。 message_number を指定する場合は、 set_number を指定する必要 があります。 オプション dspcat コマンドは、次のオプションを認識します。 出力をフォーマットして gencat コマンドへの入力として使用できるようにします。 -g message_number オペランドを −g オプションとともに使用することはできません。 オペランド dspcat コマンドは、以下のオペランドを認識します。 catalog_name メッセージカタログが格納されているファイルを指定します。 NLSPATH 環境変数で 指定したディレクトリのセットにファイルがない場合、 dspcat は現在のディレクトリ でファイルを検索します。(NLSPATH についての詳細は、 environ(5) を参照してくだ さい。) set_number カタログ内のセットを指定します。 message_number 指定したセット内の特定のメッセージ番号を指定します。 多言語化対応 環境変数 LANG は、未指定またはヌルの多言語化対応変数のデフォルト値を決めます。 LANG が未指定またはヌルの 場合は、デフォルトで C が使用されます (lang(5) を参照)。 LC_ALL は、空でない文字列が設定されている場合、他のすべての多言語化対応変数より優先されます。 LC_MESSAGES は、メッセージを表示する言語を決めます。 NLSPATH は、指定したメッセージカタログファイルの検索に使用するパスを決定します。この環境変数は、 目的のメッセージカタログを検索する際に多言語化対応変数がどのように使用されるかということに影響しま す。 Section 1-296 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 dspcat(1) dspcat(1) 例 test.cat のセット 1 のメッセージ 2 を表示するには、次のように入力します。 dspcat test.cat 1 2 著者 dspcat コマンドは OSF および HP で開発されました。 参照 dspmsg(1), gencat(1), mkcatdefs(1), catclose(3C), catgets(3C), catopen(3C) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-297 dspmsg(1) dspmsg(1) 名称 dspmsg − メッセージカタログ内の選択したメッセージの表示 構文 dspmsg [-e | -E] [-s set_number] catalog_name message_number [’default_string’ [argument ... ]] 説明 dspmsg コマンドは、メッセージカタログ内の特定のメッセージを表示します。表示にはメッセージ識別子が 含まれることがあります。含まれるかどうかは -e または -E オプションを指定したかどうか、また CAT_MIDSET_catname、 CAT_MIDSET、および CAT_MIDFMT 環境変数の値に応じて異なります。メッセージ識別子 は、カタログ名、セット番号、メッセージ番号のうち1つ以上で構成されます。これらの環境変数について は、後述する「メッセージ識別子をメッセージとともに表示する」を参照してください。 オプション dspmsg コマンドは以下のオプションを認識します。 メッ セー ジ 文 字 列 と と も に メッ セー ジ 識 別 子 を 表 示 す る よ う に 指 定 し ま す が、 -e CAT_MIDSET_catname または CAT_MIDSET 環境変数で指定したメッセージセット に限られます。 CAT_MIDFMT_catname または CAT_MIDFMT 環境変数を定義すると、メッセージ識 別 子 の デ フォ ル ト の フォー マッ ト よ り も こ の 定 義 が 優 先 さ れ ま す。 詳 細 は 「 CAT_MIDFMT* 環境変数の使用」を参照してください。 CAT_MIDFMT 環境変数の制御の基で、全メッセージセットのメッセージについて、 -E メッセージ識別子を表示するように指定します。このオプションを使用すると、 CAT_MIDSET* 環境変数は何の効力も持たなくなります。ただし、メッセージ識別子 を表示するためには、 CAT_MIDFMT* 環境変数のいずれかを明示的に定義する必要 があります。このオプションを使用すると、メッセージカタログが見つからず、かつ default_string 引き数が省略されている場合、メッセージ識別子だけが表示されます。 たとえば、 catalog_name が du であり、かつ message_number が 2、 set_number が 3 であれば、 /du/3/2: が表示されます。 セット番号を指定します。指定しない場合、 dspmsg は最初のメッセージセット内で -s メッセージを検索します。 オペランド dspmsg コマンドは、以下のオペランドを認識します。 catalog_name メッセージカタログの名前を指定します。デフォルトでは、 dspmsg は NLSPATH 環 境変数で指定したディレクトリセット、次に現在のディレクトリでカタログを検索し ます。 NLSPATH 検索は、カタログ名の先頭にパス名を付加することで、無効にでき ます。 NLSPATH についての詳細は、 environ(5) を参照してください。 Section 1-298 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 dspmsg(1) dspmsg(1) message_number 指定したセット内でのメッセージ番号を指定します。 -s オプションを省略した場合、 dspmsg はカタログ内の最初のメッセージセット内の メッセージのみを検索します。 default_string 指定した番号のメッセージがカタログ内に見つからなかった場合に、 dspmsg コマン ドが表示するメッセージを指定します。このメッセージに %n$s という形式の挿入句 が含まれている場合は、デフォルトメッセージを単一引用符で囲むか、または挿入句 内の $ 文字をエスケープしてください (%n\$s)。 argument ... カタログメッセージまたはデフォルトメッセージに %s あるいは %n$s の形式の printf() 変換指定が含まれている場合にメッセージに挿入される引き数 (10個まで) を 指定します。メッセージ挿入引き数を指定するためには、 default_string 引き数を指定 する必要があります。 メッセージカタログ (catalog_name) とメッセージ (message_number) を指定する必要があります。また、カタロ グに複数のメッセージセットがあり、指定したメッセージが最初のセットに入っていない場合は、メッセージ セット (set_number) も指定する必要があります。 dspmsg コマンドは、指定したメッセージがカタログにない場合、またはカタログが見つからないかオープン できない場合に default_string の値を表示します。通常、 default_string はカタログ内のメッセージと同様に扱わ れますが、テキストの表示言語は例外です。 default_string を指定しない場合、カタログからメッセージを取り 出せないと dspmsg は何も表示しません。 次の例は、test.cat のセット 3 のメッセージ 2 を表示します。 dspmsg -s 3 store.cat 2 ’Sorry, that item is no longer in stock.’ dspmsg は、指定したメッセージがカタログ内に見つからない場合、またはカタログが見つからないかオープ ンできない場合、 "Sorry, that item is no longer in stock." という文字列を表示します。 デフォルトメッセージ文字列にシンボリック名を使用する mkcatdefs ユーティリティは、メッセージソースファイルをプリプロセスする際に、デフォルトメッセージ文 字列のマクロまたは変数を定義するファイルを作成できます。このファイルがシェルスクリプトまたはプログ ラムに含まれている場合、 dspmsg の default_string 引き数にシンボリック名を指定することができます。次の 例では、 mkcatdefs が作成した、デフォルトメッセージ文字列を含むファイルは最初に POSIX シェルに取り込 まれます。その後、いずれかの変数名をデフォルトメッセージ文字列として使用して dspmsg コマンドが起動 されます。 . ./store_msg.sh dspmsg -s 3 store.cat 2 "${STORE_SOLDOUT}" store_msg.sh ファイルは mkcatdefs ユーティリティによって作成され、STORE_SOLDOUT 変数に対して文字列 "Sorry, that item is no longer in stock." を定義します。 mkcatdefs ユーティリティは、 -p オプションで指定され た接頭語 (STORE_) をメッセージのシンボリック名 (SOLDOUT) の前に付加することで、変数名を作成しま す。デフォルトのメッセージ文字列のシンボリック名を定義するインクルードファイルの作成についての詳細 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-299 dspmsg(1) dspmsg(1) は、 mkcatdefs(1) を参照してください。 メッセージ識別子をメッセージとともに表示する dspmsg コマンドは、メッセージを単独で表示するか、またはメッセージ識別子を前に付加して表示します。 メッセージ識別子の表示を有効にするには、次のいずれかを行います。 1) -e オプションを使用します。このオプションは CAT_MIDSET_catname または CAT_MIDSET 環境 変数の設定と組み合わせて使用する必要があります。また、 CAT_MIDFMT 環境変数の設定と組み 合わせることもできます。 catname はメッセージカタログファイル名を大文字にして拡張子 ".cat" を除いた名前です。この環境変数が定義されていると、 CAT_MIDSET 環境変数より優先されま す。 2) -E オプションを使用します。このオプションは CAT_MIDFMT 環境変数と組み合わせて使用する 必要があります。 CAT_MIDSET* 環境変数の設定の影響は受けません。 メッセージ識別子の表示は、以下の場合はいずれも無効になります。 1) -e オプション • CAT_MIDSET_catname および CAT_MIDSET 環境変数が定義されていない場合 • CAT_MIDSET_catname または (この変数が定義されていない場合) CAT_MIDSET 環境変数の値 に、メッセージを含むメッセージセットが含まれていない場合 • CAT_MIDSET_catname または (この変数が定義されていない場合) CAT_MIDSET 環境変数の値 として "" (ヌル) が設定されている場合 2) -E オプション CAT_MIDFMT_catname および CAT_MIDFMT 環境変数が定義されていない場合 3) -e および -E オプション CAT_MIDFMT_catname または ( この変数が定義されていない場合) CAT_MIDFMT 環境変数の値 として "" (ヌル) が設定されている場合 メッセージ識別子は、カタログ名、セット識別子、メッセージ識別子、区切り記号の組み合わせで構成されま す。このマンページで説明したオプションと環境変数を用いて表示できるメッセージ識別子の例を、以下に示 します。 • store/3/2: Sorry, that item is no longer in stock. • store 2: Sorry, that item is no longer in stock. 最初の例は、 -e オプションを使用し、 CAT_MIDFMT* 環境変数を設定しなかった場合の、メッセージ識別子 のデフォルトフォーマットを示します。2番目の例は、 -E オプションを使用し、 CAT_MIDFMT に "%C %M: " を指定した場合 (すなわち、カタログ名の後に空白文字、その後にメッセージ番号を続ける) を示して います。 Section 1-300 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 dspmsg(1) dspmsg(1) 以下の項では、 CAT_MIDSET* および CAT_MIDFMT* 環境変数について詳細に説明します。 CAT_MIDSET* 環境変数の使用 CAT_MIDSET_catname および CAT_MIDSET 環境変数は、メッセージ識別子の機能をどのようにアクティブ にするかを制御するために使用します。これらの環境変数では、メッセージ識別子付きで表示するメッセージ を含むセットを識別する数値を空白文字で区切ったリストの形式で指定します。たとえば、これらの変数のい ずれかに "3 4" を設定すると、セット 3 および 4 のメッセージに限り、メッセージ識別子が表示されます。 メッセージカタログ内の他のセットのメッセージは、メッセージ識別子なしで表示されます。これらの変数の いずれかに "" を設定すると、メッセージカタログ内のすべてのセットで、メッセージ識別子の表示が無効にな ります。 dspmsg コマンドが CAT_MIDSET_catname および CAT_MIDSET 環境変数をチェックするのは、 -e オプショ ンを指定した場合のみです。このオプションを指定すると、 dspmsg は、まず CAT_MIDSET_catname 環境変 数が設定されているかを調べます。設定されている場合、 message_number がその変数で指定されたセットの いずれかに含まれていれば、 dspmsg は指定されたメッセージの前にメッセージ識別子を付加します。カタロ グ固有の環境変数が設定されていない場合、 dspmsg は CAT_MIDSET 環境変数を検索してその設定を使用し ます。どちらの環境変数も設定されていない場合、 dspmsg はメッセージ識別子を表示しません。 通常、アプリケーションプログラマは、警告やエラーの状態を示すメッセージにのみ、メッセージ識別子を表 示します。メッセージカタログが適切に設計されていれば、このような状態に対応するメッセージは、情報 メッセージやバックグラウンドテキスト文字列を含むセットとは別のセットに含まれています。警告やエラー を含むメッセージセットのみを CAT_MIDSET_catname 環境変数に設定して、その後に dspmsg -e を使用する と、メッセージ識別子の表示をそのような種類のメッセージに制限することができます。 CAT_MIDFMT* 環境変数の使用 CAT_MIDFMT_catname および CAT_MIDFMT 環境変数は、メッセージ識別子のフォーマットを制御します。 -E オプションで識別子の表示を有効にするためには、この環境変数のいずれかを定義しておく必要がありま す。これらの変数を定義することで、 -e オプションで表示される識別子のデフォルトのフォーマットよりも優 先させることができます。 dspmsg コマンドは、まずカタログ固有の環境変数を調べ、カタログ固有のフォー マットが見つからなければ、次に CAT_MIDFMT 環境変数の値を調べます。 CAT_MIDFMT* 環境変数の値には、以下に示す置換指令を1つまたは複数含めることができます ( 順序は任 意)。 %C ファイル拡張子を含まないメッセージカタログ名 %S メッセージセットの識別子。この識別子は数値定数です。 %M メッセージ識別子。この識別子は数値定数です。 %D デフォルトフォーマット。フォーマット文字列の先頭で指定すると、デフォルトフォーマット ("%C%/%S%/%M: ") になります。フォーマット文字列の先頭以外に指定した場合、 %D 置換 指令は無視されます。 フォーマットには、識別子のセグメントを区切る文字として、空白やコロンなど追加の ASCII 文字を含めるこ HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-301 dspmsg(1) dspmsg(1) とができます。ただし、パーセント記号 (%) は、シェルに対して特別な意味があるため区切り記号として含め ることはできません。 フォーマットと、出力されるメッセージ識別子および文字列の例を以下に示します。この例では、カタログ名 は du、メッセージセット識別子は 3、メッセージ識別子は 2、メッセージ文字列は "Out of memory" としま す。 • "%C/%S/%M: " du/3/2: Out of memory • "%D" du/3/2: Out of memory • "%C-%M: " du-2: Out of memory • "%C %M: " du 2: Out of memory 多言語化対応 環境変数 LANG は、未指定またはヌルの多言語化対応変数のデフォルト値を決めます。 LANG が未指定またはヌルの 場合は、デフォルトで Cが使用されます (lang(5) を参照)。 LC_ALL は、空でない文字列が指定されている場合、他のすべての多言語化対応変数より優先されます。 LC_MESSAGES は、メッセージを表示する言語を決めます。 NLSPATH は、指定したメッセージカタログファイルの検索に使用するパスを決定します。この環境変数は、 目的のメッセージカタログを検索する際に多言語化対応変数がどのように使用されるかということに影響しま す。 例 test.cat のセット 1 のメッセージ 2 を表示するには、次のように入力します。 dspmsg test.cat -s 1 2 ’Default message.’ メッセージがセット内に存在しない場合は、"Default message." という文字列が表示されます。 著者 dspmsg コマンドは OSF および HP で開発されました。 参照 dspcat(1), gencat(1), mkcatdefs(1), catclose(3C), catgets(3C), catopen(3C) Section 1-302 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 du(1) du(1) 名称 du − ディスク使用量の要約 構文 du [-a -s] [-bkrx] [-H -L] [-t type ] [name]... 説明 du コマンドは、 name オペランドによって指定した各ディレクトリおよびファイル内のすべてのファイルおよ び(再帰的に)ディレクトリの割当て512バイトブロックの個数を与えます。ブロックカウントには、ファイルの 間接ブロックも含まれます。 2つ以上のリンクを持つファイルは1度だけ数えられます。 name が存在しない場 合、既存のワーキングディレクトリが使用されます。 デフォルトでは、 du は、 name オペランドおよびそれらの階層内にある各ディレクトリのみのエントリーを生 成します。 コマンド行やファイル階層でシンボリックリンクがあると、 du はデフォルトでは、リンク先ではなく、シン ボリックリンクのサイズをカウントし、ファイル階層の他の領域へのリンクには追従しません。 オプション du コマンドは以下のオプションを認識します。 -a 通常の出力に加えて、ディレクトリ階層にある各ファイルにエントリーをプリントし ます。 -b ファイルシステムスワップがイネーブルされているディレクトリである各 name オペ ランドに、スワップシステムが現在使用しているブロック数をプリントします。 -H コマンドラインにシンボリックリンクが指定された場合、 du はそのリンクで参照さ れるファイルまたはファイル階層のサイズを表示します。 -L とは違い、ファイル階 層中のシンボリックリンクには追従しません。 -k -L 1024バイトブロックでブロックカウントします。 コマンドラインにシンボリックリンクが指定されたまたはファイル階層中にシンボ リックリンクがあった場合、 du はそのリンクで参照されるファイルまたはファイル 階層のサイズを表示します。 -r 読み込めないディレクトリ、アクセスできないファイルなどのメッセージをプリント します。 du は通常、そのような状態には無表示です。 -s 指定された各 name オペランドについて、ディスク使用量の総計のみプリントしま す。 -t type レポートを、指定された type のファイルシステムに制限します( type の値は、例え ば、 hfs, cdfs, nfs, などです)。複数の -t type オプションが指定できます。ディスク使 用量は通常、与えられた各 name オペランドの下のディレクトリ階層全体に対してレ ポートされます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-303 du(1) du(1) レポートを name オペランドで指定されたファイルと同じデバイスを有するファイル -x に制限します。ディスク使用量は通常、与えられたそれぞれの name オペランドの下 のディレクトリ階層全体に対してレポートされます。 標準によると排他的なオプション -H と -L を複数指定してもエラーとはみなされません。最後に指定されたオ プションが有効となります。 例 現在のワークディレクトリおよびその下のすべてのディレクトリのディスク使用量を表示し、読み込めない ディレクトリにはエラーメッセージを生成します。 du -r nfs または cdfs によってマウントされたファイルシステムを除いて、ファイルシステム全体のディスク使用量 を表示します。 du -t hfs / ルートボリューム (/) のファイルのディスク使用量のみを表示します。その他のマウント済みファイルシステ ム使用量の統計情報は収集されません。 du -x / 警告 ホールを含むファイルのブロック数は不正確です。 参照 df(1M), bdf(1M), quot(1M), standards(5) 標準準拠 du: SVID2, SVID3, XPG2, XPG3, XPG4 Section 1-304 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 echo(1) echo(1) 名称 echo − 引き数のエコー (表示) 構文 echo [ arg ] ... 説明 echo はブランクで区切られ、改行で終了する各引き数を標準出力に書き込みます。 echo では、C言語形式の エスケープ規約も認識されます。この場合、シェルによる \ の使用と衝突することがないように注意してくだ さい。 \a 警告文字を書き込む \b バックスペース \c 改行せずに行をプリントする \f 改ページ \n 改行 \r 復帰 \t タブ \v 垂直タブ \\ バックスラシュ \n ASCII コードを1、2、3、または4桁からなる8進数 n で指定した8ビット文字です。最初の 文字はゼロでなければなりません。 \0num ゼロ、1、2、または3桁からなる8進数 num で指定した8ビットの値を書き込みます。 echo はコマンドファイルに診断を出力する場合、および既知のデータをパイプに送る場合に利用することがで きます。 注意 バークレイ版の echo と、このコマンドでは仕様が異なります。前者では、バックスラッシュによるエスケー プはできません。バークレイ版では、 \c エスケープを -n オプションで代用することができます。 echo が csh(1) の組み込み関数として用いられている場合には、バークレイ方式に従っています。 多言語化対応 環境変数 LC_CTYPE により、 arg をシングルバイト、またはマルチバイトのいずれの文字で解釈するかを決定しま す。 また、 LC_CTYPE を指定していない場合、または空の文字列にセットされている場合は、各デフォルトとし て LANG が使用されます。また、 LANG を指定していない場合、または空の文字列にセットされている場合 は、 LANG の代わりに"C" (lang(5) 参照) が使用されます。インターナショナル変数に無効な値がセットされ ていると、 echo はインターナショナル変数がすべて "C" にセットされているものとして動作します。 environ(5) を参照してください。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-305 echo(1) echo(1) サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 著者 echo は、OSFとHPが開発しました。 参照 sh (1) バグ 最初の \c の後には、文字はプリントされませんが、これは通常は問題にはなりません。 標準準拠 echo: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-306 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ed(1) ed(1) 名称 ed, red − 行指向のテキストエディタ 構文 ed [-p string] [-s -] [-x] [ file] red [-p string] [-s -] [-x] [ file] 説明 ed コマンドは行指向のテキストエディタを実行します。 ed は、主にスクリプトや対話なしの編集アプリケー ションで使用します。対話的にも使用できますが、対話型環境では、通常 vi および ex などの他のエディタの 方が使いやすいからです。 file を指定すると、 ed は指定ファイルに対して e コマンド(以下を参照)を実行します。つまり、このファイル は、エディットできるように ed バッファに読み込まれます。 オプション 以下のオプションが認識されます。 -p string コマンドモードのとき、 string をプロンプト文字列として使用します。デフォルトで は、プロンプト文字列はありません。 -s - e, E, r, および w コマンドによるバイトカウントのプリントを行わないようにし、 ! コマ ンドの後に ! プロンプトを出さないようにします。 - は古い形式のオプションで、今後の リリースでは廃止される方向にあります。 -x X コマンドを最初に実行して暗号化ファイルを処理します。 ファイル処理 ed は、エディット対象のファイルのコピーに対して処理を行います。コピーに行った変更は、 w (書き込み)コ マンドを与えるまでオリジナルファイルに影響を与えません。エディット対象のテキストのコピーは、 バッ ファというテンポラリファイルに置かれます。バッファは1つだけです。 red は ed の制限付きバージョンです。編集可能なファイルは現在のディレクトリにあるファイルだけで、 ! シェルコマンドを介したシェルコマンドの実行は禁止されます。これらの制限を無視しようとすると、エラー メッセージ restricted shell が発行されます。 ed および red は fspec(4) フォーマッティング機能をサポートします。 file の先頭行としてフォーマット指定を 入れ、 stty -tabs または stty tab3 モード( stty(1) を参照)の制御ターミナルを使って ed を呼び出した後、指定し たタブストップが file のスキャン時に自動的に使用されます。例えば、ファイルの先頭行に以下の指定がある 場合、 <:t5,10,15 s72:> タブストップは、カラム5、10、および15に設定され、最大行長は72になります。 注記: テキストの入力時、 ed は、デフォルトとして8番目のカラムごとにタイプされるようにタブ文字を展開 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-307 ed(1) ed(1) します。 エディタコマンド構造 ed へのコマンドには、単純で規則的な構造があります。つまり、ゼロ、1、または2個の アドレスとその後の1 文字の コマンドがあり、場合によってはその後にそのコマンドへのパラメータが続きます。これらのアドレス は、バッファ内の単一または複数の行を指定します。アドレスが必要な各コマンドには、多くの場合アドレス を省略できるよう、デフォルトアドレスがあります。 一般に、1行に1つのコマンドだけが可能です。追加、変更、および挿入コマンドはテキスト入力を受け付け、 これらのテキスト入力は次に適宜バッファに入れられます。 ed が、追加、変更、または挿入コマンドの後に あるテキストを受け付けている場合、 入力モードにあるといいます。入力モードのとき、エディタコマンドは 認識されません。入力はすべて、単に収集されるだけです。入力モードを終了するには、行の先頭でピリオド (.) だけをタイプします。 正規表現 ed は、以下の仕様を追加した基本正規表現(RE)構文( regexp(5) を参照)をサポートします。 • • ヌル RE (例えば、 //) は、最後に出現した RE と等価です。 RE または置換文字列(例えば、 /) のクローズデリミタが改行の前の最後の文字であれば、そのデリ ミタは省略できます。この場合、アドレス指定した行がプリントされます。以下の各対のコマンド は等価です。 s/s1/s2 g/s1 s/s1/s2/p g/s1/p ?s1 ?s1? 行アドレス 行アドレスを理解するには、 ed が 現在の行へのポインタを保守することを忘れないでください。一般に、現 在の行はコマンドによって影響を受ける最後の行です。与えられたコマンドの現在の行への正確な影響につい ては、各コマンドごとに説明します。アドレスは次の規則に従って解釈されます。 1. 文字 . は現在の行を参照します。 2. 文字 $ はバッファの最終行を参照します。 3. 10進数 n はバッファの n 行目を参照します。 4. ’x はマーク名文字 x でマーク付けした行を参照します。 x は小文字英字でなければなりません。 行へのマーク付けには、以下に説明のある k コマンドを使います。 5. スラッシュで囲んだ RE (/RE/) は、現在の行に続く行からバッファの終端まで順方向に検索し、 /RE/に一致する文字列を含む最初の行で停止することによって見つかった、最初の行を参照しま す。必要ならば、検索はバッファの先頭にラップアラウンドし、現在の行自身まで続行します。 したがって、バッファ全体が検索されます(この後の「 警告」も参照してください)。 6. 疑問符で囲まれた RE (?RE?)は、現在の行の前の行からバッファの先頭まで逆方向に検索し、 RE に一致する文字列を含む最初の行で停止することによって見つかった、最初の行をアドレス指定 Section 1-308 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ed(1) ed(1) します。必要ならば、検索はバッファの終端にラップアラウンドし、現在の行自身まで続行しま す(この後の「 警告」も参照してください)。 7. プラス (+) またはマイナス (-) 符号の後に10進数が続くアドレスは、そのアドレスに示された行数 を加えるか、あるいは引いたアドレスを指定します。プラス符号は省略できます。 8. アドレスが + または - から始まると、加算または減算は現在の行に関して計算されます。例え ば、 -5 は .-5 と解釈されます。 9. アドレスが + または - で終わると、そのアドレスにそれぞれ1を加算するか、または減算します。 これと上記の規則8との結果として、アドレス - は、現在行の前の行を参照します (旧バージョン のエディタとの互換性を保守するために、脱字符号 (ˆ) および - 文字は、アドレス内にあったとき とまったく同じに解釈されます)。さらに、複数の後置 + および - 文字には累積的効果があるた め、 -- は、現在行の2行前の行を参照します。 10. 便宜上、コンマ (,) はアドレスペア 1,$ を表しますが、セミコロン (;) はペア .,$ を表します。さら に (,addr) はアドレスペア 1,addr を表し、 (;addr) はペア .,addr を表します。 コマンドには、ゼロ、1、または2個のアドレスが必要です。アドレスを使用しないコマンドは、アドレスの存 在をエラーとして処理します。 1個または2個のアドレスを受け付けるコマンドは、指定したアドレス数が不十 分な場合にはデフォルトアドレスを仮定します。与えたコマンドが必要とする以上のアドレスを指定すると、 適宜最後の1個あるいは2個を使用します。 アドレスは通常、コンマ (,) で相互を区切ります。また、セミコロン (;) で区切ることもできますが、この場合 には、現在の行 (.) が最初のアドレスに設定され、その後に第2アドレスが計算されます。この特徴を使って、 順方向および逆方向検索の開始行を決定できます(上記の規則5および6を参照)。任意の2アドレスシーケンス の第2アドレスは、最初のアドレスに対応する行の後ろにあるバッファの行に対応しなければなりません。 エディタコマンド ed コマンドの次のリストでは、デフォルトアドレスを小かっこで囲んで示します (小かっこはアドレスには含 まれないため、他の目的で使用する場合を除いて実際のコマンドに入れないようにしてください)。 一般に、複数のコマンドを 1 行に記述することはできません。ただし、 e, f, r, および w を除く任意のコマンド には、 l, n, または p のサフィックスを付けることができます。この場合、以下の l, n, および p コマンドの説 明に従って、現在の行はそれぞれリストされるか、番号を付けられるか、プリントされます。 (.)a a (追加)コマンドは、 text を読み取って、アドレス指定した行の後にそれを追加しま text す。正常終了すると、新しい現在行は最後に挿入した行か、またはテキストが追加さ . れなかった場合にはアドレス指定した行になります。このコマンドについては、アド レス0は正当であり、追加した text はバッファの先頭に入れられます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-309 ed(1) ed(1) (.,.)c c (変更)コマンドは、アドレス指定した行を削除し、次に削除した行を置き換える入 text 力テキストを受け付けます。正常終了すると、新しい現在行は text の最終行に、テキ . ストを与えなかった場合には削除した単一または複数の行の後の先頭行になります。 アドレス 0 はアドレス 1 と解釈されます。 (.,.)d d ( 削除) コマンドはアドレス指定した行をバッファから削除します。正常終了する と、新しい現在行は削除したテキストの後の先頭行に、削除した単一または複数の行 がバッファの終端であった場合にはファイルの最終行になります。 e file e (エディット)コマンドはバッファの内容全体を削除し、次に指定した file を読み込み ます。正常終了すると、新しい現在行はバッファ内の最終行になります。ファイル名 を与えない場合、記憶しているファイル名があれば、それが使用されます( f コマンド を参照)。読み込んだ文字数が表示され、 file は、これ以降の e, r, または w コマンド でデフォルトファイル名として使用できるように記憶されます。 file 名が ! から始まる場合、残りの行はシェルコマンドとみなされ、その標準出力が 読み込まれます。このようなシェルコマンドは、カレントファイル名として記憶され ません。 この後の「 診断」も参照してください。 E file E (強制的なエディット)コマンドは e と同じですが、最後の w コマンド以降に現在の バッファが変更されていないかを確かめるためのチェックは行われません。 f file file を指定すると、 f (ファイル名)コマンドは、記憶しているファイル名を file に変更 します。そうでなければ、記憶しているファイル名をプリントします。 (1,$)g/RE/command-list g ( グローバル) コマンドはまず、与えられた RE に一致する各行をマークします。次 に、初めに現在行をマークされた行に設定して、その行ごとに与えられた commandlist が実行されます。単一のコマンドあるいはコマンドリストの最初のコマンドは、 グローバルコマンドと同じ行に表示されます。最終行を除いて複数行リストの行はす べて、行末にバックスラッシュ (\) がなければなりません。 a, i, および c コマンドと それに伴う入力は可能です。通常は入力モードを終了させる . が command-list の最終 行にある場合には、これを省略できます。空の command-list は p コマンドと等価で す。 g, G, v, および V コマンドは command-list では使用できません( この後の「 警 告」を参照してください)。 (1,$)G/RE 対話型 G (グローバル)コマンドは、まず与えられた RE に一致する各行をマークしま す。次に、マークされた行ごとに、行の内容がプリントされ、現在行はその行に変更 され、任意の 1つのコマンド( a, c, i, g, G, v, または V) を入力し実行することができま す。そのコマンドの実行後に次のマークした行がプリントされ、というように行われ ます。改行文字はヌルコマンドとして機能し、 & により、現在の G の呼び出し内で 実行した最新コマンドが再実行されます。 G コマンドの実行の一部として入力される Section 1-310 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 ed(1) ed(1) コマンドが、バッファ内の 任意の行をアドレス指定したり、影響を与えることがある ので注意してください。 G コマンドは、割込みシグナル(ASCII DEL またはBREAK) によって終了できます。 h h (ヘルプ)コマンドは、最新の ? 診断の理由を説明する短いエラーメッセージを示し ます。 H H コマンドにより、 ed は、後続するすべての ? 診断に対してエラーメッセージがプ リントされるモードに入ります。また、前に ? があった場合には、それについても説 明します。 H コマンドは、このモードを交互にオン、オフします。初期デフォルトは off です。 (.)i i (挿入)コマンドは、与えられた text をアドレス指定した行の前に挿入します。正常 text 終了すると、現在行は最後に挿入した行か、何も挿入されなかった場合にはアドレス . 指定した行になります。このコマンドは、入力テキストの配置の点においてのみ a コ マンドと異なります。このコマンドについては、アドレス0は不当です。 UNIX 2003 環境 (standards(5) 参照) においては i (挿入) コマンドはアドレス 0 をアド レス 1 と解釈します。 (.,.+1)j j (結合)コマンドは、適切な改行文字を削除することにより隣合う行を結合します。ア ドレスを1つだけ与えても、このコマンドは何も行いません。 (.)kx k (マーク)コマンドは、アドレス指定した行に名前 x でマークを付けます。 x は小文 字英字でなければなりません。次からはアドレス ’x はこの行をアドレス指定しま す。正常終了すると、新しい現在行は以前と変わりません。 (.,.)l l (リスト)コマンドは、アドレス指定した行を標準出力に視覚的に明確な形式で書き出 します。以下の表にある文字は、対応するエスケープシーケンスとして書き出されま す。表にないプリント不可能な文字は、(最上位バイトを最初に)文字のバイトごとに( 前にバックスラッシュ文字を付けて)3桁の8進数として書き出されます。 長い行は、バックスラッシュ文字に続く改行で示された位置で折り返します。各行の 終端には $ のマークが付けられます。 l (エル)コマンドは、 e, E, f, q, Q, r, w, または ! 以外のすべてのコマンドに追加できます。現在の行番号は最後に書き出した行のアド レスに設定されます。 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-311 ed(1) ed(1) エスケープ (.,.)ma ASCII エスケープ シーケンス 意味 名称 シーケンス \\ \a \b \f バックスラッシュ \ \r \t \v 警報 BEL バックスペース BS フォームフィード FF ASCII 意味 復帰 名称 CR 水平タブ HT 垂直タブ VT m (移動)コマンドは、 a でアドレス指定した行の後にアドレス指定した(単一または 複数の)行の再位置決めをします。 a については、アドレス0は正当であり、アドレス 指定した(単一または複数の)行は、ファイルの先頭に移動されます。アドレス a が移 動させられる行の範囲内に収まると、エラーになります。正常終了すると、新しい現 在行は最後に移動した行になります。 (.,.)n n (番号)コマンドは、各行の前にその行番号とタブ文字を付けてアドレス指定した行 をプリントします。正常終了すると、新しい現在行は最後にプリントした行になりま す。 n コマンドは、 e, f, r, または w 以外のすべてのコマンドに追加できます。 (.,.)p p (プリント)コマンドは、アドレス指定した行をプリントします。正常終了すると、 新しい現在行は最後にプリントした行になります。 p コマンドは、 e, E, f, q, Q, r, w, または ! 以外のすべてのコマンドに追加できます。例えば、 dp は現在の行を削除し て新しい現在行をプリントします。 P (プロンプト)コマンドにより、 ed は、後続するすべてのコマンドに対してアスタリ P スク (*) (コマンド行で -p オプションを指定する場合には string )でプロンプトを示し ます。 P コマンドは、このモードを交互にオン、オフします。このモードの初期状態 は、 -p オプションが指定された場合はオンであり、指定されなかった場合はオフで す。現在の行番号は変更されません。 q (終了)コマンドにより、 ed は終了します。ファイルの自動書き込みは行われません q (ただし、この後の「 診断」を参照)。 エディタは、最後の w コマンド以降にバッファ内に変更があるかどうかをチェックせ Q ずに、無条件に終了します。 ($)r file r (読み込み)コマンドは、指定した file をアドレス指定した行の後のバッファに読み込 みます。ファイル名を与えない場合、記憶しているファイル名があれば、これを使用 します( e および f コマンドを参照)。 file が、 ed が呼び出されてから最初に言及され たファイル名でない限り、記憶しているファイル名は変更されません。 r では、アド レス0 は正当であり、 file の内容をバッファの先頭に入れます。読み込みが正常終了 すると、読み込んだ文字数が表示されます。正常終了すると、新しい現在行は最後に バッファに読み込んだ行になります。 file 名が ! から始まる場合、残りの行はシェル コマンドとみなされ、その標準出力が読み込まれます。例えば、 $r !ls は、カレント ディレクトリのファイルのリストをエディット対象のファイルの終端に追加します。 Section 1-312 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 ed(1) ed(1) シェルコマンドはカレントファイル名として記憶されません。 (.,.)s/RE/replacement/flags s (置き換え)コマンドは、それぞれのアドレス指定した行から指定した RE の出現を検 索します。グローバル置換インディケータ g がコマンドの後にある場合、一致のある 行ごとに、すべての( オーバラップしない) 一致した文字列は replacement で置き換え られます。グローバルインディケータがなければ、一致した文字列の最初のものだけ が置き換えられます。番号 n がコマンドの後にある場合、アドレス指定した行ごとに 一致した文字列の n 番目のものだけが置き換えられます。置換えが すべてのアドレス 指定した行に対して異常終了すると、エラーになります。 / の代わりにスペースまた は改行以外の任意の文字を使って RE および replacement を区切ることができます。正 常終了すると、新しい現在行は、最後に置換えが発生した行になります (以下の「 警 告」も参照してください)。 アンパサンド (&) が replacement にある場合、これは、現在行の RE に一致する文字 列で置き換えられます。このコンテクストにおける & の特殊な意味は、この前に \ を 付けることにより打ち消すことができます。 さらに一般的な特徴として、文字 \n (ただし、 n は数字)は、指定した RE の \( と \) で囲まれた n 番目の正規の部分式に一致するテキストで置き換えられます。ネストし た小かっこで囲まれた部分式が存在すると、 n は、左から順に \( の数を数えることで 決まります。 文字 % だけが replacement における文字の場合、最新の置換えコマンドで使用した replacement を、現在の置換えコマンドの replacement として使用します。 % は、複 数の文字を含む置換文字列にあるか、または \ が前に付いているときには、その特殊 な意味を持ちません。 行は、改行文字をこれに置き換えることによって分割できます。 replacement におけ る改行は、その前に \ を付けることによってエスケープしなければなりません。この ような置換えは、 g または v コマンドリストの一部として行うことはできません。 flags の値は、以下の指定のゼロ個以上のものです。 n アドレス指定した行ごとにある RE の n 番目のものだけを置き 換えます。 g アドレス指定した行ごとに、オーバーラップしないすべての RE を置き換えます。 l 置換えが行われた最終行を標準出力に書き出します。行は l コ マンドに指定したフォーマットで書き出されます。 n 置換えが行われた最終行を標準出力に書き出します。行は n コ マンドに指定したフォーマットで書き出されます。 HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-313 ed(1) ed(1) 置換えが行われた最終行を標準出力に書き出します。行は p コ p マンドに指定したフォーマットで書き出されます。 (.,.)ta m コマンドと同じですが、アドレス指定した行のコピーがアドレス a (0も可能)の後 に入れられる点が異なります。正常終了すると、新しい現在行はコピーの最終行にな ります。 u u (取消し)コマンドは、バッファ内の何らかの内容を変更した最新コマンド、つまり 最新の a, c, d, g, i, j, m, r, s, t, v, または V コマンドの効果を無効にします。 g, G, v, ま たは V グローバルコマンドによってバッファに行われた変更はすべて、単一の変更と して「取り消されます」。変更がグローバルコマンド( g/RE/pなど)によって行われな かった場合には、 u コマンドは効果を持ちません。現在の行番号は、コマンドが起動 される直前にその行に付いていた値に設定されます。 (1,$)v/RE/command-list グローバルコマンド g の相補的なコマンドで、最初のステップでマークされる行は、 RE に一致 しない行です。 (1,$)V/RE/ 対話型グローバルコマンド G の相補的なコマンドで、最初のステップでマークされる 行は、 RE に一致 しない行です。 (1,$)w file w (書き込み)コマンドは、アドレス指定した行を指定ファイルに書き込みます。ファ イルが存在しなければ、 umask 設定( umask(1) を参照) が特に指定しない限り、666 モード(すべてのユーザーが読み書き可能)で作成されます。 file が、 ed が呼び出され てから最初に出会うファイル名でない限り、現在記憶しているファイル名は変更され ません。ファイル名を与えない場合、記憶しているファイル名があれば、それが使用 されます( e および f コマンドを参照)。正常終了すると、現在行のアドレスは変わり ません。このコマンドが正常終了すると、書き込まれた文字数が表示されます。 file 名が ! から始まる場合、残りの行はシェルコマンドとみなされ、その標準出力が アドレス指定した行になります。このようなシェルコマンドはカレントファイル名と して記憶されません。 キー文字列は標準入力から要求されます。後続する e, r, および w コマンドは、 X crypt(1) のアルゴリズムを使ってこのキーでテキストの暗号化と解読を行います。明 示的に空のキーにより、暗号化はオフになります。 アドレス指定した行の行番号が表示されます。現在の行アドレスはこのコマンドに ($)= よって変化しません。 !shell-command ! の後の行の残りの部分はシェルに送られ、コマンドとして解釈および実行されま す。このコマンドのテキストの中で、エスケープしていない文字 % は、記憶されて いるファイル名と置き換えられます。シェルコマンドの最初の文字として ! がある と、これは前のシェルコマンドのテキストと置き換えられます。したがって、 !! は最 Section 1-314 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 ed(1) ed(1) 後のシェルコマンドを繰り返します。何らかの展開が行われると、展開された行はエ コーされます。正常終了すると、現在の行アドレスは不変です。 (.+1) newline 行にアドレスのみがある場合、そのアドレス指定した行がプリントされます。改行の みは、 .+1p. と等価です。このテクニックは、バッファ内を順方向に移動するのに便 利です。 割込みシグナル( ASCII DEL または BREAK )が送信されると、 ed は、 ? をプリントし、コマンドレベ ルに戻ります。 次のサイズ制限、つまりグローバルコマンドリスト当たり256文字、ファイル名当たり64文字、および バッファ内の32M 文字が適用されます。行数への制限は、ユーザーメモリの量によって決まります。 各行には1つのワードが必要です。 多言語化対応 UNIX 標準環境に関する情報は standards(5) を参照してください。 環境変数 SHELL により、すべての ! 型のコマンドで使用するコマンド行インタプリタを決定します。この変数がヌル であるか、または設定されていなければ、 POSIX シェル、 /usr/bin/sh, が使用されます(sh-posix(1) を参照)。 TMPDIR は、設定されている場合、一時ファイル用のディレクトリを指定します。これは、デフォルトのディ レクトリ /tmp より優先されます。 LANG は、未設定またはヌルのインターナショナル変数に対するデフォルト値を提供します。 LANG が未設 定またはヌルの場合は、デフォルト値は"C"( lang(5) を参照)です。インターナショナル変数のいずれかの設定 が不適当な場合には、すべてのインターナショナル変数がデフォルトの"C"となります。 environ(5) を参照して ください。 LC_ALL が空でない文字列値に設定されている場合は、 LANG も含めて他のすべてのインターナショナル変 数の値が無効になり、この値が適用されます。 LC_CTYPE は、テキストの解釈方法(シングルバイト文字、マルチバイト文字、またはその両方)、プリント可 能な文字の種別、および正規表現の中の文字クラス表現に一致する文字を決定します。 LC_MESSAGES は、標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセー ジの、フォーマットと内容を制御するために使用すべきロケールを決定します。 NLSPATH は、 LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 ? コマンドエラー。詳細な説明を表示するには、 h または H を使用してください。 HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-315 ed(1) ed(1) ? file アクセス不能なファイル。詳細な説明を表示するには、 h または H を使用してください。 バッファ全体を書き込んだ最後の w コマンド以降にバッファで変更が行われている場合、ユーザーが e または q コマンドでバッファを破壊しようとすると、 ed は警告を発行します。 ed は ? または warning: expecting ‘w’ を表示し、それから通常の編集処理を続行しますが、ユーザーが再度 e または q コマンドを入力すると、 この2回目のコマンドが実行されます。 -s または - コマンド行オプションはこの機能を禁止します。 例 シェルスクリプトによって file_1 で簡単な置換えを行います。任意の行で最初に現れる abc を xyz に変更し、 その変更を加えたファイルを file-2. にセーブします。 cat - << EOF | ed -s file-1 1,$ s/abc/xyz/ w file-2 q EOF コマンドが異常終了すると、エディタは即座に終了します。 警告 ed(1) では、 4096 バイトまでを Maximum Line Length として使用可能です。使用可能な文字数以上の行を作 成しようとすると、 ed(1) は、 Line too long のエラーメッセージを表示します。 ファイルが上記制限値 (4096 文字) より長い行を含む場合、その行は最大の長さに切り詰められます。ファイ ルをセーブすると切り詰めた行を元の行に上書きするため、元の行は書き変えられてしまいます。 ! コマンドは、 g または v コマンドを伴うことはできません。 エディタが制限されたシェルから呼び出されると、 ! コマンドと、 e, r, および w コマンドからの ! エスケー プは使用できません( sh(1) を参照)。 正規表現における \n シーケンスは改行文字と一致しません。 l コマンドにより、 DEL は正しく処理されません。 ヌルキーがある crypt コマンドで直接暗号化したファイルはエディットできません( crypt(1) を参照)。 エディタ入力がコマンドファイルから得られる( つまり、 ed file < ed-cmd-file) 場合、エディタは、コマンド ファイルにおけるコマンドの最初の異常終了時に終了します。 ファイルの読み込み時に ed は、 ASCII NUL 文字と、最後の改行後の文字をすべて廃棄します。このため、正 規表現を使ってファイルの終端付近で NUL 文字またはテキストが入っている文字シーケンスを検索すると、 予期しない動作が発生することがあります。 著者 ed はHPとOSFが開発しました。 Section 1-316 Hewlett-Packard Company − 10 − HP-UX 11i Version 3: February 2007 ed(1) ed(1) ファイル /tmp/e p 一時バッファファイルです。ここで p はプロセス番号です。 ed.hup 端末がハングアップした場合、ここにワークが保存されます。 参照 awk(1), csh(1), crypt(1), ex(1), grep(1), ksh(1), sed(1), sh(1), sh-posix(1), stty(1), vi(1), fspec(4), environ(5), lang(5), regexp(5), standards(5) Text Processing: User’s Guide の ed の項 標準準拠 ed: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 red: SVID2, SVID3, XPG2, XPG3 HP-UX 11i Version 3: February 2007 − 11 − Hewlett-Packard Company Section 1-317 elfdump(1) elfdump(1) 名称 elfdump − オブジェクトファイルに含まれている情報をダンプ 構文 elfdump [-acCdfghHjkLopqrsStuUvV] [-dc] [-dl] [-tx] [-tv] [-D num ] [+D num2 ] [+interp] [+linkmap] [+linkmap_bss] [+linkmap_file] [-n name ] [+objdebug] [+s section ] [-T num ] [+T num2 ] files... 説明 elfdump は 1 つ以上のオブジェクトファイルまたはライブラリを調べ、それらに関する情報をダンプします。 次のオプションが使用できます。 -a アーカイブライブラリからアーカイブヘッダをダンプします。 -c 文字列テーブルをダンプします。 -C (修飾子) C++ シンボル名を変換した後で、それを表示します。この修飾子は -c、 -r、 -s、お よび -t と一緒の場合に有効です。 -H と一緒に指定すると、この修飾子は無視されます。 -n name と一緒に指定すると、元の意味がわかるように変換されたシンボルで、 name と一致し たものだけが表示され、そのシンボル名は変換後の名前として表示されます。 -d コンパイル単位辞書とリンカーフットプリントが収められている .notes セクションを表示し ます。このオプションは elfdump -dc -dl と同じ効果があります。 -dc .notes セクション内のコンパイル単位辞書を表示します。 -dl .notes セクション内のリンカーフットプリントを表示します。リンカーフットプリントには、 そのファイルを生成したリンカーとリンク時刻の情報が記録されています。 -D num (修飾子) num という索引のセクションを表示します。 +D num2 (修飾子) 1から num2 までの範囲内のセクションを表示します。 -D と一緒に使った場合は、 num から num2 までの範囲内のセクションが表示されます。 -h、 -r、 -s と一緒の場合に有効 です。 -r と一緒に使った場合は、範囲内のセクションに該当する再配置部分だけが表示され ます。 -f ファイルヘッダ (ELF ヘッダ) をダンプします。 -g アーカイブからグローバルシンボルをダンプします。 -h セクションヘッダをダンプします。 -H (修飾子) すべてのオプションで出力情報を 16 進数、8進数、または 10 進数の形式でダンプ します。 +interp a.out の実行時インタプリタのパス名を表示します (通常は、ダイナミックローダとマイクロ ローダのパス)。共有バインド実行可能ファイルにだけがこの文字列を持ちます。この設定を 変更するには ld +interp コマンドを使用します。 Section 1-318 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 elfdump(1) -j elfdump(1) ソースファイルが +objdebug オプションを使用してコンパイルされたか、 +tools オプション (PA-RISC のみ) を使用してリンクされた場合に、1つ以上の実行可能ファイルのオブジェク トディクショナリを表示します。オブジェクトディクショナリのエントリーには、特定のセク ションに属するオブジェクトファイルの名前、そのセクション内の相対オフセット、オブジェ クトファイルのサイズ、エントリーの属性が保存されています。 -k -L ディレクトリのメンバー関係に従って、CTTI セクションヘッダを表示します。 共有ライブラリとダイナミックにリンクされたプログラムファイル内の .dynamic セクション をダンプします。 +linkmap .linkmap セクションを表示します。このセクションは、増分リンク (ld +ild コマンドを使用) を行った時、あるいはリンカーオプション +objdebug (デフォルト) を -g (非デフォルト) オプ ションと一緒に使用した時にだけ作成されます。 +linkmap_bss .linkmap_bss セクションを表示します。このセクションは、増分リンク (ld +ild コマンドを使 用) を行った時、あるいはリンカーオプション +objdebug ( デフォルト) を -g (非デフォルト) オプションと一緒に使用した時にだけ作成されます。 +linkmap_file .linkmap_file セクションを表示します。このセクションは、増分リンク (ld +ild コマンドを使 用) を行った時、あるいはリンカーオプション +objdebug (デフォルト) を -g ( 非デフォルト) オプションと一緒に使用した時にだけ作成されます。 -n name ( 修飾子) 指定されたセクションまたはシンボル名に関する情報をダンプします。このオプ ションは、 -h、 -r、 -s、および -t と一緒の場合に有効です。 -t と一緒に使った場合、 name はシンボル名に属し、 elfdump は name と一致した名前を持つシンボルエントリーだけをダン プします。その他のオプションと一緒に使用すると、 name はセクション名に属し、 elfdump はそれに一致した名前を持つセクションだけをダンプします。 -o 任意のヘッダ (プログラムヘッダ) をダンプします。 -p (修飾子) すべてのオプションでタイトルを表示しません。 -q (修飾子) CTTI セクションヘッダを表示しません。 -k オプションと一緒に指定した場合に有 効です。 -r 再配置をダンプします。 -s セクションの内容をダンプします。 +objdebug .objdebug_ で始まるセクションを、文字列テーブルとしてダンプします。 +s name (修飾子) name によって指定されたセクションをダンプします。 -c および -t オプションと一 緒に指定した場合に有効です。 -S (修飾子) 出力情報を短い形式でダンプします。オプション -h および -o と一緒に使う場合に有 効です。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-319 elfdump(1) elfdump(1) シンボルテーブルのエントリーをダンプします。 -t (Itaniumベース システム) -t オプションでダンプされる情報に加えて、シンボルテーブル内の -tx st_shndx の値をダンプします。このオプションは、シンボルテーブル内に保存されたデータ を検証する際に役立ちます。 -T num num という索引をもつシンボルを表示します。 +T num2 (修飾子) 0から num2 の範囲内のシンボルを表示します。 -T と一緒に使用すると、 num から num2 範囲内のシンボルを表示します。 -t と一緒の場合に有効です。 -tv バージョン付きシンボルを表示します。 -u 使用法メニューを表示します。 -U アンワインドテーブルを表示します。 (修飾子) CTTI セクションヘッダを検証した後で表示します。 -k オプションと一緒に指定し -v た場合に有効です。 elfdump のバージョン番号を表示します。 -V 例 共有ライブラリでエクスポートされている関数を調べるには : $ elfdump -s -n .dynsym libsubs.so | grep ’FUNC GLOB’ | grep -v UNDEF 共有ライブラリでエクスポートされているグローバルデータを調べるには : $ elfdump -s -n .dynsym libsubs.so | grep ’OBJT GLOB’ | grep -v UNDEF 文字列テーブルの情報 (.strtab) を表示するには : $ elfdump -c subs.o プログラムまたは共有ライブラリにリンクされている共有ライブラリをリストするには : $ elfdump -L a.out | grep Needed $ chatr a.out # shared library list プログラムがオープンする共有ライブラリの埋め込みパスをリストするには : $ elfdump -L a.out | grep Rpath # or $ elfdump -s -n .dynamic a.out | grep Rpath $ chatr a.out # embedded path 参照 システムツール ld(1) Section 1-320 リンクエディタを起動 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 elfdump(1) elfdump(1) その他 a.out(4) アセンブラ、コンパイラ、およびリンカ出力 elf (3E) 実行可能およびリンクフォーマット テキストおよび指導書 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプションを参照) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 HP-UX Software Transition Toolkit (STK) -- ELF Object Formats http://devrsrc1.external.hp.com/STK_ja/ HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-321 elm(1) elm(1) 名称 elm − スクリーン指向のインタフェースによる電子メール処理 構文 elm [−aKkmtVz] [−f folder] elm [−s subject] address-list elm −c [alias-list] elm −h elm −v 説明 elm はスクリーン指向の電子メール処理システムです。テキスト以外のメールをサポートするために業界で広 く使われている MIME 標準、特別な書式メッセージやリプライ機構、および個人、グループ用の使いやすい別 名システムをサポートします。 elm の主な使用方法は、次の 3つです。 • 対話モード。対話型メールインタフェース プログラムとして実行されます。 (1 番目の構文) • メッセージモード。シェルコマンド行からメールアドレスのリストに一回の対話でメッセージを送信しま す。 (2 番目の構文) • ファイルモード。コマンド行パイプかリダイレクションによって、メールアドレスのリストに対してファ イルまたは コマンドの出力を送信します。 (3 番目の構文) 3つのモードとも、 elm は、ユーザーの elmrc 初期ファイル、ユーザーの elm 別名データベースおよびシステ ムの elm 別名データベースに設定された値を反映します。 これらのモードについての詳細は、下記に (短い説明から長い説明の順に) 説明しています。 オプション 次のオプションを使用できます。 −a arrow=ON を設定します。さまざまなインデックスで現在の項目をマークするとき、 反転表示の代わりに矢印 (−>) を使用します。 arrow 論理変数の設定よりも、このオ プションが優先されます ( ELM の設定の項を参照してください)。 −c 別名検査。ユーザー個人の elm 別名データベースおよび システム elm 別名データ ベースに対して、 alias-list にある別名を検査します。結果は、標準出力に出力されま す。エラーがまず、次の書式で報告されます。 (alias "alias" is unknown) 正しい場合は、メンバー名に置き換えられたグループ別名でヘッダエントリー フォー マットで報告されます。書式は、次のとおりです。 Section 1-322 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 elm(1) elm(1) Expands to: alias-address ( fullname), alias-address ( fullname), ... alias-address ( fullname) fullname がない場合は、" ( fullname)" 部分は省略されます。 −f folder 受信メールボックスでなく、指定した folder ファイルからメールを読み取ります。 フォルダファイルは、メールシステムによって作成されるか elm 自体によって保存さ れるような標準メールファイル フォーマットです。 −h −k ヘルプ。コマンド行オプションに関する説明をリストします。 softkeys=OFF に設定します。ソフトキー (HP 2622 ファンクションキー) を使用不能 にします。 softkeys 論理変数の設定よりも、このオプションが優先されます ( ELM の 設定の項を参照してください)。 −K keypad=OFF と softkeys=OFF に設定します。ソフトキーと矢印カーソルキーを使用 不能にします。使用中のターミナルに HP 2622 ファンクションキー プロトコルが設定 されていない場合は、このオプションが必要になります。 keypad と softkeys 論理変 数の設定よりも、このオプションが優先されます ( ELM の設定の項を参照してくださ い)。 −m menu=OFF に設定します。いくつかの対話モード画面でコマンドメニューを表示しま せん。 menu 論理変数の設定よりも、このオプションが優先されます ( ELM の設定の 項を参照してください)。 −s subject サブジェクト。ファイルモードまたはメッセージモードでメッセージを送る際、件名 を指定するときに使用します。 −t usetite=OFF を設定します。 termcap ti/te と terminfo cup カーソルポジション エント リーを使用しません。 usetite 論理変数の設定よりも、このオプションが優先されます ( ELM の設定の項を参照してください)。 −V 冗長モード送信。送信メッセージを −v オプションを使って、 sendmail メールトラン スポート エージェントに受け渡します (sendmail(1M) を参照)。 −v バージョン。 elm バージョン情報を表示します。このオプションを指定すると、コン パイル時に指定および除外された機能やバージョン番号を表示します。 −z ゼロ。受信メールボックスにメッセージがなければ、 elm を起動しません。 引き数 次の引き数を使用できます。 address-list 空白で区切られた 1つまたは複数のメールアドレスのリスト、個人の elm ユーザー別 名、または、 elm システム別名。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-323 elm(1) elm(1) alias-list 空白で区切られた 1つまたは複数のメールアドレスのリスト、個人の elm ユーザー別 名、または、 elm システム別名。 用語 次の用語が、このマンページで使われています。 空白 空白またはタブキャラクタ。リニア空白ともいわれます。 ボディ メッセージの本文。 message を参照 論理変数 設定変数を参照 設定変数 elm メールシステムにあるデフォルトの動作を定義する論理、英数字、文字列変数。 ELM の設定の 項を参照してください。 elm システム別名テキストファイル elm システム別名データベース用ソースファイル /var/mail/.elm/aliases.text elm ユーザー別名テキストファイル elm ユーザー自身の別名データベース用ソースファイル $HOME/.elm/aliases.text elm ユーザーヘッダ ファイル ユー ザー が す べ て の 送 信 メッ セー ジ に 含 ま れ る 特 別 ヘッ ダ エ ン ト リー を 指 定 す る ファ イ ル $HOME/.elm/elmheaders。 elmrc 設定ファイル elm 設定変数用の初期値を定義するファイル $HOME/.elm/elmrc。 環境変数 elm を呼び出すシェルにあるグローバル変数。 外部からの影響の項を参照。 フォルダ sendmail または elm で作成されたフォーマットのメールメッセージを含むファイル。 フルネーム (full name) ユーザーの姓と名前。別名テキストファイルや /etc/passwd ファイルなどから入手する。 ヘッダ メッセージのヘッダ。 message を参照。 ヘッダエントリー ヘッダフィールドとも呼ばれるメッセージのヘッダ部分にあるエントリー。 受信メールボックス ユーザーがメールを受信するメールボックス。一般には、 /var/mail/loginname メールディレクトリ maildir 文字列変数で定義されるディレクトリ。ユーザーが一般にフォルダにメールメッセージを保 存するディレクトリです。 Section 1-324 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 elm(1) elm(1) メール トランスポート エージェント (MTA) 他のシステムへメールメッセージを送ったり、受け取ったりするプログラム。 HP-UX システムで は、MTA は、 sendmail です (sendmail(1M) を参照)。 7 ビットおよび 8 ビット ASCII キャラクタだけでないメールメッセージを作成したり、表示する方 mailcap 法に関する情報を含んだファイル。 テキスト以外のメールメッセージを処理するシステムプログラム。 metamail メッセージ フォルダ内の、メッセージ区切り記号、ヘッダ、ボディからなる一連のテキスト行。メッセージ区 切り記号は、次の書式にある 1行です。 From sender date ヘッダは、メッセージ区切り記号から始まり、最初の null 行で終わります。 ボディは、その null 行から始まり、次のメッセージ区切り記号で終わります。ボディは、サブセクションを持つことが できます。これらは、 添付 (attachments) あるいは、 ボディパートと呼ばれます。これらも、境界 区切り記号、ヘッダ、ボディから構成されます。このプロセスは、再帰可能です。詳細は、 METAMAIL の設定の項を参照してください。 英数字変数 設定変数を参照。 sendmail 別名データベース ローカルのメールの方向を指定するために、 sendmail MTA で使用される別名データベースファイ ル /etc/mail/aliases。 signature file 一般にユーザー自身の情報を含むファイル。メッセージ送信時に 添付される。ユーザーは、シグニ チャファイルを 2つ持つことができます。1つは、ローカルシステムにメッセージを送る場合、もう 1つは別のシステムにメッセージを送る場合に用いられます。 localsignature と remotesignature 文 字列変数を参照してください。 文字列変数 設定変数を参照。 ユーザー名 一般に、ユーザーがメールを送信する人のログイン名またはメールボックス名。 変数 設定変数および 環境変数を参照。 ファイルモード 標準入力をパイプあるいはファイルへ接続し、 address-list を指定した場合、 elm はファイルモードで動作しま す。 パイプの場合は、その前のコマンドの出力が、ファイルの場合はその内容が、 address-list のメンバーにメール HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-325 elm(1) elm(1) されます。 address-list は、ユーザーの elm 別名データベースとシステムの elm 別名データベースに基づいて 展開され、 To: ヘッダエントリーに配置されます。 −s オプションあるいは、 subject がない場合は、 subject はデフォルトで、次のようになります。 no subject (file transmission) subject の指定値あるいはデフォルト値は、 Subject: ヘッダエントリーに配置されます。 例の項を参照してください。 メッセージモード 標準出力が、ターミナルに接続されており、 address-list が指定されている場合、 elm はメッセージモードで動 作します。 address-list は、ユーザーの elm 別名データベースとシステムの elm 別名データベースに基づいて展開され、 To: ヘッダエントリーに配置されます。 To: ヘッダエントリーは、対話モードのメッセージメニューにある m ( メール) コマンドと同じ書式で表示されます。 subject の値は、null であろうとなかろうと、 Subject: ヘッダエントリーに配置され、 Subject: 行が修正のため に表示されます。 askcc が、ユーザーの elmrc で ON の場合、 コピー (Cc): と入力を求められます。 次に、ユーザーがメッセージを作成できるように、シグニチャファイルが添付されていない場合は、 editor 文 字列変数で定義されたエディタが、また、シグニチャファイルが添付されている場合は、 alteditor 文字列変数 で定義されたエディタが起動されます。 エディタを終了すると、送信メニューに入ります。送信メニューについては、対話型メニューで説明されま す。 送信メニューで、 s (送信) メニューを選択した場合、メッセージが送信され、プログラムが終了します。送信 メニューで、 f (破棄) コマンドを選択した場合、メッセージは、 $HOME/Canceled.mail に保存され、プログ ラムは終了します。別のコマンドを選んだ場合は、適切なアクションが起動されます。 例の項を参照してください。 対話モード 標準出力が、ターミナルに接続されており、 address-list が指定されている場合、 elm は、スクリーン指向の対 話モードで起動します。 ユーザーが、 $HOME/.elm ディレクトリを持っていない場合、あるいは maildir 文字列変数で定義されたメー ルディレクトリを持っていない場合、それらを作成するかどうかを順番に尋ねられます。 はいの場合は、 y と、 いいえの場合は、 n と、 終了する場合は、 q と応えます。 y と n の場合、その応答に従ってディレクト リが作成されたり、されなかったりします。そのあと、プログラムは続行します。 q を選択した場合、プログ ラムは終了します。 Section 1-326 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 elm(1) elm(1) 概要 elm は起動されると、パラメータを初期化するために、(存在するならば) $HOME/.elm/elmrc ファイルからカ スタマイズされた変数を読み込みます。このファイルは、 elm から保存できます。また、メッセージメニュー で o (オプション) コマンドで変数のいくつかを修正することもできます。 elm は、まずメインメニューあるいはメッセージメニューを表示します。これは、受信メールボックスか選択 したメールフォルダにあるメッセージのインデックスエントリーを表示します。他のオプションを使うと、他 の人宛の新規メールメッセージを作成したり、今あるメッセージを読んだり、印刷、返信、転送することがで きます。 また、このメニューから、別名メニューに入ることができます。別名メニューでは、ユーザー個人用の別名を 作成、修正、削除できます。別名メニューから 1つまたは複数の別名を選択し、その関係する人にメッセージ を送信できます。 メッセージ送信時、プレーンテキストと同様にポストスクリプト、イメージ、音声やビデオなど、各種の フォーマットファイルを添付できます。添付ファイルは、送信者と受信者の両方が都合がいいように、別々に 管理されます。 メッセージの送信 メッセージを送るとき、 editor または alteditor 文字列変数で定義したエディタを使用できます。 builtin をエ ディタとする場合、メッセージを作成する際、「ビルトインエディタ」の項で説明するコマンドを使用できま す。 elmheaders ファイルが存在する場合 ( ヘッダファイルの項を参照)、そのファイルにある非空白行はすべて、 すべての送信メールのヘッダにコピーされます。この機能は、 X-Organization:、 X-Phone: などのような特別 な情報をヘッダに追加するときに有用です。 MIME サポート elm は、ヘッダとメッセージに対して MIME プロトコルをサポートします (RFC 1521 および RFC1522)。それ によって、普通の ASCII テキスト以外のものを含むメールを表示したり送信したりできます。例えば、メール の内容には、音声、ビデオ、イメージ、またはそれらが混合したものを含めることができます。 また、MIME サポートにより、8 ビットデータを 7 ビットに変換する MIME エンコーディング (base64 および quoted-printable) を使って、SMTP (RFC821) に準拠します。RFC821 では、メッセージには 7 ビットキャラク タのみ認められています。 elm は、またマルチパート MIME メッセージを表示する機能も持っています。 elm は、メッセージタイプが text/plain でないメッセージを受け取った場合、 metamail を起動します。 metamail は、適切なユーティリ ティ ( 例えば、 ghostview 、 xv 、オーディオエディタ、 mpeg ) を起動し、その content タイプ ( 例えば、 application/postscript、 image、 audio、 video) に従って、別々のメールパートを表示します。 別名 elm は、個人レベルに限った別名とシステム全体に適用する別名をサポートします。ユーザー個人の別名は、 各ユーザーに適用が限られ、システム別名は、それが存在するシステム上のすべてのユーザーに適用されます HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-327 elm(1) elm(1) (newalias(1) を参照)。メッセージメニューから a (別名) コマンドを実行すると、別名メニューに入ります。そ のメニューから、現在のメッセージに対する別名を作成/保存、別の別名を作成/確認、および 1つまたは複数 の別名にメッセージを送信できます。 別名データは、2500バイトが限界です。 2500バイトを超えるグループ別名を作成したい場合、 sendmail シス テム別名ファイル /etc/mail/aliases にその別名を作成してもらうようにシステム管理者に相談してください (sendmail(1M) を参照)。 対話モードメニューとコマンド この項では、対話モードのメインスクリーンであるメッセージメニューから始めます。メニューの残りは、ア ルファベット順で説明します。 メッセージメニュー メッセージインデックスは、メッセージメニューに表示されます。次のコマンドを使って、メッセージを操作 したり送信したりできます。いくつかのメッセージは、ユーザーが応答を行って、そのアクションを完了しま す。これらの操作を取り消すには、 Ctrl-D を使用します コマンド : !command シェルエスケープ。 elm を終了せずに、 shell 文字列変数で定義されたシェルをコマ ンドに送る場合に使用します。 # 現在のメッセージに関する既知の情報をすべて表示します。 $ elm を終了せずに、メッセージを再調整します。すでに削除用としてマークされた メッセージをここで実際に削除するかどうかを決定できます。メッセージが削除され たり、ステータスフラグが変更された場合、メッセージは、メールボックスファイル に書き込まれます。すべてタグは削除されます。 % 現在のメッセージへの返信アドレスを表示します。 * 現在のメッセージのポインタを最後のメッセージに設定します。 + 次のメッセージインデックス ページ (次ページがある場合) を表示します。 − 直前のヘッダインデックス ページ (前ページがある場合) を表示します。 / pattern パターンマッチ。現在のメールボックス インデックスの from および subject で pattern に関する行を検索できます。検索は現在のメッセージから開始され、インデックスの 最初に戻ります。現在のメッセージポインタはパターンが一致した最初のメッセージ に設定されます。大文字と小文字の区別はされません。 // pattern パターンマッチ。現在のフォルダ内のメールのすべての pattern を検索します。検索 は現在のメッセージから開始され、フォルダの 最初に戻ります。現在のメッセージポ インタはパターンが一致した最初のメッセージに設定されます。大文字と小文字の区 別はされません。日本語の検索はサポートされません。 Section 1-328 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 elm(1) elm(1) < カレンダ。メッセージをカレンダエントリーを走査し、calendar ファイルをそれらに 追加します。カレンダエントリーは、最初が空白でないキャラクタで、 −> で始まる 行として定義されます。例えば次のようになります。 −>calendar-entry 区切り記号 −> と次の空白は、エントリーが calendar ファイルに追加される前に削除 されます。残りの空白行は無視されます。 calendar ファイル名は、 elmrc ファイルま たはオプションメニューで定義できます。 = 現在のメッセージポインタを最初のメッセージにセットします。 > フォルダに保存。メッセージメニューの s (保存) コマンドと同じです。 ?key ... キーのヘルプ。 key に関する簡単な説明が表示されます。 ? を押すと、使用できる各 コマンドに関する要約リストが表示されます。ピリオド (.) を押すと、メッセージメ ニューに戻ります。 @ | 現在のスクリーン上にインデックスされたメッセージの要約を表示します。 現在のメッセージまたはタグ付けされたメッセージのセットを、希望する別のフィル ターへパイプします。 shell 文字列変数で定義されたシェルを使用します。 n 現在のメッセージを新たに指定。現在のメッセージポインタを n としてインデックス されるメッセージに変更します。そのメッセージがヘッダの現在のページに存在しな い場合は、該当するページが表示されます。 Return 現在のメッセージの読み取り。スクリーンがクリアされ、 pager 文字列変数で定義さ れるページャーによってメッセージが表示されます。 a b 別名。別名メニューに切り替えます。 メールの再送。このコマンドは、メッセージを編集せず、返信アドレスをユーザー自 身ではなく元の送信者に設定することを除けば、転送コマンドと同様です。 c フォルダの変更。このコマンドは、メッセージメニューでメッセージの表示元のファ イルを変更するため使用します。ファイル名を尋ねるプロンプトが表示されます。 ファイルはメッセージ形式になっている必要があります。そうでない場合、 elm は異 常終了します。シェルを表す通常のワイルドカード、および以下の特殊名を使用でき ます。 ! 受信メールフォルダ。 > receivedmail 文字列変数で定義される、受信済みフォルダ。 < sentmail 文字列変数で定義される、送信済みフォルダ。 . 前に使用したフォルダ。 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-329 elm(1) elm(1) @alias alias 別名に対応するログイン名のためのデフォルトのフォルダ。 = filename maildir 文字列変数で定義されるディレクトリ内のファイル。 メッセージのコピー。現在のメッセージまたはタグ付けされたメッセージのセット C を、フォルダに保存します。ファイル名を尋ねるプロンプトがデフォルト値付きで表 示されます。デフォルト値は、 maildir ディレクトリ内のファイルで、保存するセッ トの最初のメッセージの送信者のユーザー名を持つものです。タグはすべてクリアさ れます。 > および s コマンドとは異なり、メッセージは削除用にマークされず、現在 のメッセージポインタは移動しません。 削除。現在のメッセージを削除用にマークします。 Ctrl-D 、 u、および Ctrl-U も参 d 照してください。 Ctrl-D 削除。 From: および Subject: ヘッダエントリーに特定のパターンを含むすべての メッセージを、削除用にマークします。 d、 u、および Ctrl-U も参照してください。 e 編集。 editor 文字列変数で定義されるエディタを使って、対象となるメールフォルダ を物理的に編集できるようにします。エディタを終了する時点で、 elm はメールフォ ルダを再調整します ($ コマンドを参照)。 f 現在のメッセージの転送。送信メッセージを編集するかどうかを尋ねるプロンプトが 表示されます。 y と応えると、 prefix 文字列変数で定義される文字がメッセージの各 行の先頭に付けられ、 editor 文字列変数で定義されるエディタが起動されて、メッ セージを編集できるようになります。 n と応えると、各行の先頭に文字は付けられ ず、エディタは起動されません。どちらの場合にも、 To: に指定する受信者を尋ねら れ、 Subject: ヘッダエントリーが編集できるようになり、さらに、 askcc 論理変数が ON の場合は、 Cc: に指定する受信者を尋ねられます。 userlevel 数値変数が 1 (中級) または 2 (上級) であり、かつ、このセッション中に前に 送信されたか送信を取り消されているメッセージがある場合は、次のプロンプトが表 示され、代わりに最後に保存したメッセージを使用するかどうか尋ねられます。 Recall last kept message instead? (y/n) y と応えると、前のメッセージが送信バッファに返されます。 n と応えると、現在の メッセージが送信バッファにコピーされ、ユーザーのシグニチャファイル (もしあれ ば) が付加されます。 送信メッセージの編集を選択している場合 ( 上記) は、エディタが起動されます。エ ディタの終了時、またはエディタを起動しなかった場合は、送信メニューが表示され ます。 g グループ応答。 To: にはメッセージの送信者を指定し、 Cc: には元のメッセージの To: および Cc: に指定されていたすべての受信者を指定して、自動的に応答が送信さ れます。それ以外の点は、このコマンドは r コマンドと同様です。 Section 1-330 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 elm(1) elm(1) h メッセージにすべてのヘッダを付けて表示する点を除き、 Return と同じです。 j 下へ移動。現在のメッセージポインタを次のメッセージに移動します。 J 下へ移動。現在のメッセージポインタを削除を取り消された次のメッセージに移動し ます。 k K 上へ移動。現在のメッセージポインタを前のメッセージに移動します。 上へ移動。現在のメッセージポインタを削除を取り消された前のメッセージに移動し ます。 l (エル) 特定の文字列値を含むメッセージだけを表示するよう限定します。 Enter criteria: と いうプロンプトが表示されます。次のどれかを入力して、メッセージを限定するため の基準を設定、追加、またはクリアします。 all すべての基準をクリアし、通常の表示に戻します。 from string From: ヘッダの中に string を含むエントリーだけに限定しま す。 subject string Subject: ヘッダの中に string を含むエントリーだけに限定しま す。 to string To: ヘッダの中に string 文字列を含むエントリーだけに限定し ます。 l コマンドを繰り返して、限定基準を追加していくことができます。 Ctrl-L m スクリーンの再描画。 メール。 1 つ以上のアドレスにメールを送信します。 To: に指定する受信者と Subject: を尋ねられ、さらに、 askcc 論理変数が ON の場合は、 Cc: に指定する受信者を 尋ねられます。 userlevel 数値変数が 1 (中級) または 2 (上級) であり、かつ、このセッション中に前に 送信されたか送信を取り消されているメッセージがある場合は、次のプロンプトが表 示され、代わりに最後に保存したメッセージを使用するかどうか尋ねられます。 Recall last kept message instead? (y/n) y と応えると、前のメッセージが送信バッファに返されます。 n と応えると、ユー ザーのシグニチャファイル (もしあれば) が送信バッファにコピーされます。 次に、 editor 文字列変数で定義されるエディタが起動されます。エディタを終了した 時点で、送信メニューが表示されます。 n 次のメッセージ。現在のメッセージポインタを次のメッセージに進め、 Return コマ ンドと同様にそのメッセージを表示します。 HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-331 elm(1) elm(1) o オプション。オプションメニューを呼び出し、ある種の設定オプションを変更できる ようにします。変更可能なオプションは、 configoptions 文字列変数によって定義され ます。 p プリント。現在のメッセージまたはタグ付けされたメッセージのセットを、 print 文 字列変数で定義されるコマンドを使って表示します。現在のメッセージポインタは移 動しません。タグ付けされたメッセージは、タグ付きのままです。 q 中止。プログラムを正しく終了し、ユーザーが定義した指定形式に応じてメッセージ クリーンアップを実行します。削除用にマークされたメッセージを実際に削除するか どうかを選択できます。受信メールボックスについては、未削除のメールをメール ボックスに残すか、それとも receivedmail 文字列変数で定義される受信メール用の フォルダに移動するかを選択できます。 ask 論理変数が ON の場合は、下記の一連のプロンプトが表示されます。これらの質 問すべてに応えた後で、指定したアクションがすべて実行されます。 Delete messages? (y/n) この質問は、削除用にマークされたメッセージがある場合に表示されます。 デフォルトの応答は、 alwaysdelete 論理変数により決定されます (ON は y ( はい) を意味し、 OFF は n (いいえ) を意味します)。 y と応えると、削除用にマークされたすべてのメッセージが削除されます。 n と応えると、削除用にマークされたすべてのメッセージが、以前の既読、 未読、または新規の状態に戻されます。 Move read messages to "received" folder? (y/n) この質問は、受信メールボックスを読み取り中で、既読のメッセージがある 場合に表示されます。デフォルトの応答は、 alwaysstore 論理変数により決定 されます (ON は y (はい) を意味し、 OFF は n (いいえ) を意味します)。 y と 応 え る と、 既 読 に なっ て い る 削 除 を 取 り 消 さ れ た メッ セー ジ は、 receivedmail 文字列変数で定義されるフォルダに移動され、次の質問も表示さ れます。 n と応えると、削除を取り消されたすべてのメッセージが受信メールボック スに返され、次の質問は表示されません。 Keep unread messages in incoming mailbox? (y/n) 受信メールボックスを読み取り中のとき、 Move read messages... の質問に対 して y と応えた場合 ( または、この質問が表示されなかった場合)、未読の メッセージがあれば、この質問が表示されます。デフォルトの応答は、 alwayskeep 論理変数により決定されます (ON は y (はい) を意味し、 OFF は n (いいえ) を意味します)。 Section 1-332 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) y と応えると、削除を取り消された未読の (新規および古い) メッセージはす べて、受信メールボックスに返されます。 n と応えると、削除を取り消された未読のメッセージはすべて、 receivedmail 文字列変数で定義されるフォルダに移動されます。 ask 論理変数が OFF の場合、これらの質問 (いずれも表示されない) への応答はそれ ぞれ、 alwaysdelete、 alwaysstore、および alwayskeep 論理変数の値が自動的に使用 されます。 Q クイック終了。このコマンドは、 ask 論理変数を OFF に設定した状態で q コマンド を実行する場合と同じです。 r 現在のメッセージの送信者への応答。 autocopy 論理変数が OFF の場合、元のメッ セージをエディットバッファにコピーするかどうか尋ねられます。この論理変数が ON の場合は、メッセージは自動的にコピーされます。メッセージをコピーする場 合、すべてのメッセージの行頭に prefix 文字列変数で定義されるプレフィックスが付 けられます。 To: ヘッダは、メッセージの送信者 ( または Reply-To: ヘッダが設定さ れている場合は、そのヘッダで指定されるアドレス) に設定され、 Subject: は、メッ セージのサブジェクトの前に Re: を付けたものに設定され、編集可能です。 askcc 論 理変数が ON の場合、 Cc: に指定する受信者を尋ねられます。その後、 editor 文字列 変数で定義されるエディタが起動されます。エディタを終了すると、送信メニューが 表示されます。 s フォルダへの保存 (> と同様)。現在のメッセージまたはタグ付けされたメッセージの セットを、フォルダに保存します。ファイル名を尋ねるプロンプトがデフォルト値付 きで表示されます。デフォルト値は、 maildir ディレクトリ内のファイルで、保存す るセットの最初のメッセージの送信者の名前を持つファイルです。タグはすべてクリ アされ、メッセージは削除用にマークされます。現在のメッセージポインタは、最後 に保存されるメッセージの後の最初の削除を取り消されたメッセージに移ります。 t タグのトグル。現在のメッセージを後で操作するためタグ付けし、メッセージポイン タを削除を取り消された次のメッセージに移動します。操作としては、 |、 C、 p、 および s を実行できます。 または、タグ付けされたメッセージからタグを削除します。 Ctrl-T コマンドも参照し てください。 T タグのトグル。現在のメッセージを後で操作するためタグ付けし、メッセージポイン タは移動しません。操作としては、 |、 C、 p、および s を実行できます。 または、タグ付けされたメッセージからタグを削除します。 Ctrl-T コマンドも参照し てください。 HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-333 elm(1) elm(1) 指定したパターンを持つすべてのメッセージにタグを付けます。または、タグ付けさ Ctrl-T れたすべてのメッセージからタグを削除します。 タグの付いたメッセージが 1つでもある場合、タグを削除するかどうかを尋ねるプロ ンプトが表示されます。 y と応えると、古いタグが削除されます。 n と応えると、タ グが残されます。どちらの場合にも、各メッセージの From: または Subject: 行でパ ターンマッチすべき文字列を尋ねるプロンプトが表示されます。この基準を満たすす べてのメッセージがタグ付けされます。ヌル文字列 ( 改行だけ) を入力すると、メッ セージのタグ付けは終了となります。 削除取り消し。現在のメッセージから削除マークを除去します。 d、 Ctrl-D 、および u Ctrl-U も参照してください。 削除取り消し。 From: および Subject: ヘッダエントリーに指定されたパターンを持 Ctrl-U つすべてのメッセージから、削除マークがあればそれを削除します。 d、 Ctrl-D 、お よび u も参照してください。 添付ファイルの表示。現在のメッセージに対して添付ファイル表示メニューを呼び出 v します。 終了。メールボックスを変更せず、プログラムを終了します。削除などの変更がペン x ディング中の場合は、その変更を破棄していいかどうかを尋ねるプロンプトが表示さ れます。 y と応えると、変更は破棄され、プログラムが終了します。 n と応えると、 終了が破棄され、メッセージメニューのコマンドプロンプトに戻ります。 メールボックスを変更せず、即座にプログラムを終了します。ペンディング中の変更 X はすべて破棄されます。 メッセージインデックス 現在のフォルダ内の一連のメッセージは、メッセージメニューでは次の形式に従って 1行に 1つずつインデッ クス付きで表示されます。 sssnum mmm d from (lines) subject 意味は、次のとおりです。 3 文字のステータスフィールド。ステータスについては メッセージステータスの項を参照 sss してください。 Section 1-334 num 通し番号のメッセージインデックス番号。 mmm 最後の Date: ヘッダエントリーまたは From メッセージヘッダから取った月。 d 最後の Date: ヘッダエントリーまたは From メッセージヘッダから取った日。 from 最後の From: ヘッダエントリーまたは From メッセージヘッダから取った送信者名。 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) lines subject メッセージの行数。 最初の Subject: ヘッダエントリーから取ったサブジェクト名を、スクリーンに収まる文字 数に切り捨てたもの。 現在のメッセージインデックス エントリーは、反転ビデオで強調表示されるか、または左マージンに矢印 (−>) が付けられます。「オプション」の項の −a オプションと、 ELM の設定の項の arrow 文字列変数を参照してく ださい。 メッセージステータス 各メッセージインデックス エントリーの最初の 3 文字は、そのメッセージのステータスを表しています。各文 字は、空白または下記の値のどれかになります。値は優先度の高い順に並んでいます。 1つのメッセージに対して、複数のタイプのステータスフラグが設定されている場合は、その中で優先度の最 も高い文字がインデックス行に表示されます。例えば、フォームメッセージ (F) が同時に機密情報 (C) として もマークされている場合は、ステータス文字としては F ではなく C が表示されます。 1 列目 : 可変ステータス D E 削除。メッセージは削除用にマークされています。 期限切れ。 Expires: ヘッダエントリーに指定された日付が、今日の日付より古くなっていま す。 elm では次の日付フォーマットを使用できます。 Mon, 11 Jun 90 (elm がヘッダメニューに表示するフォーマット) Jun 11, 90 11 Jun, 90 9006111324GMT N (ISO X.400 フォーマット : YYMMDDhhmmzzz) 新規。最後の elm セッションの後、または現在のセッション中に受信したメッセージです。こ のメッセージは未読です。 O 古い。最後の elm セッションより前か、そのセッション中に受信したメッセージです。最後の セッションでは N とマークされていましたが、未読です。 空白。メッセージは既読です。 2 列目 : 固定ステータス C 機密情報。 Sensitivity: 3 ヘッダエントリーが指定されたメッセージです。このメッセージは ISO X.400 標準で規定される会社の機密文書と見なされます。送信メールに対してこの値を設 定するには、ヘッダメニューのユーザー定義オプションを使用します。 U P 緊急。 Priority: ヘッダエントリーが指定されたメッセージです。 私信。 Sensitivity: 2" ヘッダエントリーが指定されたメッセージです。このメッセージは ISO X.400 標準で規定される私信と見なされます。送信メールに対してこの値を設定するには、 ヘッダメニューのユーザー定義オプションを使用します。 HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-335 elm(1) elm(1) A F アクション。 Action: ヘッダエントリーが指定されたメッセージです。 フォーム。 elm のフォームメッセージです。このメッセージには、 Content-Type: mailform ヘッダエントリーが指定されています。 M MIME。メッセージまたはその添付ファイルが、 metamail を使って表示できる MIME 形式に なっています。 ? MIME。メッセージまたはその添付ファイルが、サポートされないバージョンの MIME 形式に なっています。 空白。通常のステータス。 3 列目 : タグのステータス + タグ付き。タグ付けされたメッセージは、一部のコマンドではグループとして処理されます。 「メッセージメニュー」の項の t およびその他のコマンドを参照してください。 空白。このメッセージにはタグは使われていません。 ビルトインエディタ builtin ビルトインエディタを使って送信メッセージを作成する場合、エディタは空白の行にテキスト行を入力 するよう要求するプロンプトを表示します。メッセージを終了するにはピリオド (.) を入力してください。続 いて送信メニューが表示されます。 ビルトインエディタ コマンドは、 escape 文字列変数で定義されるエスケープ文字で始まる行です。デフォル トのエスケープ文字は、波形記号 (˜) です。 注記 : リモートログイン プログラムの中には、行頭に波形記号を指定した場合に、波形記号をデフォルトのエ スケープ文字として使用するものがあります。 (波形記号が表示されないので判断できます。) 一般に、波形記 号が伝送されるのは、波形記号の次にプログラムによって認識されない文字を入力した場合、または波形記号 の次に波形記号を入力した場合です。詳細は、プログラムのドキュメンテーションを参照してください。) ビルトインエディタのコマンドは、次のとおりです。 ˜! [command] command で指定するシェルコマンドを実行する (例えば ˜!ls) か、または shell 文 字列変数で定義されるシェルを使って対話形式のシェルを起動します。 ˜< command command で指定するシェルコマンドを実行し、そのコマンドの出力をエディタ バッファに入れます。例えば、"˜< who" は who コマンドの出力をメッセージに 挿入します。 ˜? 簡単なヘルプメニューを表示します。 ˜˜ 行頭を 1つの波形記号 (˜) 文字にします。 ˜b ブラインド カーボンコピー (Bcc:) リストを変更するためのプロンプトを表示し ます。 Section 1-336 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) カーボンコピー (Cc:) リストを変更するためのプロンプトを表示します。 ˜c もし可能なら、 easyeditor 文字列変数で定義されるエディタをメッセージに対 ˜e して起動します。 指定するメッセージのリスト、または現在のメッセージを追加します。このエ ˜f [options] スケープシーケンスでは readmail が使用されるので、 readmail オプションがす べて使用できます (readmail(1) を参照)。 使用できるヘッダ (To:、 Cc:、 Bcc:、および Subject:) をすべて変更するための ˜h プロンプトを表示します。 ˜f と同様ですが、各行の先頭に現在のプレフィックスが付けられます。 prefix ˜m [options] 文字列変数を参照してください。 ˜o メッセージに対して使用するエディタ名を尋ねるプロンプトを表示します。 ˜p その時点までにタイプされたメッセージを表示します。 ˜r filename 指定するファイルの内容を取り込み (読み込み) ます。 ˜s Subject: 行を変更するためのプロンプトを表示します。 ˜t To: リストを変更するためのプロンプトを表示します。 もし可能なら、 visualeditor 文字列変数で定義されるエディタをメッセージに対 ˜v して起動します。 別名メニュー 別名メニューは、メッセージメニューの a コマンドを使って呼び出します。別名ファイルのソーステキスト は、ファイル $HOME/.elm/aliases.text に保存されています。このファイルは直接編集することもできますし、 以下のコマンドを使って操作することもできます。 ユーザーのデータベースおよびシステムデータベースに現在登録されている別名が、メッセージメニューに似 たインデックス付きのリストで表示されます。エントリーの形式は、 別名インデックスの項を参照してくださ い。インデックスは、 aliassortby 文字列変数で定義される順序に従ってソートされています。 コマンドは、次のとおりです。 $ newalias を実行して別名テキストファイルから別名データベースを再構築することに より、テキストファイルとデータベースを再調整します。削除用にマークされた別名 は削除され、タグ付きの別名はタグが外され、新規および変更された別名が認識され ます。これらの変更を反映して、別名スクリーンが更新されます。 + 次の別名インデックスページ (もしあれば) を表示します。 − 前の別名インデックスページ (もしあれば) を表示します。 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-337 elm(1) elm(1) / pattern パターンマッチ。別名リストの別名およびユーザー名フィールドで、 pattern を検索 します。検索は現在の別名から始まり、折り返して別名リストの最初に戻ります。別 名ポインタは、パターンが一致した最初の別名に設定されます。大文字と小文字の区 別はされません。 // pattern パターンマッチ。別名リストのすべてのフィールド (別名、ユーザー名、コメント、 およびアドレス) で、 pattern を検索します。検索は現在の別名から始まり、折り返し て別名リストの最初に戻ります。別名ポインタは、パターンが一致した最初の別名に 設定されます。大文字と小文字の区別はされません。 / pattern パターンマッチ。この コマンドでは、別名リストで現在の別名から末尾まで、すべての別名およびユーザー 名のエントリーを対象に検索することができます。パターンの最初の文字が / であれ ば、コメントおよび完全に展開されたアドレスフィールドも検索の対象となります。 この検索では、大文字と小文字の区別があります。別名の数が多い場合、特定の別名 を検索するのに役立ちます。 ?key ... キーのヘルプ。 key に関する簡単な説明が表示されます。 ? を押すと、使用できる各 コマンドに関する要約リストが表示されます。ピリオド (.) を押すと、別名メニュー に戻ります。 現在のメッセージの別名。このコマンドにより、現在のメッセージの返信アドレスを a アドレスフィールドとして持つ別名が作成できます。表示されるプロンプトに対し て、ユニークな別名を入力したり、コメントおよびアドレスフィールドを編集するこ とできます。 現在のユーザー別名の変更。新しい値を尋ねるプロンプトでは、古い別名フィールド c の値がデフォルトとして使用されます。別名を変更することはできません。別名が複 数別名レコードの 1つであれば、その別名はそのレコードから削除され、独立したレ コードとして保存されるようになります。古い別名には、 N というマークが付きま す。別名の変更は、次の別名の再調整以降有効になります。 現在のユーザー別名を削除用にマーク。実際の削除は、 q、 r、または i コマンドを d 使って別名メニューを終了するか、または $ コマンドを使って別名データベースを再 調整する時点で行われます。 ( この方法でシステム別名を削除することはできませ ん。) Ctrl-D 指定した検索パターンを持つユーザー別名を削除します。 e editor 文字列変数で定義されるエディタを使って、ユーザーの aliases.text ファイルを 編集します。編集を終了する時点で、別名が再調整されます ($ コマンドを参照)。 f 完全に展開された別名の表示。現在選択されている別名が完全に展開され、表示され ます。 Section 1-338 Hewlett-Packard Company − 17 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) i、I 別名メニューの q および Q コマンドを参照してください。 j 下へ移動。現在の別名ポインタを次の別名に移動します。 J 下へ移動。現在の別名ポインタを削除を取り消された次の別名に移動します。 k 上へ移動。現在の別名ポインタを前の別名に移動します。 K 上へ移動。現在の別名ポインタを削除を取り消された前の別名に移動します。 l (エル) 特定のタイプの別名または特定の文字列値を含む別名だけを表示するよう限定しま す。 Enter criteria: というプロンプトが表示されます。次のどれかを入力して、メッ セージを限定するための基準を設定、追加、またはクリアします。 all すべての基準をクリアし、通常の表示に戻します。 alias string string を含む別名だけに限定します。 name string string を含むフルネーム (姓および名) だけに限定します。 グループ別名だけに限定します ( システムおよびユーザー別名 group を含んでいても可)。 個人用別名だけに限定します ( システムおよびユーザー別名を person 含んでいても可)。 システム別名だけに限定します (グループおよび個人用別名を system 含んでいても可)。 ユーザー別名だけに限定します ( グループおよび個人用別名を user 含んでいても可)。 l コマンドを繰り返して、限定基準を追加していくことができます。 Ctrl-L m スクリーンの再描画。 現在の別名またはタグ付けされた別名のセットに、メールを送信します。対応する展 開済みアドレスが To: ヘッダエントリーに書き込まれ、メッセージメニューの m ( メール) コマンドと同様に処理されます。タグはクリアされます。 n ユーザー別名の作成。 elm はユニークな別名の入力を要求するプロンプト、次いでア ドレスの入力を要求するプロンプトを出します。ここで提供した情報は、ユーザー個 人の alias_text ファイル ($HOME/.elm/aliases.text) に追加され、その後データベースに 追加されます。 q 中止。メッセージメニューに戻ります。別名が削除用にマークされている場合、削除 するかどうかを尋ねるプロンプトが表示されます。別名インデックスポインタは変更 されません。別名テキストファイルが変更された場合は、データベースが再調整され ます。 HP-UX 11i Version 3: February 2007 − 18 − Hewlett-Packard Company Section 1-339 elm(1) elm(1) 中止。メッセージメニューに戻ります。別名が削除用にマークされている場合、その Q マークは変更されず、別名は削除されません。別名インデンクスポインタは変更され ません。別名テキストファイルが変更された場合は、データベースが再調整されま す。 r、R 別名メニューの q および Q コマンドを参照してください。 現在の別名を後で操作するためタグ付けし、別名ポインタを削除を取り消された次の t メッセージに移動します。操作としては、 c、 m、または n を実行できます。 または、タグ付けされた別名からタグを削除します。 Ctrl-T コマンドも参照してくだ さい。 タグ。現在の別名を後で操作するためタグ付けし、別名ポインタは変更しません。操 T 作としては、 c、 m、または n を実行できます。 または、タグ付けされた別名からタグを削除します。 Ctrl-T コマンドも参照してくだ さい。 Ctrl-T 指定するパターンを含むすべての別名を、後で操作できるようタグ付けします。操作 としては、 c、 m、または n を実行できます。または、タグ付きけされたすべての別 名からタグを削除します。 現在タグの付いた別名が 1つでもあれば、タグを削除するかどうかを尋ねるプロンプ トが表示されます。 y と応えると古いタグが削除されます。 n と応えるとタグが残さ れます。いずれの場合にも、別名、または各別名のユーザー名フィールドでパターン マッチすべき文字列を尋ねるプロンプトが表示されます。この基準を満たすすべての 別名がタグ付けされます。ヌル文字列 (改行だけ) を入力すると、別名のタグ付けは終 了となります。 削除取り消し。現在の別名から削除マークを除去します。 d、 Ctrl-D 、および Ctrl- u U も参照してください。 Ctrl-U 削除取り消し。 From: および Subject: ヘッダエントリーに指定されたパターンを含 むすべてのメッセージから、削除マークがあればそれを除去します。 d、 Ctrl-D 、お よび u も参照してください。 表示。現在の別名の address-list を表示します。 v 削除を処理せずに、別名メニューを終了します。削除用にマークされた別名について x は、そのマークが除去され、別名の追加が行われていても newalias は実行されませ ん。 別名インデックス 現在のデータベース内の一連の別名は、別名メニューでは 1 行に 1 つずつ、インデックス付きで表示されま す。データベース値の定義は、 newalias(1) で行います。 Section 1-340 Hewlett-Packard Company − 19 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) ssnum fullname[, comment] type [(S)] alias 意味は、次のとおりです。 2 文字のステータスフィールド。 1 文字目は次のどれかです。 ss D N 削除。この別名は削除のためマークされています。 新規。この別名は新規の別名か、または別名テキストファイルで変更されているけ れどもまだ現在のデータベースに取り込まれていない別名です。再調整が必要で す。 空白。この別名は現在のデータベースに存在します。 2 文字目は次のどれかです。 + タグ。この別名はタグ付きです。 空白。この別名にはタグはありません。 num 別名のインデックス番号。 fullname 別名の展開済みアドレスで使用される、フルネーム。形式は、次のとおりです。 firstname lastname firstname 別名データベースに登録されている姓。 lastname 別名データベースに登録されている名。 comment 別名データベースに登録されているコメント。 type 別名のタイプ。 1つのアドレスを持つ別名の場合は Person、複数のアドレスを持つ別名の 場合は Group です。 (S) これが表示される場合、このエントリーは elm システム別名データベースからのもので す。これが表示されない場合、このエントリーは個人用別名データベースからのもので す。 alias 別名。このレコードに複数の別名がある場合、1つの名前ごとに 1つのインデックスエント リーがあります。 添付ファイル設定メニュー 添付ファイル設定メニューは、添付ファイル送信メニューの a (追加) または m (変更) コマンドを使って呼び 出します。このメニューでは、添付ファイルのデフォルトおよび現在の設定が表示されます。このメニューを a コマンドで呼び出した場合、ファイル名を尋ねるプロンプトが自動的に表示されます。コマンドは、次のと おりです。 d 説明。この値は、 Content-Description: ボディパート ヘッダエントリーに書き込まれます。デ フォルトはファイル名です。 HP-UX 11i Version 3: February 2007 − 20 − Hewlett-Packard Company Section 1-341 elm(1) elm(1) e Content-Transfer-Encoding。各種のメール トランスポート エージェントを通じてファイルを送 受信できるようにするための、ファイルのコード化方式です。次の値を選択できます。 7bit エンコーディングされない、通常の US-ASCII テキスト。 8bit エンコーディングされない、上位ビットがセットされた 8 ビット文字。 quoted-printable 上位ビット文字が =hh (ここで hh はその文字の 16 進表記) に変換された、制御文 字付きのテキスト。行末の = は、ソース行が 2行に分割されたことを表します。 ビットが 6 ビットのグループにエンコーディングされ、 US-ASCII 文字 A−Z 、 base64 a−z、 0−9、 +、および / の数値順にレンダリングされる、任意のファイルタイプ。 最後の行は、4 文字の倍数になるよう = 文字でパディングされる場合があります。 エンコーディングされない 2 進データ。 binary 選択した値は、 Content-Transfer-Encoding: ボディパート ヘッダエントリーに書き込まれま す。デフォルトは 7bit です。 f ファ イ ル 名。 添 付 す る ファ イ ル の 名 前。 elm は こ の ファ イ ル を 調 べ、 そ れ に 応 じ て Content-Transfer-Encoding、Content-Disposition、および Content-Type の値を設定します。 p Content-Disposition。この値は、 Content-Disposition: ボディパート ヘッダエントリーに書き込 まれます。デフォルトは attachment; filename= filename です。 t Content-Type 。ファイルのタイプおよびサポーティングパラメータ。形式は、次のとおりで す。 type/subtype [; parameter]... type は、RFC 1521 に規定されるとおり、 application、 audio、 image、 message、 text、また は video のいずれかとすることができます。 multipart も有効なタイプですが、ユーザーがこ れを直接指定することはできず、 elm は必要に応じてこのタイプを提供し、このタイプのファ イルを含むメッセージを処理します。指定した値は、 Content-Type: ボディパート ヘッダエン トリーに書き込まれます。デフォルトは、次の形式ですです。 text/plain; charset=US-ASCII よく使われるエントリーを以下に説明します。詳細は、 METAMAIL の設定の項を参照してく ださい。 text/subtype [; charset=charset] 埋め込まれたテキスト文字を使ってフォーマットされる、比較的読みやすいテキスト であり、サブタイプは richtext または html です。デフォルトの subtype は、(どんな方 法でもアンフォーマットできる) plain です。デフォルトの charset は US-ASCII です。 Section 1-342 Hewlett-Packard Company − 21 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) application/octet-stream プログラムバイナリ、制御文字または上位ビットがセットされた文字を含むファイル などの、汎用的なタイプです。 application/postscript PostScript 対応のプリンタまたはビューアで表示できるファイルです。 message/rfc822 「用語」の項で説明されているメッセージ形式のファイルです。 image/jpeg, image/gif 表示用プログラムを必要とするピクチャ形式です。 audio/basic 再生用プログラムを必要とするオーディオ形式です。 video/mpeg 再生用プログラムを必要とするオーディオ / ビデオ形式です。 添付ファイル送信メニュー 添付ファイル送信メニューは、送信メニューの a コマンドを使って呼び出します。このメニューでは、メッ セージとともに送信される添付ファイルが、「添付ファイルインデックス」の項で説明した形式の 1行に 1つ ずつのリストで表示されます。 コマンドは、次のとおりです。 a 添付ファイルの追加。添付ファイル設定メニューを呼び出し、ファイル名を尋ねるプ ロンプトを表示します。 d e 添付ファイルの削除。 添付ファイルの編集。添付ファイルが編集可能な場合、それに関連付けられたエディ タを呼び出します。 j 現在の添付ファイルポインタを次の添付ファイルに移動します。 k 現在の添付ファイルポインタを前の添付ファイルに移動します。 Ctrl-L スクリーンの再描画。 m 添付ファイルの属性の変更。添付ファイル設定メニューを呼び出します。 p 添付ファイルの表示。メッセージメニューの p (プリント) コマンドを参照してくださ い。 q s 中止。送信メニューに戻ります。 添付ファイルの保存。メッセージメニューの C ( コピー) コマンドを参照してくださ い。 HP-UX 11i Version 3: February 2007 − 22 − Hewlett-Packard Company Section 1-343 elm(1) elm(1) 添付ファイル表示メニュー 添付ファイル表示メニューは、送信メニューの v コマンドを使って呼び出します。このメニューでは、フォル ダメッセージ内の添付ファイルが、「添付ファイルインデックス」の項で説明した形式の 1行に 1つずつのリ ストで表示されます。 コマンドは、次のとおりです。 Return 現在の添付ファイルを表示します。 j 現在の添付ファイルポインタを次の添付ファイルに移動します。 k 現在の添付ファイルポインタを前の添付ファイルに移動します。 Ctrl-L スクリーンの再描画。 添付ファイルの表示。メッセージメニューの p (プリント) コマンドを参照してくださ p い。 中止。前の添付ファイルレベルまたはメッセージメニューに戻ります。 q 添付ファイルの保存。メッセージメニューの s (保存) コマンドと同様、添付ファイル s を受信した形式で保存します。 サブ添付ファイルリスト (もしあれば) を表示します。 v 添付ファイルインデックス 添付ファイル送信メニューおよび添付ファイル表示メニューでは、一連の添付ファイルは次の形式でリストさ れます。 num filename (size) format [encoding] 意味は、次のとおりです。 num 添付ファイルのインデックス番号。 filename 添付ファイルの名前。 size 添付ファイルのサイズ (MB)。ファイルまたはメッセージから計算されます。 type/subtype 添付ファイルのタイプまたはサブタイプ。この値は、 Content-Type: ヘッダに書き込 まれています。 encoding エンコーディングタイプ。この値は、 Content-Transfer-Encoding: ヘッダに書き込ま れています。 ヘッダメニュー ヘッダメニューは、送信メニューの h コマンドを使って呼び出します。このメニューを使って、メッセージの 一般的なヘッダエントリーを追加、変更、および削除できます。一般に、空欄となっているヘッダは、メッ セージには含まれません。 Section 1-344 Hewlett-Packard Company − 23 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) コマンドは、次のとおりです。 Return 送信メニューに戻ります。 !command シェル。 shell 文字列変数で定義されるシェルを使って、 command を実行します。 a Action: ヘッダ。任意の文字列を入力してください。受信したメッセージにこのエン トリーがあれば、 elm はメッセージインデックスの固定ステータスを表す列に A と 表示します。 b Bcc: ヘッダ。別名および実アドレスのリストを入力してください。別名は展開され、 アドレスおよびユーザー名として表示されます。 c Cc: ヘッダ。別名および実アドレスのリストを入力してください。別名は展開され、 アドレスおよびユーザー名として表示されます。 d ドメイン化。非インターネットアドレスをインターネット形式に変換します。 UUCP の ! 形式 (host.domain!user) が、インターネットの @ 形式 ([email protected]) になり ます。 .domain が省略されている場合は、デフォルトとして .uucp が使用されます。 e Expires: ヘッダ。 1 ∼ 56 (8 週間) の範囲の任意の数値を入力してください。受信した メッセージの中にこのエントリーがある場合、指定された日数が経つと、 elm はメッ セージインデックスの可変ステータスを表す列に E と表示します。 i n In-Reply-To: ヘッダ。文字列を入力してください。 Precedence: ヘッダ。優先度の名前を入力してください。 precedences 文字列変数がヌ ル以外に設定されている場合、この名前は、この変数により定義されている名前でな ければなりません。この名前が優先順位と関連付けられており、かつ Priority: ヘッダ がヌルの場合は、 Priority: ヘッダに優先順位値が挿入されます。 precedences がヌ ル、または設定されていない場合には、任意の値を入力できます。 優先度名が sendmail 設定ファイル /etc/mail/sendmail.cf で定義されている名前の 1つ と一致すれば、それに応じて送信優先順位が変更されます。一致しない場合は、優先 順位は変更されません。 p Priority: ヘッダ。文字列を入力してください。受信したメッセージの中にこのエント リーがある場合、 elm はメッセージインデックスの固定ステータスを表す列に U と 表示します。 r Reply-To: ヘッダ。個人用別名または 1つのアドレスを入力してください。このエント リーがある場合、 elm およびその他のメーラは、返信用のアドレスを選択するとき ( メッセージメニューの r (応答) コマンド)、 From: ヘッダの代わりにこのヘッダを使 用します。 s Subject: ヘッダ。文字列を入力してください。 HP-UX 11i Version 3: February 2007 − 24 − Hewlett-Packard Company Section 1-345 elm(1) elm(1) To: ヘッダ。別名および実アドレスのリストを入力してください。別名は展開され、 t アドレスおよびユーザー名として表示されます。 ユーザー定義のヘッダ。ユーザー独自のヘッダエントリーを次の形式で定義してくだ u さい。 header-name: header-string header-name: には、空白を含めてはいけません。このコマンドを使って、「メッセー ジステータス」の項で説明した Sensitivity: ヘッダエントリーを作成したり、他のヘッ ダを作成することもできますが、作成できるヘッダは 1 つだけです。ユーザー定義 ヘッダエントリーを含めるためのもう 1つの方法については、 ヘッダファイルの項を 参照してください。 オプションメニュー オプションメニューは、メッセージメニューの o コマンドを使って呼び出します。このメニューは、 configoptions 文字列変数 (elm の実行中に変更可能) で定義されるオプションのリストを表示します。該当する文字 (大 文字または小文字) と、その後に右括弧 ()) を入力したら、スクリーンに表示される指示に従ってください。以 下に、すべてのオプションプロンプトと対応する変数をリストします。 * というマークが付いているのは、デ フォルトのオプションです。 A)rrow cursor Section 1-346 arrow 文字列変数。 * B)order on copy prefix 文字列変数。 C)alendar file calendar 文字列変数。 * D)isplay mail using pager 文字列変数。 * E)ditor (primary) editor 文字列変数。 * F)older directory maildir 文字列変数。 * H)old sent message copy 論理変数。 J) reply editor alteditor 文字列変数。 K) pause after pager promptafter 論理変数。 A(l)ias Sorting aliassortby 文字列変数。 M)enu display menu 論理変数。 * N)ames only names 論理変数。 * O)utbound mail saved sentmail 文字列変数。 * P)rint mail using print 文字列変数。 * R)eply copies msg autocopy 論理変数。 S)orting criteria sortby 文字列変数。 * T)ext editor (˜e) easyeditor 文字列変数。 U)ser level userlevel 数値変数。 * V)isual Editor (˜v) visualeditor 文字列変数。 * W)ant Cc: prompt askcc 論理変数。 Hewlett-Packard Company − 25 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) Y)our full name fullname 文字列変数。 * Z) signature dashes sigdashes 論理変数。 注記 : このメニューでは、定義されたセットの中の最初の screen-height−6 行だけが表示されます。 screenheight は、スクリーン上のテキストの行数です。表示されないオプションは、変更できません。 オプションの変更が終わったら、以下のどれか 1つの値を入力してください。 > 現在の設定値を設定ファイル $HOME/.elm/elmrc に保存します。このファイルが存在しない場 合は、ファイルが作成されます。これは、オプションメニューと同様、ユーザーが直接編集で きる設定ファイルを作成するための便利な方法です。 i、I メッセージメニューに戻ります。 q、Q メッセージメニューに戻ります。 x、X メールボックスを変更せず、即座に elm を終了します。ペンディング中の変更はすべて破棄さ れます。 送信メニュー 送信メニューは、メッセージメニューの f、 g、 m、または r コマンド、あるいは別名メニューの m コマンド の後、メッセージを送信する準備が整ったとき呼び出されます。 コマンドは、次のとおりです。 !command シェル。シェルコマンドを実行します。メッセージメニューの ! (シェル) コマンドを 参照してください。 a c 添付ファイル。添付ファイル送信メニューを呼び出します。 コピー。ファイルにコピーします。メッセージメニューの C (コピー) コマンドを参照 してください。 e 編集。メッセージを改訂するため、 alteditor 文字列変数で定義されるエディタを起動 します。 f 取り消し。メッセージを送信しません。ユーザーレベル 1 および 2 では、後でメッ セージメニューの f、 g、 m、または r コマンド、あるいは別名メニューの m コマン ドを実行する時点で、メッセージが送信バッファに返却される場合があります。 h m ヘッダエントリーの編集。ヘッダメニューを呼び出します。 フォームの作成。メッセージをフォームメッセージの形式に変換します。 フォーム メッセージの項を参照してください。このコマンドは、 forms 論理変数が ON であ り、かつ userlevel 数値変数が 1 または 2 である場合にだけ、使用可能です。 s 送信。メッセージを送信します。 HP-UX 11i Version 3: February 2007 − 26 − Hewlett-Packard Company Section 1-347 elm(1) elm(1) フォームメッセージ elm に固有の機能で、フォームメッセージを作成したりフォームメッセージに応答することができます。 フォームメッセージの作成 • • ユーザーの elmrc ファイルで、 forms=ON と設定します。 ユーザーの userlevel 数値変数を 1 (中級) または 2 (上級) に設定します。この設定は、ユーザーの elmrc ファイル、またはデフォルトのオプションメニューで行うことができます。 • メッセージを作成する際、受信側で記入すべきフィールドは、コロン (:) の後に記入可能な分のスペース または改行を続けて、各フィールドの幅を示します。 また、1行にコロンだけを入れておくと、受信側では複数行の入力を要求されることになります。コロン の前に空白を入れてはいけません。 コロンの入った行はすべて、受信側に入力を要求する行となります。応答プロセス中、(各行で最後のコ ロンの後) 最初の非空白文字で始まるテキストはすべて削除され、その行が応答フィールドとして評価さ れます。 • メッセージの作成が完了したら、送信メニューの m (フォームの作成) コマンドを入力して、フォームと いう特殊な形式を設定します。次に、送信メニューの s (送信) コマンドを入力して、メッセージを送信 します。 以下に、簡単なフォームメッセージの例を示します。 On-Line Phone and Address Database Please fill out and return as soon as possible. Name: Manager: Department: Division: Your home address: Home phone number: Thank you for your cooperation. フォームメッセージへの応答 フォームメッセージを受信した場合、メッセージインデックス エントリーには F というステータス文字が表示 されています。このメッセージは通常どおり Return または h コマンドを使って表示できます。 応答するには、メッセージメニューの r ( 応答) コマンドを使用します ( メッセージメニューの g ( グループ応 答) コマンドは使用できません)。 elm は、各フィールドに入力するよう要求するプロンプトを表示し、フィー ルドとフィールドの間にテキストがあれば、それも表示します。上の例を 1行ずつ順に示します。ユーザーの 入力はイタリック体です。 On-Line Phone and Address Database Please fill out and return as soon as possible. Name:my name Section 1-348 Hewlett-Packard Company − 27 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) Manager:my manager Department:my department Division:my division Your home address:home address Home phone number: phone number Thank you for your cooperation. 受信したメッセージは、次のように表示されます。 On-Line Phone and Address Database Please fill out and return as soon as possible. Name: my name Manager: my manager Department: my department Division: my division Your home address: home address Home phone number: phone number Thank you for your cooperation. ヘッダファイル $HOME/.elm/elmheaders ファイルでは、 X-Organization:、 X-Phone:、など、特殊な情報を表すヘッダを指定 するための手段が提供されています。このファイルに指定した非空白行が、すべての送信メールのヘッダに付 加されます。 elmheaders ファイルのエントリーは、次の形式になっていなければなりません。 header-name: header-string header-name: には、空白を入れてはいけません。 header-string は、下記の出力のように、各継続行の先頭を空 白にすることにより、何行かに続けることができます。 elmheaders ファイルでは、ファイルを読み込むときにシェルコマンドを実行するために、バッククォート (左 アポストロフィ) を使用できます。したがって次の形式のエントリーは、 X-Operating-System: ‘uname −a‘ 次のようなヘッダエントリーを生成します。 X-Operating-System: HP-UX hpulpc17 B.10.10 A 9000/710 2012505939 two-user license RFC 822 に準拠して、ユーザー定義ヘッダ名は X- または x- で始まる必要があります。そうしないと、後の段 階で同じ名前が他の意味に標準化された場合、ヘッダとしての使用が無効になる危険性があります。 HP-UX 11i Version 3: February 2007 − 28 − Hewlett-Packard Company Section 1-349 elm(1) elm(1) 定義済みのヘッダ 以下のヘッダ名は、RFC 822 および RFC 1521 でメッセージヘッダとして定義されています。 Bc c : (822 ) Cc : Commen t s : (822 ) Con t en t -De s c r i p t i on : (1521 ) (822 ) (1521 ) Con t en t - ID: (1521 ) Con t en t -Tr ans f e r -Encod i ng : Con t en t -Type : (1521 ) Da t e : Enc ryp t ed : (822 ) Fr om: (822 ) In-Rep l y-To : (822 ) Keywo r ds : (822 ) MIME-Ve r s i on : (822 ) (822 ) (1521 ) Me s sage - ID: Re c e ived : (822 ) Re f e r enc es : (822 ) Rep l y-To : (822 ) Re s en t -Bc c : (822 ) Re s en t -Cc : (822 ) Re s en t -Da t e : (822 ) Re s en t -Fr om: (822 ) Re s en t -Me s sage - ID: (822 ) Re s en t -Rep l y-To : (822 ) Re s en t -Sende r : (822 ) Re s en t -To : (822 ) Re t urn-Pa t h : (822 ) Sende r : (822 ) Sub j ec t : (822 ) To : (822 ) X- use r -defined : (822 ) その他によく使われるヘッダ Ac t i on : Appa r en t l y-To : Con t en t -Di spo s i t i on : Con t en t -Leng t h : Exp i r es : Ma i l e r : News group s : Pr ecedenc e : Pr i or i t y : Sen s i t iv i t y : St a t us : X-Ma i l e r : ELM の設定 elm は、 $HOME/.elm/elmrc 設定ファイルを通じて、ユーザーによる設定をサポートしています。設定ファイ ルを作成するには、オプションメニューの > コマンドを使用します。このファイルでは、以下に説明する文字 列変数、数値変数、および論理変数をどのように組み合わせて指定してもかまいません。 文字列変数 文字列変数の形式は、次のとおりです。 string-name = string-value 以下の文字列変数が定義されています。 aliassortby Section 1-350 別名メニューの別名インデックスのソート順序。次の値を指定できます。 alias 別名でソート。 name 別名のフルネームでソート (姓が先)。 Hewlett-Packard Company − 29 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) text 別名テキストファイルでの別名の順序でソート。 この値に reverse- というプレフィックスを付けると、ソート順序が逆にな ります。デフォルトは name です。 alteditor editor 文字列変数が none または builtin に設定されている場合に、イニ シャルテキスト ( 返信メッセージ中のコピーされたメッセージ、送信メッ セージ中のシグニチャなど) を含むメッセージに対して使用するエディタ の名前。デフォルトは、 EDITOR 環境変数がヌルでなければその値、ヌ ルの場合は /usr/bin/vi となります。 editor 文字列変数も参照してくださ い。 alternatives ユーザーが転送メールを受け取る、他のマシンおよびユーザー名の組み合 わせリスト。 elm はグループ応答を処理するときこの情報を利用して、応 答メッセージを転送して戻すだけのユーザーもしくはマシンアドレスに対 して応答メッセージを送信しないようにします。デフォルトはありませ ん。 attribution 応答用属性文字列。メッセージに応答し、その応答の中に元のメッセージ を含めるとき、この文字列がメッセージの先頭に書き込まれます。文字 %s は、元のメッセージの送信者のフルネームに置き換えられます。デ フォルトはありません。例 : attribution = %s wrote: calendar カレンダファイルの名称。この変数は、メッセージメニューの < ( カレン ダ) コマンド (メッセージの中からカレンダエントリーを走査) と併用され ます。デフォルトは $HOME//calendar です。 charset text/plain タイプとして、MIME Content-Type: ヘッダで使用されるキャラ クタセット名。 US-ASCII のスーパーセットである、インターネット定義 の任意のキャラクタセット名を使用できます。デフォルトは US-ASCII で す。例 : Content-Type: text/plain; charset=US-ASCII compatcharsets US-ASCII のスーパーセットである、インターネット定義の任意のキャラ クタセットのリスト。 charset=US-ASCII のメッセージを metamail を使わ なくても表示できるようにするため指定します。デフォルトは、次の値を 含む文字列です。 Extended_UNIX_Code_Packed_Format_for_Japanese ISO-2022-JP ISO-8859-1 ISO-8859-2 HP-UX 11i Version 3: February 2007 − 30 − Hewlett-Packard Company Section 1-351 elm(1) elm(1) ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-7 ISO-8859-8 ISO-8859-9 KOI8-R Shift_JIS configoptions オプションメニューで設定できるオプションの文字列。一連のオプション を 1 文 字 ず つ、 表 示 し た い 順 序 で 指 定 し て く だ さ い。 デ フォ ル ト は "ˆ_cdefsopyv_am_un" です。デフォルトのオプションは、以下の表では * が付いています。 オプションキャラクタは、次のとおりです。 Section 1-352 ˆ メニュータイトル。 _ 空白行。 a arrow 文字列変数。 * b prefix 文字列変数。 c calendar 文字列変数。 * d pager 文字列変数。 * e editor 文字列変数。 * f maildir 文字列変数。 * h copy 論理変数。 j alteditor 文字列変数。 k promptafter 論理変数。 l aliassortby 文字列変数。 m menu 論理変数。 * n names 論理変数。 * o sentmail 文字列変数。 * p print 文字列変数。 * r autocopy 論理変数。 s sortby 文字列変数。 * t easyeditor 文字列変数。 u userlevel 数値変数。 * v visualeditor 文字列変数。 * w askcc 論理変数。 y fullname 文字列変数。 * z sigdashes 論理変数。 Hewlett-Packard Company − 31 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) displaycharset ディスプレイでサポートされるキャラクタセット名。これは charset 文字 列変数とは別のものです。 metamail が呼び出されるとき、この変数は MM_CHARSET 環境変数にコピーされます。デフォルトは US-ASCII で す。 easyeditor ビルトインエディタの ˜e コマンドで呼び出されるエディタの名前。 editor 文字列変数も参照してください。デフォルトはありません。 editor メールを新規作成するとき使用するエディタの名前。デフォルトは、 EDITOR 環境変数がヌルでなければその値、ヌルの場合は /usr/bin/vi とな ります。 ビルトインエディタを none または builtin で指定することもできます。送 信バッファの中にまだテキストの入っていないすべての送信メール (転送 メッセージではない、応答の中にコピーされたメッセージを含まない、送 信メッセージの中にシグニチャを含まない、等々) で、ビルトインエディ タを使用できます。送信バッファの中にテキストがあり、かつ builtin が 指定されている場合には、代わりに alteditor 変数で定義されるエディタが 使用されます。 alteditor 、 easyeditor 、および visualeditor 文字列変数も参照してくださ い。 escape ビルトインエディタで使用するエスケープ文字。デフォルトは波形記号 (˜) です。 folderperms メールフォルダーや aliases.text ファイル ( elm 内でユーザーが作成 ) の パーミッションは $HOME/.elm/elmrc ファイルの folderperms の値で設定 できます。 elm では、指定がない場合や無効な値が指定されていた場合 は、デフォルトの 0640 となります。 elm は所有者の読み込み/ 書き込み パーミッションを必要とするため、 elmrc ファイルで指定された folderperms の値に、所有者の読み込み/書き込みパーミッションが与えられてい ない場合は、デフォルトの値が使用されます。 fullname メールプログラムがユーザーのメールを送信するとき使用する名前。デ フォルトは、 /etc/passwd ファイル内のユーザーのエントリーの pw_gecos フィールドで指定されるフルネーム部分 ( 最初のカンマまでの全文字) で す。 こ の フィー ル ド は、 chfn コ マ ン ド で 設 定 し ま す。 (chfn(1) 、 finger(1)、および passwd(4) を参照)。 localsignature エディタを起動する前に、ローカルホストへの送信メールに自動的に付加 されるシグニチャファイル。一般に、送信者についての個人データを含ん でいます。 remotesignature 文字列変数も参照してください。デフォルト はありません。 HP-UX 11i Version 3: February 2007 − 32 − Hewlett-Packard Company Section 1-353 elm(1) elm(1) To: ヘッダ内のアドレスはすべて、ローカルホストを明示的に表すもので なければなりません。ローカルアドレスとは、 elm による別名変換の後、 ドメイン名を含まないアドレスです。すなわち、ユーザー名だけ (例 : santaclaus) か、またはユーザー名とローカルホスト名の組み合わせ (例 : santaclaus@northpole) です。 [email protected] は、ローカルホストを指していても、 リモートアドレスと見なされます。 sendmail システム別名リストによっ て再アドレスされるユーザー名は、前述の基準を満たしていれば、ローカ ルアドレスとして処理されます。 maildir 受信および送信メール用のフォルダを保存しておくメールディレクトリ。 デフォルトは $HOME//Mail です。 elm では、 = メタ文字を使ってこのディレクトリを指定できます。例え ば、ファイル =/archive にメッセージを保存した場合、 = は maildir の現 在値に展開されます。 (スラッシュ (/) は省略可能) elm を起動する時点で、 maildir で指定されるディレクトリが存在しない 場合には、そのディレクトリを作成するかどうかを尋ねるプロンプトが表 示されます。 y ( はい) と応えると、ディレクトリが作成され、アクセス パーミッションは 700 に設定されます。 pager 各メッセージを表示するプログラム。デフォルトは PAGER 環境変数がヌ ルでなければその値、ヌルの場合はビルトインページャー、 builtin+ とな ります。 ビルトインページャー、 builtin+ では、メッセージの表示中に一部のメッ セージ メニューコマンドを実行することができ、いくつかの単純な前後ス クロールコマンドも提供しています。ビルトインページャーがアクティブ のとき、コマンドのリストを表示するには ? と入力してください。ペー ジャーの代用となるのが more ユーティリティです。 precedences ヘッダメニューを使って送信メールの Precedence: ヘッダエントリーに書 き込むことのできる、優先度リスト。それぞれの優先度には、オプション として Priority: ヘッダエントリーに自動的に書き込まれる優先順位値を組 み合わせることができます。そうした場合、受信されるメッセージには緊 急メールとしてのマークが付けられます。デフォルトはありません。 HP-UX メール トランスポート エージェント、 sendmail は、このヘッダを 認識します。 sendmail 設定ファイル /etc/mail/sendmail.cf の P 制御行で優 先度を定義している場合、それに応じてメッセージの送信優先順位が調整 されます。 sendmail(1M) を参照してください。 Section 1-354 Hewlett-Packard Company − 33 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) このエントリーの形式は、次のとおりです。 precedences = precedence[:priority] [precedence[:priority] ] ... precedence は、優先度の名前です。 /etc/mail/sendmail.cf で定義されている デフォルトのリストは、次のとおりです。 first-class 送信優先順位 0 (デフォルト) special-delivery 送信優先順位 100 list 送信優先順位 −30 bulk 送信優先順位 −60 junk 送信優先順位 −100 priority は、 Priority: ヘッダエントリーに書き込まれる任意の文字列で す。 prefix 送信メッセージの中に取り込む行に付けられるプレフィックス。メッセー ジに応答する場合、またはメッセージを別のユーザーに転送する場合、元 のメッセージを取り込むことができます。このプレフィックスは、取り込 まれた行を表します。デフォルトは >_ です (_ はスペースとして解釈され ます)。 print 各種メニューの p (プリント) コマンドを実行したとき起動するコマンド。 この文字列は、2 つの形式で指定できます。文字列の中に特殊な変数 %s を含めた場合、その変数は、メッセージを含むテンポラリファイルの名前 に置き換えられ、 shell 文字列変数で定義されるシェルによってコマンド が実行されます。文字列に %s を含めない場合、テンポラリファイル名が 文字列に付加され、コマンドが実行されます。デフォルトは、次のとおり です。 cat %s | lp receivedmail 受信したメッセージを保存するファイル。デフォルトは =received、すな わち maildir で定義されるディレクトリ内のファイル received です。 remotesignature エディタを起動する前に、リモートホストへのすべての送信メールに自動 的に付加されるシグニチャファイル。一般に、送信者についての個人デー タを含んでいます。 localsignature 文字列変数も参照してください。デ フォルトはありません。 To: ヘッダエントリーにローカルでないアドレスが含まれている場合、 localsignature 文字列変数で説明するように、リモート シグニチャファイ ルが添付されます。 savecharset メッセージをフォルダに保存するとき使用するキャラクタセット。 JIS、 SJIS、および EUC を指定できます。値を指定しない場合、ユーザーのロ HP-UX 11i Version 3: February 2007 − 34 − Hewlett-Packard Company Section 1-355 elm(1) elm(1) ケール (LC_TYPE / LANG 環境変数で指定される) に従ってメッセージが 保存されます。このオプションは、日本語ロケールについてのみ適用され ます。デフォルトはありません。 jisconversion 論理変数も参照してくださ い。 sentmail 送信メールのコピーを保存するファイル。ユーザーの受信メールボック ス、 /var/mail/loginname を 使 用 し て も か ま い ま せ ん。 デ フォ ル ト は =sent、すなわち maildir で定義されるディレクトリ内のファイル sent で す。 詳細は、 copy 論理変数を参照してください。 shell ! エスケープなどの処理で使用されるシェル。デフォルトは、 SHELL 環 境変数がヌルでなければその値、ヌルの場合は /usr/bin/ksh となります。 sortby 現在のフォルダのインデックスをソートする方法。次の指定が可能です。 from 送信者の名前。 sent メッセージの送信日付。 received メッセージの受信日付。 subject メッセージの件名。冒頭の Re: ( およびその他) は無視さ れるので、返信は元のメッセージと一緒にソートされま す。 lines メッセージの行数。 status 読み取りステータス。空白、 O、および N。 これらの値の前にプレフィックス reverse- を付けることにより、ソートの 順序を逆にできます。この値は、オプションメニューで変更できます。デ フォルトは reverse-sent です。 textencoding MIME Content-Transfer-Encoding: ヘッ ダ エ ン ト リー に 含 め る エ ン コー ディングのタイプ。 7bit または 8bit のどちらかを選択できます。デフォ ルトは 7bit です。 tmpdir テンポラリファイルを作成する位置。デフォルトは、 TMPDIR 環境変数 がヌルでなければその値、ヌルの場合は /tmp/ となります。 visualeditor ビルトインエディタの ˜v コマンドで呼び出されるエディタの名前。デ フォルトは、 VISUAL 環境変数がヌルでなければその値、ヌルの場合は /usr/bin/vi となります。 weedout メールを読むとき表示する必要のないヘッダエントリーのイニシャル文字 列のリスト。このリストは、 weed 論理変数を ON に設定することにより Section 1-356 Hewlett-Packard Company − 35 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) 有効となります。 このリストは、必要に応じて何行にも続けることができますが、継続行の 先頭は空白でなければなりません。文字列の中に空白を入れるには、空白 の前後を引用符 (") で囲みます。ユーザーが指定する文字列は通常、以下 のデフォルトのリストに追加されます。 >From Apparently-To: Content-Length Content-Transfer-Encoding Content-Type: From In-Reply-To: MIME-Version Mailer: Message-Id: Newsgroups: Received: References: Status: X-Mailer: 以下の 2つの特殊な値があります。 *clear-weed-list* デフォルトのリストをクリア。 weedout リストからデフォルトの ヘッダが削除され、完全にユーザー独自のリストを定義できるよ うになります。 *end-of-user-headers* リストの後の行がリスト内のヘッダと誤解されることのないよ う、 weedout リストの終わりをマークします。 weedout のデフォルト値は、 *end-of-user-headers* です。 アンダースコア (_) 文字を使ってスペースを指定できます。 From は、 From と From: の両方を削除する点に注意してください。例え ば、 From は削除したいけれども From: は削除したくない場合には、 *clear-weed-list* の後に From_ を指定し、続いてその他に表示したくない ヘッダを指定してください。 HP-UX 11i Version 3: February 2007 − 36 − Hewlett-Packard Company Section 1-357 elm(1) elm(1) 数値変数 数値変数の形式は、次のとおりです。 numeric-name = numeric-value 以下の数値変数が定義されています。 bounceback リモート UUCP メッセージのコピー再送のしきい値。宛先のホストが、 ローカルホストからの指定されたホップ ( ゲートウェイ) 数より大きい場 合、宛先ホストはメッセージを受信するとメッセージのコピーを送信しま す。この値が 0 の場合は、この機能は無効になります。デフォルトは 0 で す。 builtinlines 通常は pager 文字列変数で定義される外部のページャーを使用している場 合でも、ビルトインページャーを使用するメッセージがあるかどうかを判 断します。ビルトインページャーを使用すべきかどうかを判断する方法 は、2通りあります。 • n 行より短いメッセージに対してビルトインページャーを使用するに は、この値を n に設定します。 • スクリーンの行数より m 行少ないメッセージに対してビルトインペー ジャーを使用するには、この値を −m に設定します。 この値を 0 に設定すると、メッセージは常に外部ページャーを使って送信 されるようになります。デフォルトは −3 です。 noencoding メール送信エージェントが 8BITMIME および −B8BITMIME オプション をサポートしなくても、生の 8 ビットまたはバイナリデータを送信できる ようにします。デフォルトは 0 です。 以下の値を指定できます。 0 8 ビットおよびバイナリメッセージを常に 7 ビットに変換してか ら送信します。 1 8 ビットメッセージを 7 ビットに変換しますが、バイナリメッ セージの処理については sendmail に依存します。 2 8 ビットおよびバイナリメッセージの処理を、両方とも sendmail に依存します。 readmsginc 新しいフォルダを読み込む際、 Reading in フォルダ, message: カウンタを 増分する値。低速のターミナルを使用している場合、この値に 1 より大き い値を設定すれば、大きいフォルダを読み込むための時間を短縮できま す。デフォルトは 1 です。 Section 1-358 Hewlett-Packard Company − 37 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) elm が診断メッセージを表示した後、それを消去するまでの待ち時間 ( sleepmsg 秒)。 0 または正の整数を指定できます。デフォルトは 2 です。 elm が受信メールボックスで新規メールの有無を再チェックする間隔 ( timeout 秒)。デフォルトは 600 (10 分) です。 ユーザーの相対的な経験レベル。指定できる値は、次のとおりです。 userlevel 初級ユーザー ( デフォルト)。コマンドメニューは、使用可能なコ 0 マンドの一部を詳細に表示したものになります。 中級ユーザー。コマンドメニューは、使用可能なコマンドのより 1 多くを簡潔に表示したものになります。送信メッセージコマンド では、前に送信を取り消したメッセージを、現在の送信メッセー ジのテキストとして回復できます。 上級ユーザー。機能は 1 と同じです。 2 フォームメッセージを送信するには、レベル 1 または 2 が必要です。 論理変数 論理変数の形式は、次のとおりです。 boolean-name = ON −and− boolean-name = OFF 以下の論理変数が定義されています。 alwaysdelete ON の場合、メッセージメニューの q (中止) プロンプト Delete messages? (y/n) に対するデフォルトの応答が y (はい) に設定されます。 OFF の場合、デ フォルトの応答は n (いいえ) に設定されます。デフォルトは OFF です。 メッセージメニューの q コマンドを参照してください。 alwayskeep ON の場合、メッセージメニューの q (中止) プロンプト Keep unread messages in incoming mailbox? (y/n) に対するデフォルトの応答が y (はい) に設定されます。 OFF の場合、デ フォルトの応答は n ( いいえ) に設定されます。デフォルトは ON です。 メッセージメニューの q コマンドを参照してください。 alwaysstore ON の場合、メッセージメニューの q (中止) プロンプト Move read messages to "received" folder? (y/n) に対するデフォルトの応答が y (はい) に設定されます。 OFF の場合、デ フォルトの応答は n (いいえ) に設定されます。デフォルトは OFF です。 メッセージメニューの q コマンドを参照してください。 HP-UX 11i Version 3: February 2007 − 38 − Hewlett-Packard Company Section 1-359 elm(1) elm(1) arrow ON の場合、メニューインデックスの現在の項目を、矢印 (−>) でマークし ます。 OFF の場合、反転表示バーを使用します。プログラムを −a コマン ド行オプション付きで起動した場合には、 arrow は ON に設定されます。 デフォルトは OFF です。 ON の場合、メッセージメニューの q (中止) コマンドでプログラムを終了 ask するたびに、(状況に応じて) 次の質問が表示されます。 Delete messages? (y/n) Move read messages to "received" folder? (y/n) Keep unread messages in incoming mailbox? (y/n) プロセスについての詳細は、そのコマンドの説明を参照してください。 OFF の場合、またはメッセージメニューの Q コマンドを使用する場合に は、 elm は alwaysdelete、 alwaysstore、および alwayskeep 論理変数で定 義される値をそれぞれ使用し、プロンプトは表示しません。デフォルトは ON です。 askcc ON の場合、ユーザーがメッセージを送信、転送、または応答するたび に、 elm はプロンプト Copies To: を表示して「カーボンコピー」の入力を 要求します。 OFF の場合は、プロンプトは表示されません。どちらの場 合にも、ビルトインエディタの ˜c コマンドを使うか、ヘッダ メニューコ マンドを使って、 Cc: アドレスを明示的に指定できます。デフォルトは ON です。 autocopy ON の場合、 elm は応答中のメッセージのテキストを自動的にエディット バッファにコピーします。 OFF の場合、 elm は Copy message? プロンプ トを表示します。デフォルトは OFF です。 confirmappend ON の場合、メッセージを既存のファイル ( メールディレクトリ、または 他のディレクトリのファイル) に追加する前に、確認のプロンプトが表示 されます。 OFF の場合については、下記の confirmappend および confirmfiles 操作を参照してください。デフォルトは OFF です。 confirmcreate ON の場合、ファイル ( メールディレクトリ、または他のディレクトリの ファイル) を新規作成する前に、確認のプロンプトが表示されます。 OFF の場合については、下記の confirmcreate および confirmfolders 操作を参照 してください。デフォルトは OFF です。 confirmfiles ON の場合、メールディレクトリ以外の既存のファイルにメッセージを追 加する前に、確認のプロンプトが表示されます。メールディレクトリ内の ファイルには影響はありません。 OFF の場合については、下記の confirmappend および confirmfiles 操作を参照してください。デフォルトは OFF です。 Section 1-360 Hewlett-Packard Company − 39 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) confirmfolders ON の場合、メールディレクトリにファイルを新規作成する前に、確認の プロンプトが表示されます。他のディレクトリ内のファイルには影響はあ りません。 OFF の場合については、下記の confirmcreate および confirmfolders 操作を参照してください。デフォルトは OFF です。 confirmcreate および confirmfolders 操作 confirmcreate=ON および confirmfolders=ON メールディレクトリにファイルを作成 する前に確認プロンプトを表示します。他のディレクト リにファイルを作成する前に確認プロンプトを表示しま す。 ON および OFF メールディレクトリにファイルを作成する前に確認プロ ンプトを表示します。他のディレクトリにファイルを作 成する前に確認プロンプトを表示します。 OFF および ON メールディレクトリにファイルを作成する前に確認プロ ンプトを表示します。他のディレクトリにファイルを作 成する前に確認プロンプトを表示しません。 OFF および OFF メールディレクトリにファイルを作成する前に確認プロ ンプトを表示しません。他のディレクトリにファイルを 作成する前に確認プロンプトを表示しません。 confirmappend および confirmfiles 操作 confirmappend=ON および confirmfiles=ON メールディレクトリ内のファイルに追加する前に確認 メッセージを表示します。他のディレクトリ内のファイ ルに追加する前に確認メッセージを表示します。 ON および OFF メールディレクトリ内のファイルに追加する前に確認 メッセージを表示します。他のディレクトリ内のファイ ルに追加する前に確認メッセージを表示します。 OFF および ON メールディレクトリ内のファイルに追加する前に確認 メッセージを表示します。他のディレクトリ内のファイ ルに追加する前に確認メッセージを表示しません。 HP-UX 11i Version 3: February 2007 − 40 − Hewlett-Packard Company Section 1-361 elm(1) elm(1) OFF および OFF メールディレクトリ内のファイルに追加する前に確認 メッセージを表示しません。他のディレクトリ内のファ イルに追加する前に確認メッセージを表示しません。 copy ON の場合、送信ステップですべての送信メールのコピーを保存できま す。 OFF コピーを保存しません。デフォルトは OFF です。 この変数が ON であり、かつ savename 論理変数が ON の場合、 elm はま ず savename で定義される名前のファイルにコピーを保存しようとしま す。そのファイルが存在すれば、メッセージは保存されます。そのファイ ルが存在しなくても、 forcename 論理変数が ON であれば、ファイルが作 成されメッセージが保存されます。 forcename=OFF の場合は、 sentmail 文 字 列 変 数 で 定 義 さ れ る ファ イ ル に メッ セー ジ が 保 存 さ れ ま す。 savename=OFF の場合は、 sentmail 文字列変数で定義されるファイルに メッセージが保存されます。 forcename ON の場合、送信メッセージを保存するとき、受信者のログイン名のフォ ルダが存在しなくても、そのフォルダを作成します。 OFF の場合、フォ ルダを作成しません。デフォルトは OFF です。 詳細は、 copy 論理変数を参照してください。 forms この変数が ON であり、かつ userlevel 数値変数が 1 または 2 の場合、 フォームメッセージを作成できます。送信メニューの m (フォームの作成) コマンドにより、メッセージがフォームメッセージに変換されます。 OFF の場合、フォームメッセージは作成できません。デフォルトは ON です。 jisconversion ON の場合、送信メールを JIS ( 日本工業規格 ) に変換してから送信しま す。 OFF の場合、変換しません。このオプションは、日本語ロケール ja_JP.SJIS および ja_JP.eucJP にのみ適用できます。デフォルトは OFF で す。 savecharset 文字列変数。 keepempty ON の場合、フォルダのすべてのメッセージを削除してもそのフォルダが 残されます。 OFF の場合、空のフォルダは削除されます。デフォルトは OFF です。 keypad ON の場合、HP 2622 ターミナルのカーソルキーが使用可能です。 OFF の 場合、カーソルキーは使用不能です。プログラムを −K コマンド行オプ ション付きで起動した場合、 keypad は OFF に設定されます。 softkeys 論 理変数も参照してください。デフォルトは ON です。 menu OFF の場合、プログラムのすべてのスクリーンでメニューの表示を禁止し ます。 ON の場合、メニューが表示されます。プログラムを −m コマンド Section 1-362 Hewlett-Packard Company − 41 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) 行オプション付きで起動した場合、 menu は OFF に設定されます。デ フォルトは ON です。 metoo ON の場合、自分の名前も含む別名に対してメッセージを送信した場合、 送信者自身に対してもメッセージのコピーが送信されます。 OFF の場 合、コピーは送信されません。デフォルトは OFF です。 mimeforward ON の場合、転送メッセージは添付メッセージとして送信されます。 OFF の場合、転送メッセージはメッセージ本文の一部分として送信されます。 デフォルトは ON です。 movepage ON の場合、メールボックス内をページ単位で移動するコマンド (+ および − コマンド) で、現在のインデックスポインタがメッセージの新しいペー ジの最上段に移動するようになります。 OFF の場合、ページ単位で移動 したときは、現在のメッセージポインタの位置は変化しません。デフォル トは ON です。 names ON の場合、送信メッセージで To: 別名を展開したとき、ユーザー名だけ を表示します。 OFF の場合は、展開されたアドレス全体を表示します。 デフォルトは ON です。 nohdrencoding ON の場合、8 ビットまたはマルチバイト文字を含むヘッダ値に対して、 RFC 1522 エンコーディングを行いません。 OFF の場合、エンコーディン グを行います。デフォルトは OFF です。 noheader ON の場合、メッセージに応答または転送するためファイルバッファにコ ピーするとき、メッセージのヘッダが含まれません。 OFF の場合、すべ てのヘッダがコピーされます。デフォルトは ON です。 noheaderfwd ON の場合、メッセージを転送するためファイルバッファにコピーすると き、メッセージのヘッダが含まれません。 OFF の場合、すべてのヘッダ がコピーされます。転送の場合、このオプションは noheader の設定を上 書きします。デフォルトは OFF です。 pagemultipart ON の場合、 pager 変数の値を使って、認識不能なサブパートまたはサブ タイプを持つ MIME マルチパート メッセージを表示します。 OFF の場 合、 metamail を呼び出してマルチパート メッセージを表示します。デ フォルトは OFF です。 pointnew ON の場合、起動時にメッセージインデックスの中で最初の新規メッセー ジを自動的に指します。 OFF の場合、最初のメッセージを指します。ど ちらの場合にも、起動時のフォルダが受信用メールボックスでない場合、 または新規メッセージがない場合には、最初のメッセージを指します。デ フォルトは ON です。 HP-UX 11i Version 3: February 2007 − 42 − Hewlett-Packard Company Section 1-363 elm(1) elm(1) promptafter ON の場合、外部ページャーの終了後、コマンドの入力を要求するプロン プトを表示します。 OFF の場合、呼び出し元のメニューに戻ります。デ フォルトは ON です。 resolve ON の場合、メッセージの削除、削除の取り消し、保存、または転送の操 作を行った後、インデックスで次のメッセージにポインタが移動されま す。 OFF の場合、ポインタは現在のメッセージに残されます。デフォル トは ON です。 savename ON の場合、メッセージを保存する際、 elm はユーザーの maildir ディレ クトリ内に、メッセージの送信者の名前に基づく =username という形式の ファイル名を作成します。 OFF の場合、送信者名に基づくファイル名は 作成されません。 ON の場合、メッセージを送信して保存する際、 elm は To: リストの先頭 のユーザー名に基づくファイル名を、上記と同様の形式で作成します。 OFF の場合、このようなファイル名は作成されません。詳細は、 copy 論 理変数を参照してください。 デフォルトは ON です。 sigdashes ON の場合、ローカルまたはリモート シグニチャファイルから取り込まれ るシグニチャテキストの上に、2 個のダッシュを挿入します。これは一般 的な規約です。 OFF の場合、ダッシュは省略されます。デフォルトは ON です。 softkeys ON の場合、HP 2622 ターミナルのファンクションキー プロトコルが使用 可能です。 OFF の場合、ファンクションキー プロトコルは使用不能で す。プログラムを −k または −K コマンド行オプション付きで起動した場 合は、 softkeys は OFF に設定されます。 keypad 論理変数を参照してくだ さい。デフォルトは OFF です。 titles ON の場合、表示されるメッセージに次の形式の行でタイトルを付けま す。 Message number/total sendername date time sendername、 date、および time は、「メッセージインデックス」の項で述 べた方法で、メッセージヘッダから抽出されます。この機能は、 weedout リストを使って関連するヘッダ項目の表示を抑止している場合に役立ちま す。 OFF の場合、メッセージにタイトルは付けられません。デフォルト は ON です。 usetite ON の場合、 termcap の ti/te および terminfo の cup カーソルポジション エントリーを使用します (terminfo(4) を参照してください。 ) OFF の場 Section 1-364 Hewlett-Packard Company − 43 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) 合、これらのエントリーを使用しません。プログラムを −t コマンド行オ プション付きで起動した場合は、 usetite は OFF に設定されます。デフォ ルトは ON です。 ON の場合、メッセージを表示するとき、 weedout 変数で定義されるヘッ weed ダは表示されません。 OFF の場合、すべてのヘッダが表示されます。デ フォルトは ON です。 METAMAIL の設定 MIME (Multipurpose Internet Mail Extensions) 形式のエンコーディングでは、メッセージとそのメッセージの添付 ファイルが、Content-Transfer-Encoding ( メッセージを送信可能な状態にエンコーディングするときの形式) と Content-Type (デコードされた後のメッセージ部分のタイプとフォーム) に従って分類されます。メッセージの エンコーディングとタイプついて詳しくは、RFC 1521 の Attachment Configuration Menu の項を参照してくださ い。 elm には、次の Content-Type のサポートが組み込まれています。 text/plain [; charset=charset] テキストは、すべて表示可能なキャラクタセット charset (デフォルトは US-ASCII) です。 multipart/mixed ; boundary=boundary-string メッセージはいくつかの個別の「ボディパート」から構成されています。各パートは −−boundary-string によって区切られ、オプションとして Content-Type および Content-Transfer-Encoding を定義するヘッダがあります。デフォルトのContent-Type は、 text/plain です。 multipart/digest ; boundary=boundary-string これは、デフォルトの Content-Type が、 message/rfc822 の場合を除き multipart/mixed と同様 です。 multipart/report ; boundary=boundary-string message/rfc822 メッセージは、標準メッセージ形式の別のメッセージから構成されます。 metamail は、通常の ASCII テキストでは表示不可能なメッセージおよび添付ファイルの表示を管理するた め、 elm によって起動されるシステムプログラムです。 metamail は、1つ以上の mailcap ファイルで定義される他の Content-Type の外部サポートを提供します。シス テ ム mailcap ファ イ ル は /etc/mail/mailcap で す。 ユー ザー 独 自 の デ フォ ル ト の mailcap ファ イ ル を $HOME/.mailcap に定義できます。また、 MAILCAPS 環境変数を設定することにより、ユーザー独自の mailcap ファイルのリストを指定することもできます。一連の mailcap ファイルが順に検索され、Content-Type お よび何らかの条件に一致するエントリーが探し出されます。 HP-UX 11i Version 3: February 2007 − 44 − Hewlett-Packard Company Section 1-365 elm(1) elm(1) 最小限の mailcap エントリーは、次の形式の行だけで構成されています。 content-type ; command command は、特定の Content-Type のファイルを表示するために、文字列 %s をファイル名で置き換えてタイプ するコマンドです。例えば、HTML ソーステキストであり、Content-Type が text/html であるボディパートを表 示するには、次のエントリーを指定します。 text/html; netscape %s 同様に、GIF イメージファイルについては、次のエントリーを指定します。 image/gif; xv %s RFC 1521 では、いくつかの Content-Type が定義されていますが、これらは elm で metamail に処理させること ができます。 text/richtext multipart/alternative multipart/parallel multipart/digest message/partial message/external-body image/jpeg image/gif audio/basic video/mpeg application/octet-stream application/postscript システム mailcap ファイルで、これらを処理するためのエントリーチェックしてください。 多言語化対応 環境変数 HOME ユーザーのホーム (ログイン) ディレクトリです。 EDITOR ヌル以外の値に設定した場合、 alteditor および editor 文字列変数のデフォルト値を指定しま す。 LANG ヌル以外の値に設定した場合、メッセージの表示に使用する言語を決定します。デフォルトは C です。 environ(5) を参照してください。 MAILCAPS 設定した場合、 metamail が使用する mailcap ファイルのデフォルトの検索パスを定義しま す。デフォルトは、次のとおりです。 $HOME/.mailcap:/etc/mail/mailcap Section 1-366 Hewlett-Packard Company − 45 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) PAGER ヌル以外の値に設定した場合、 pager 文字列変数のデフォルト値を指定します。 SHELL ヌル以外の値に設定した場合、 shell 文字列変数のデフォルト値を指定します。 TMPDIR ヌル以外の値に設定した場合、 tmpdir 文字列変数のデフォルト値を指定します。 VISUAL ヌル以外の値に設定した場合、 visualeditor 文字列変数のデフォルト値を指定します。 サポートされるコードセット シングル / マルチバイトのキャラクタコードセットがサポートされます。 例 メッセージモードの例 elm のメインメール処理プログラムをロードせずにメッセージを送信する場合は、プログラム名の後に宛先の ログイン名とオプションのアドレスを指定してコマンドを実行してください。 elm はサブジェクトおよびコ ピーのプロンプトを出します。この後、エディタを起動し、メッセージを作成できるようにします (ユーザー の入力内容はイタリック体で示します)。 $ elm j_doe To: doe (John Doe) Subject: this is a test Copies To: ... ...invokes editor, you compose message, then... Your options now are: a)ttachments e)dit message edit h)eader s)end it f)orget it. What is your choice? s mail sent! メッセージの「送信を取り消した」場合には、メッセージは $HOME/Canceled.mail に保存されています。 リダイレクションを使用するファイルモード ファイルを送信する場合、次のような指定によってコマンド行を切り替えることができます。 $ elm j_doe < help.c この場合、指定されたファイル help.c を読み取って、デフォルトのサブジェクト付きで送信します。 パイプを使用するファイルモード コマンドの出力を、サブジェクト行を含めてメールするには、次のようにします。 $ ls −a | elm −s "Directory Listing" j_doe 警告 2つの異なるメールプログラムが同じメールファイルに同時にアクセスする (2つの異なるウィンドウから不用 意にアクセスする場合が多い) と、結果は保証されません。 HP-UX 11i Version 3: February 2007 − 46 − Hewlett-Packard Company Section 1-367 elm(1) elm(1) 著者 elm は、HP で開発されました。 ファイル $HOME/.elm ユーザーの elm 別名、設定、ヘッダ、およびその他のファ イルのディレクトリ $HOME/.elm/aliases ユーザー別名データベースのデータテーブル $HOME/.elm/aliases.dir ユーザー別名データベースのディレクトリテーブル $HOME/.elm/aliases.pag ユーザー別名データベースのハッシュテーブル $HOME/.elm/aliases.text ユーザー別名のソーステキスト $HOME/.elm/elmheaders ユーザー定義の追加ヘッダ $HOME/.elm/elmrc ユーザー設定ファイル $HOME/Canceled.mail 非対話型操作で取り消されたメッセージ /tmp/alias. pid 別名を削除するためのテンポラリファイル /tmp/form. pid フォームメッセージ用のエディタバッファ /tmp/mbox.loginname ユーザー logname 用のテンポラリ メールボックス /tmp/print. pid メッセージの表示のためのテンポラリファイル /tmp/snd. pid 送信メールメッセージのエディットバッファ /tmp/sndh. pid 送信メールヘッダのエディットバッファ /usr/lib/nls/msg/C/elm.cat メッセージカタログの位置 /usr/share/lib/elm/elmrc-info $HOME/.elm/elmrc ファイルのコメントファイル /var/mail 受信メールのディレクトリ モード 755、グループ ID mail でなければならない /var/mail/.elm elm メーラシステム別名用ディレクトリ /var/mail/.elm/aliases システム別名データベースのデータテーブル /var/mail/.elm/aliases.dir システム別名データベースのディレクトリテーブル /var/mail/.elm/aliases.pag システム別名データベースのハッシュテーブル /var/mail/.elm/aliases.text システム別名のソーステキスト /var/mail/loginname ユーザー用の受信メールボックス モード 660、グループ ID mail でなければならない /var/mail/loginname.lock メールディレクトリのロック 参照 answer(1), chfn(1), elmalias(1), fastmail(1), finger(1), mailfrom(1), newalias(1), newmail(1), readmail(1), vi(1), sendmail(1M), passwd(4), terminfo(4), environ(5). RFC 821 "Simple Mail Transfer Protocol (SMTP)" RFC 822 "Standard for the Format of Internet Text Messages" Section 1-368 Hewlett-Packard Company − 47 − HP-UX 11i Version 3: February 2007 elm(1) elm(1) RFC 1521 "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies" RFC 1522 "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text" HP-UX 11i Version 3: February 2007 − 48 − Hewlett-Packard Company Section 1-369 elmalias(1) elmalias(1) 名称 elmalias − elm のユーザー別名とシステム別名の表示および確認 構文 elmalias [−dersu] [−a −f format −n −v −V] [alias-name-list] 注意 elmalias の以前の機能は、 newalias コマンド (newalias(1) 参照) によって置き換わっています。 説明 elmalias コマンドは、ユーザーおよびシステムの elm 別名を表示および確認します。 システム全体のデータベースは、 newalias コマンド (newalias(1) 参照) によって作成されます。ユーザー用 データベースは、 newalias コマンドあるいは、 elm メールシステム (elm(1) 参照) によって作成されます。同 じ別名が2つのデータベースにある場合、ユーザーのものが使用されます。データベースファイルがない場合 は、無視されます。 各データベースエントリは次のフィールドを持つことができます。フィールドの詳細については、 newalias(1) で説明しています。 別名リスト エントリ用の一つまたは複数の別名リスト。 アドレスリスト エントリ用の一つまたは複数のアドレスリスト。アドレスは、別のエントリの aliaslist からの別名であることができます。 コメント エントリについての情報を含むフィールド (オプション)。このフィールドは送信メー ルには含まれません。 名前 (firstname) 個人あるいはグループの名前として解釈されるフィールド (オプション)。 フルネーム で使用されます。 姓 (lastname) 個人あるいはグループの名前として解釈されるフィールド (オプション)。 フルネーム で使用されます。 フルネーム 名前 (firstname) と 姓 (lastname) フィールドから作成される複合値。フォーマットは、 firstname lastname となります。 elmalias は別名として次の3つのタイプを認識します。 個人 アドレスリストに一つのアドレスを持っているデータベースエントリ。 elmalias はこ のアドレスを有効なメールアドレスと想定します。 グループ アドレスリストに複数のアドレスを持っているデータベースエントリ。 elmalias はま ずこれらアドレスが 個人あるいは グループエントリへのアドレスと想定します。 unknown グループエントリにあるアドレスあるいはデータベースの別名でない alias-name-list にある別名。両方の場合とも、項目は別名とアドレスとしてリポートされます。 オプションまたは引き数がない場合、 elmalias は、 2 つのデータベースの各別名に対して アドレスリスト Section 1-370 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 elmalias(1) elmalias(1) フィールドを表示します。エントリが複数の別名をもつ場合、 アドレスリストフィールドは複数回表示されま す。 alias-name-list があり、オプションがない場合、 elmalias はリストにある各別名の アドレスリストフィールド を表示します。別名がデータベースにない場合、コメントなしで unknown として扱われます。 オプション elmalias では、次のオプションを使用することができます。 −a 別名の次に アドレスリストフィールドが表示されるように変更します。 −d デバッグモードをオンにします。 −e グループ別名を完全に展開します。このオプションは、 alias-name-list が指定された 場合にのみ使用できます。 グループアドレスリストにあるアドレスが、別名の場合、その別名エントリで置き換 わります。このプロセスは、結果が 個人か unknown タイプになるまで実行されま す。 グループアドレスが別名でない場合、タイプ unknown で別名とアドレスがリ ポートされます。重複した別名はたった一回だけリポートされます。 個人エントリ は、実際にそれが別名であったとしても、展開されません。 −f format ファイルあるいは alias-name-list にある各別名に対して format 文字列を表示します。 次のキャラクタのペアが、各別名に対して対応した値によって format で置き換わりま す。 −n %a 別名 %c コメントフィールド %l 名前(lastname) フィールド %n フルネーム値 %t 別名タイプ: 個人, グループ, または unknown %v アドレスリストフィールド フルネームに続く アドレスリストへの表示を変更します。その場合は括弧内に表示さ れます。 −r alias-name-list にある名前がデータベースの別名と一致しない場合は、エラーを返しま す。各不明な名前に対するメッセージを表示し、ゼロでないステータスで終了しま す。 −s −u を指定していない場合、システムで使用する別名データベースだけが使用されま す。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-371 elmalias(1) elmalias(1) −s を指定していない場合、ユーザーの別名データベースだけが使用されます。 −u 冗長出力フォーマットを使用します。別名の次が アドレスリストその次が フルネー −v ムになるように表示を変更します。この場合、情報は括弧で囲まれて表示されます。 さらに詳しい冗長出力フォーマットを選択します。 −f オプションのフォーマットに −V 従って、次のタイトルを持つ複数行出力フォーマットを選択します。フィールドが空 の場合、タイトルは削除されます。 Alias: Address: Type: Name: Last Name: Comment: 終了ステータス elmalias は、次の終了ステータス値を設定します。 正常終了 0 An error occurred. エラーが発生しました。次を指定した可能性があります。 <>0 • 無効オプション • alias-name-list なしの −e オプション • format なしの −f オプション • alias-name-list に不明な別名がある −r オプション 例 次のエントリを持ったユーザーデータベースの場合 # sample alias file mom = My Mommy, Work: x2468 = [email protected] dad,father,pop = Father; Dear, Work: x1357 = host!otherhost!dad parents = The Folks = mom dad parent@host siblings = The Kids = brother1 brother2 sister brother1 = Son; First = [email protected] brother2 と sister は別名エントリを参照していないので、 unknown タイプとなります。 オプションあるいは引数なしでは elmalias は、次の出力を作成します。 [email protected] host!otherhost!dad Section 1-372 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 elmalias(1) elmalias(1) host!otherhost!dad host!otherhost!dad mom,dad,parent@host brother1,brother2,sister [email protected] elmalias −v は、別名、アドレス、フルネームを次のように出力します。 mom [email protected] (My Mommy) dad host!otherhost!dad (Dear Father) father host!otherhost!dad (Dear Father) pop host!otherhost!dad (Dear Father) parents mom,dad,parent@host (The Folks) siblings brother1,brother2,sister (The Kids) brother1 [email protected] (First Son) 別名のセットを展開し、フィールドタイトルを付けて別名をフォーマットするには、 −e と −f オプションを使 います。次のように使用します。 elmalias -ef "Alias: %a Address: %v Type: %t" parents siblings 出力: Alias: mom Address: [email protected] Type: Person Alias: dad Address: host!otherhost!dad Type: Person Alias: parent@host Address: parent@host Type: Unknown Alias: brother1 Address: [email protected] Type: Person Alias: brother2 Address: brother2 Type: Unknown Alias: sister Address: sister Type: Unknown 著者 elmalias はHPで開発されました。 ファイル $HOME/.elm/aliases ユーザーの別名データベース データテーブル $HOME/.elm/aliases.dir ユーザーの別名データベース ディレクトリテーブル $HOME/.elm/aliases.pag ユーザーの別名データベース ハッシュテーブル $HOME/.elm/aliases.text ユーザーの別名ソーステキスト /var/mail/.elm/aliases システムのの別名データベース データテーブル /var/mail/.elm/aliases.dir システムの別名データベース ディレクトリテーブル /var/mail/.elm/aliases.pag システムのの別名データベース ハッシュテーブル /var/mail/.elm/aliases.text システムの別名ソーステキスト HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-373 elmalias(1) elmalias(1) 参照 elm(1), newalias(1) Section 1-374 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 enable(1) enable(1) 名称 enable, disable − LPプリンタのイネーブル/ディスエーブル 構文 enable printers disable [−c] [−r[reason] ] printers 説明 enable command は、指定した printers をアクティブにし、 lp にとられた要求のプリントをイネーブルします。 lpstat を使用し、プリンタのステータスを調べてください( lp(1) および lpstat(1) を参照)。 disable は、指定した printers をアクティブ解除し、 lp にとられた要求のプリントをディスエーブルします。指 定したプリンタにプリントされている要求は、デフォルトにより、同じプリンタか同じクラスの別のメンバー 上で再プリントされます。 lpstat を使用し、プリンタのステータスを調べてください。 オプション disable は、次のようなオプションを認識します。 −c 指定したプリンタのいずれかでプリントされている任意の要求をキャンセルします。 −r[reason] reason をプリンタのアクティブ解除の理由に対応付けます。この理由は次の −r オプ ションまで、言及されたすべてのプリンタに適用されます。 −r オプションが存在し ないか、または理由なしで指定した場合、デフォルトの reason が使用されます。 reason は lpstat によってレポートされます。 reason メッセージの最大の長さは80バイト です。 reason メッセージが 80 バイトより長い場合は、80 バイトに切り捨てられま す。 多言語化対応 環境変数 LANG は、メッセージの表示言語を決定します。 LANG を指定しないかnullである場合は、デフォルトの C ( lang(5) を参照)が使用されます。 国際変数の内容が無効である場合、すべての国際変数がデフォルトの C ( environ(5) を参照)になります。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 プリンタ snowwhite をイネーブルし、要求を受け付けます。 enable snowwhite プリンタ snowwhite をアクティブ解除し、すべてのログされたジョブをキャンセルします。 disable −c snowwhite HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-375 enable(1) enable(1) 警告 制限キャンセルの機能( lpadmin −orc オプションにより選択される— lpadmin(1M) を参照)がイネーブルされて いて、システム管理者でも指定されたプリンタで現在出力中の要求者でもないユーザの場合、 disable は −c オ プションを無視します。 enable および disable はローカルシステムのみに対する操作を行います。 ファイル /etc/lp/* /usr/lib/lp/* /var/adm/lp/* /var/spool/lp/* 参照 lp(1), lpstat(1), accept(1M), lpadmin(1M), lpsched(1M), rcancel(1M), rlp(1M), rlpdaemon(1M), rlpstat(1M). Section 1-376 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 env(1) env(1) 名称 env − コマンド実行のための環境設定 構文 env [-] [-i] [ name = value ] ... [ command [ arguments ... ] ] 説明 env は現在の environment を取得して、その引き数に従って修正を行い、修正した環境でコマンドを実行しま す。形式 name=value の引き数は、コマンドの実行前に継承された環境にマージされます。 -i オプションを指 定すると、引き数によって内容を完全に指定した環境でコマンドが実行されるので、継承された環境は無視さ れます。 - オプションは旧版であり、 -i オプションと同様の効果があります。 引き数を何も指定しなければ、1行につき1つの名前と、その値のペアで設定されている環境がプリントされま す。 戻り値 command を起動すると、 env の終了ステータスは command の終了ステータスになります。そうでなければ、 env は以下の値のいずれかで終了します。 0 env は正常終了しました。 1-125 env はエラーを発見しました。 126 command は見つかりましたが、起動できませんでした。 127 command が見つかりません。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定され ている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 env は全ての国際化変数が"C"に設定されているように振る舞 います。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 警告 - オプションは旧版となっています。代わりに -i を使用します。 参照 sh(1), exec(2), profile(4), environ(5) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-377 env(1) env(1) 標準準拠 env: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-378 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 eucset(1) eucset(1) 名称 eucset − ldterm のコード幅の設定と取得 構文 eucset [-p] eucset [ [-c HP15-codeset] または [-c UTF8] または [-c ASIAN_UTF8] または [-c GB18030] または [cswidth] ] 説明 eucset コマンドは、現在の入力端末で処理される拡張 UNIX コード (EUC) 文字、 UCS Transformation Format (UTF8) 文字、および GB18030 文字の符号化幅とディスプレイ幅の設定または取得 ( レポート) を行います。 EUCとは、シングルバイトまたはマルチバイトで構成されるコードセットの符号化方式です。アプリケーショ ンおよびターミナルハードウェアは、EUCを使うと、 7ビットのUS ASCIIコードおよび最大3種類のシングル バイトまたはマルチバイトのコードセットを同時に使用することが可能となります。 ldterm は、STREAMSターミナル回線制御モジュールで、コードセット情報を eucset から取得します( ldterm(7) 参照)。 cswidth 値は、コードセットの文字幅を定義します。もし cswidth が、暗黙的もしくは明示的に定義されておら ず、 eucset コマンドに引数が渡されていないならば、 cswidth 値は、次の基準の順で決定されます。 1. もし定義されていたら、現在のロケールにストアされている cswidth 値を使います。 2. もし、ロケールに定義されているコードセット名が、 GB18030、UTF8、もしくは4つの HP15 コードセッ トのうちの一つであれば、この予め定義された cswidth 値を使います。 3. もし CSWIDTH 環境変数が正しいフォーマットで定義されていたら、これを使います。 4. デフォルトのコードセットとして、 7-bit US ASCII と、その cswidth 値を使います。 このコマンドは、必ず EUC か EUC 以外のシングルバイトかマルチバイトかのコードセットを指定して使う必 要があります。しかしながら、 eucset コマンドは、ASIAN_UTF8 以外のほとんどで、オプションなしで使っ ても、cswidth パラメータを正しく設定します。 cswidth 引き数の値に関する注意事項について、 「警告」の項 を参照してください。 GB18030、ASIAN_UTF8 または UTF8 の設定の場合には、 −c オプションを指定してください。 オプション eucset コマンドは、以下のオプションと引き数を認識します。 -p -c 端末に対するEUC文字幅の現在の設定を表示します。 コード幅として、4 つの HP15 コードセットの 1 つ、 UTF8 または ASIAN_UTF8 または GB18030 を設定します。サポートされている HP15 コードセットは、 SJIS 、 CCDC 、 GB、および BIG5 です。 cswidth コードセット1から3に対して、文字幅を定義します。詳細は、この man ページの EUC コードセットのクラス章を参照ください。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-379 eucset(1) eucset(1) EUCコードセットのクラス EUC では、コードセットを4 つのクラスに分類しています。各コードセットには2 つの特徴があります。それ は、コードセット中の文字のコードとしてのバイト数と、コードセット中の文字を表示するためのディスプレ イカラム数です。コードセット中の全ての文字は、同じ特性を持っています。 ASIAN_UTF8 は、2倍幅の表 示設定に使用され、 UTF8 は、単幅に使用されます。 • コードセット0は、7ビット、シングルバイトの全ASCII文字から構成されています。これらの各文 字の最上位ビットは0(ゼロ)です。コードセット0中の文字は、符号化に1バイト必要で、ディスプ レイカラムを1 個占有します。コードセット0( ゼロ) のこれらの値は変更できません。7 ビットUS ASCII コードは一次EUC コードセットで、ユーザーは直接指定しなくても利用することができま す。 • コードセット1は補足的EUCコードセットです。コードセット1の各文字には初期バイトがあり、そ の最上位ビットは 1です。コードセット1中の文字は、符号化に2バイト以上必要な可能性があり、 ディスプレイカラムも2個以上必要なことがあります。コードセット1の特徴を設定するには、 eucset コマンドを使用しなければなりません。 • コードセット2および3は補足的EUCコードセットです。これらのコードセット中の各文字には、そ れぞれ初期バイトSS2と SS3があります。これらの文字は、符号化に2バイト以上必要な可能性があ り、ディスプレイカラムも2個以上必要なことがあります。コードセット2および3の特徴を設定す るには、 eucset コマンドを使用しなければなりません。 eucset コマンド行の cswidth 引き数は、コードセット1から3の文字幅を指定する文字列です。このコマンドを 使ってユーザーがコードセット0の設定を変更することはできません。この文字列のフォーマットは次のとお りです。 X1 [:Y1 ],X2 [:Y2 ],X3 [:Y3 ] X1 は、コードセットクラス1の文字の符号化に必要なバイト数です。 Y1 は、このクラスの文字を表示するのに必要なディスプレイカラム数です。 X2 は、コードセット2の文字の符号化に必要な、 SS2バイトを除いたバイト数です。 Y2 は、コードセット2の文字のディスプレイカラム数です。 X3 は、コードセット3の文字の符号化に必要な、 SS3バイトを除いたバイト数です。 Y3 は、これらの文字に必要なディスプレイカラム数です。 カラム幅の値が符号化バイト数に等しい場合、カラム幅は省略可能です。あるEUCコードセットの符号化の値 が 0 (ゼロ)に設定されている場合は、そのコードセットが存在しないことを示します。 cswidth 引き数の値に 関する注意事項について、「警告」の項を参照してください。 cswidth 引き数が指定されない場合、 eucset コマンドは CSWIDTH 環境変数の値を使用します。この変数が存 在しない場合は、代りに以下のデフォルト文字列が使用されます。 Section 1-380 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 eucset(1) eucset(1) 1:1,0:0,0:0 このデフォルト文字列は、この環境では、EUCコードセット1のフォーマットの文字から成るシングルバイト EUCコードセットが使用されることを示しています。コードセット1のフォーマットのマルチバイトEUCコー ドセット、コードセット2または3のフォーマットのシングルバイトまたはマルチバイトEUCコードセット、ま たはその両方を使用する場合は、デフォルト設定は使用できません。 多言語化対応 環境変数 未設定またはヌルのインターナショナル変数に対するデフォルトを提供します。 LANG LANG が未指定または空の文字列に設定されている場合は、デフォルトとして C ( lang(5) を参 照)が LANG の代わりに使用されます。インターナショナル変数のいずれかの設定が不 適当な場合には、 eucset は、すべてのインターナショナル変数が C に設定されている ものとして動作します。 environ(5) を参照してください。 LC_ALL 空でない文字列値に設定されている場合は、他のすべてのインターナショナル変数の値 が無効になり、この値が適用されます。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセー ジの、フォーマットと内容を制御するために使用すべきロケールを決定します。 NLSPATH LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 例 自分の環境のEUCコードセット1から3の符号化幅とディスプレイ幅を表示するには、次のコマンドを入力しま す。 eucset -p 以前に eucset を使用して ja_JP.eucJP を設定していたと仮定すると、上のコマンド実行により、次の出力が生 成されます。 cswidth 2:2,1:1,2:2 コードセット1および2のEUC文字の符号化幅およびディスプレイ幅の現在の設定を変更し、それぞれ2バイト にするには、次のコマンドのいずれかを入力します。 eucset 2:2,2:2,0:0 eucset 2,2,0 ロケール ja_JP.eucJP にあるEUC文字の符号化幅とディスプレイ幅を設定するには、次のコマンドを入力しま す。 eucset 2:2,1:1,2:2 zh_TW.eucTW については、次のコマンドを入力します。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-381 eucset(1) eucset(1) eucset 2:2,3:2 ko_KR.eucKR については、次のコマンドを入力します。 eucset 2:2 UTF8 文字のコード幅に設定するには、次のように入力します。 eucset -c UTF8 ASIAN_UTF8 文字のコード幅に設定するには、次のように入力します。 eucset -c ASIAN_UTF8 GB18030 文字のコード幅に設定するには、次のように入力します。 eucset -c GB18030 警告 cswidth 引き数のバイト幅の値には、SS2またはSS3バイトは含まれません。 このコマンドは標準化されておらず、他のベンダーのシステムでは使用できないことがあります。また、将来 のリリースで変更または廃止される可能性があります。 著者 eucset はOSFおよびHPが開発しました。 参照 dtterm(1), ldterm(7). Section 1-382 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 evmget(1) evmget(1) 名称 evmget − 保存済みイベントを取得する 構文 evmget [−A [−t show_template]] [−e] [−f filter_expr] [−s sort_spec] [−C channel−list] 説明 evmget コマンドは、保存済みイベントを取得し、EVM イベントとして stdout に出力します。イベントは、 チャネル構成ファイル /etc/evmchannel.conf で指定されたチャネル固有の取得関数を使用して、構成済みのロ グファイルセットおよびイベントチャネルから取得します。 −A オプションを指定した場合、evmget は自動的に evmsort −A を起動して、イベントストリームをこのコマ ンドに引き渡し、各イベントをソートおよびフォーマットして表示します。 show_template 引き数または sort_spec 引き数を指定した場合、evmsort の −t オプションと −s オプションによって、これらの文字列が evmsort に渡されます。詳細については、evmsort(1) および evmshow(1) を参照してください。 特定のイベントチャネルセット (アプリケーションのログファイルからイベントを取得するイベントチャネル など) から取得可能なイベントを確認するには、−C オプションを使用して検索対象のチャネルを指定します。 これにより、関心のないチャネルの検索が回避されるため、全体の取得時間が短縮されます。 チャネル構成で定義されている fn_get キーワードがチャネルに含まれない場合、そのチャネルに対して返され るイベントはありません。 channel-list は1つ以上のチャネル名のリストです。リストを引用符で囲まない場合は、各チャネルをカンマで 区切ります。引用符で囲む場合は、各チャネルを空白文字またはタブ文字で区切ります。複数のチャネルリス トを指定するには、−C オプションを複数回使用します。構成済みチャネルのリストを表示するには、evminfo −lc コマンドを使用します。 イベントは複数のソースから取得される場合があります。したがって、−A オプションを使用しない場合、ま たは出力イベントストリームを evmsort に引き渡さない場合、各イベントが特定の順序で返される保証はあり ません。 オプション −A 自動的に evmsort −A を起動し、取得したイベントをソートおよびフォーマットして表 示します。 −e 指定されたコマンドを検証してから終了します。この機能を使用すると、フィルター式 の構文をチェックできます。 −f filter_expr filter_expr に一致するイベントのみを出力します。 filter_expr の構文については、EvmFilter(5) を参照してください。 −t show_template −A オプションとともに指定した場合に、evmsort に渡されるテンプレート文字列です。 −A オプションを指定しない場合、この引き数は無視されます。テンプレート文字列の 詳細については、evmshow(1) を参照してください。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-383 evmget(1) evmget(1) −A オプションとともに指定した場合に evmsort に渡されるソート指定文字列です。 −A −s sort_spec オプションを指定しない場合、この引き数は無視されます。ソート指定文字列の詳細に ついては、evmsort(1) を参照してください。 チャネル名が channel-list に含まれているチャネルからのみイベントを取得するように指 −C channel-list 定します。このオプションの詳細および channel-list の構文については、「説明」セク ションを参照してください。 戻り値 終了時に以下の値が返されます。 0 正常に終了しました。 0 以外 エラーが発生しました。 例 • 以下の例では、evmget を使用してイベントを取得し、そのイベントを自動的に evmsort と evmshow に引き 渡して、ソートおよびフォーマットされたイベントリストを生成します。 evmget −A • 以下の例では、使用可能なすべてのイベントを取得し、evmsort と evmshow に引き渡して、ソートおよび フォーマットします。各イベントは、デフォルトのタイムスタンプ順にソートされ、各行の先頭にタイムス タンプが付けられて表示されます。 evmget −A −t "@timestamp @@" • この例では、my_log チャネルのイベントのみを取得します。その後、取得したイベントをフィルター処理 し、 EVM デーモンのログファイルのメッセージのみを表示します。 evmget −A −C my_log −f "[name *.evmdaemon]" −t "@timestamp @@" • この例では、優先順位の値が 500 以上のイベントのみを取得します。生のイベントは、タイムスタンプの 降順にソートされ、ファイルに格納されます。 evmget −f "[priority >= 500]" \ | evmsort −s @timestamp- > my_eventfile • この例では、保存済みフィルターを使用して、すべての EVM イベントを取得し、それらをタイムスタンプ の昇順 (デフォルトの順序) にソートして表示します。 evmget −f "@sys:evm" | evmsort | evmshow −t "@timestamp @@" • こ の ksh の 例 で は、 EVM_SORT_SPEC 環 境 変 数 を 使 用 し て ソー ト の 優 先 度 を 設 定 し、 EVM_SHOW_TEMPLATE 環境変数を使用して evmget 出力のデフォルトの表示スタイルおよびフォーマッ トを設定します。 export EVM_SORT_SPEC="@priority" export EVM_SHOW_TEMPLATE="@timestamp @@" Section 1-384 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 evmget(1) evmget(1) evmget | evmsort −A 警告 evmget コマンドは、ユーザーがアクセス権限を持つイベントのみを取得します。アクセス権限の詳細について は、evm.auth(4) を参照してください。 evmget コマンドは、生のイベントを端末装置に出力しようとする試みを拒絶します。 ファイル /etc/evmchannel.conf EVM チャネル構成ファイルの場所 /etc/evmdaemon.conf EVM デーモン構成ファイルの場所 /etc/services インターネットサービスで使用されるソケットおよびプロトコルの定義 参照 コマンド evminfo(1), evmpost(1), evmshow(1), evmsort(1), evmwatch(1) ファイル evmchannel.conf(4), evmdaemon.conf(4), evmfilterfile(4), services(4) イベント管理 EVM(5) EVM イベント EvmEvent(5) イベントフィルター EvmFilter(5) HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-385 evminfo(1) evminfo(1) 名称 evminfo − EVM に関する情報を提供する 構文 evminfo {−lc | −vp | −verify verify_option [−file verify_file]) 説明 evminfo コマンドは、選択された EVM 環境情報をその標準出力ストリームに書き出します。 以下のオプションにより、表示される情報が決定されます。 オプション EVM チャネル構成ファイル /etc/evmchannel.conf を読み取り、すべての構成済みイベントチャネル −lc のリストを書き出します。特定のチャネルセットから取得可能なイベントを確認するには、evmget -c コマンドを使用します。 (ベンダーおよび製品コンポーネントの規約により) システムイベント名の最初の2つのコンポーネ −vp ントとして使用可能な文字列を書き出します。このオプションを指定した場合、スクリプトライ ターは、ホストシステムから独立した方法でシステムイベントを参照することができます。 EVM をサポートする他のプラットフォームで使用可能なスクリプトを書き出す場合は、−vp オプ ションを使用します。これらのプラットフォームでは、システムイベントの接頭辞が異なっている 可能性があります。 −verify verify_option [−file verify_file] verify_option で指定された EVM 構成ファイルの構文をチェックします。 verify_option の有効な値 は、daemon、logger、または chmgr です。これらの値を指定すると、EVM デーモン構成ファイ ル、EVM ロガー構成ファイル、または EVM チャネル構成ファイルがそれぞれ検証されます。 verify_file を指定した場合、コンポーネントの標準構成ファイルの代わりに、指定したファイルが チェックされます。 戻り値 コマンドは、次の値のいずれかで終了します。 0 正常に終了しました。 0 以外 エラーが発生しました。 例 • 以下の例では、evminfo −lc コマンドを使用して、EVM チャネル構成ファイルで構成されているすべてのイ ベントチャネルの名前を一覧表示し、次に evmget を使用して、一覧内の2つのチャネルからイベントを取 得します。 $ evminfo −lc evmlog Section 1-386 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 evminfo(1) evminfo(1) $ evmget −A −C evmlog • この例では、evminfo −vp をシェルスクリプトで使用しています。このコマンドは、ホストシステムで使用 されるシステムイベント名の最初の2つのコンポーネントを決定します。 次に、このスクリプトは、evmwatch を使用してシステムイベントを監視します。 VP=‘evminfo −vp‘ evmwatch −f "[name $VP]" | evmshow • 以下の例では、EVM デーモン構成ファイルの構文をチェックします。 evminfo −verify daemon ファイル /etc/evmchannel.conf EVM チャネル構成ファイルの場所 /etc/evmdaemon.conf EVM デーモン構成ファイルの場所 /etc/evmlogger.conf EVM ロガー構成ファイルの場所 参照 コマンド evmget(1), evmpost(1), evmshow(1), evmsort(1), evmwatch(1), evmd(1M), evmchmgr(1M), evmlogger(1M), evmreload(1M) ファイル evmchannel.conf(4), evmdaemon.conf(4), evmlogger.conf(4) イベント管理 EVM(5) EVM イベント EvmEvent(5) イベントフィルター EvmFilter(5) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-387 evmpost(1) evmpost(1) 名称 evmpost − イベントを EVM デーモンにポストする 構文 evmpost [−r [−m|−M]] [[−a|−u msg [−p priority]] | [ filename| −]] 説明 evmpost コマンドは、ファイルまたはテキストイベントソースのストリームを入力として受け取り、それらを バイナリの EVM イベントに変換します。デフォルトでは、次に、この EVM イベントを配布用に EVM デーモ ンにポストします。 −r オプションを指定した場合、evmpost は、EVM イベントをデーモンにポストする代わりに、stdout スト リームに書き出します。デフォルトでは、evmpost は、EVM デーモンからイベントテンプレート情報を取得 し、テンプレート項目とユーザー名やタイムスタンプなどの環境項目を出力イベントにマージしようとしま す。 −M オプションを使用した場合、ソースで指定した項目だけが出力イベントに格納されます。 1つのイベントソースには任意の数のイベントを格納できます。各イベントは以下の方法で指定します。詳細 については、EvmEvent(5) のマンページを参照してください。 event { name event_name format format_specifier priority priority var { name type variable_name variable_type value variable_value } } evmpost コマンドは、イベントソース内にある以下のデータ項目を認識します。 • NAME • PRIORITY • FORMAT • REF • I18N_CATALOG • I18N_SET_ID • I18N_MSG_ID • VAR • TYPE • VALUE OPAQUE 以外のすべての EVM 変数型を指定できます。データ項目と変数の詳細については、EvmEvent(5) を Section 1-388 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 evmpost(1) evmpost(1) 参照してください。 イベントソースでは、各キーワードとそれに対応する値の両方を指定する必要があります。値に空白文字が含 まれる場合は、二重引用符 ("") で値を囲む必要があります。イベント本体以外の場所で指定したデータ項目 キーワードは、グローバル値とみなされます。このデータ項目キーワードは、キーワードに対応する値が明示 的に定義されていない後続の各イベントに含められます。 コメント行は先頭の # 文字で示されます。空白行は無視されます。 evmpost コマンドは、ソースで明示的に指定された項目を含む EVM イベントを構築します。イベントをポス トした場合、または −M なしで −r オプションを指定した場合、timestamp や process id などの追加環境項目と テンプレート項目がイベントに自動的に挿入されます。 イベントをポストするための規則は、イベントが単に存在するための規則よりも厳格です。したがって、ポス トできないイベントをポストしようとすると、−r オプションを使用したときに同じソースが受け入れられる場 合でも、evmpost がエラーを表示することがあります。 たとえば、3つ以上のコンポーネントからなる名前を含まないイベントは、デーモンによって拒絶されるた め、ポストしないようにしてください。ただし、こうしたイベントは存在可能です。また、evmpost は、こう したイベントを作成して、stdout に渡すことができます。以下の例は、名前が指定されていないため失敗しま す。 echo ’event { }’ | evmpost evmpost: Error in input file "standard input", line 1 evmpost: Error: Event name is missing 以下の例は成功しますが、有用な情報は表示されません。 echo ’event { }’ | evmpost −r | evmshow Unformatted event "(no name)"; −r オプションを使用すると、出力を evmshow に引き渡すことにより、イベントソースとテンプレートファイ ルを検証できます。 evmshow(1) を参照してください。 オプション −r イベントをポストしません。その代わりに、生の EVM イベントとして stdout に直接渡します。 stdout が端末装置に向けられている場合、エラーが発生します。 −m −r オプションとともに使用した場合、イベントテンプレート項目と環境値がソース内の項目にマー ジされます。これはデフォルトのモードです。 −M −r オプションとともに使用した場合、テンプレート項目と環境値のマージが禁止されます。 −a msg sys.unix.evm.msg.admin という名前と変数データ項目内の msg 文字列を使用して、管理者の簡単な メッセージイベントをポストします。メッセージに空白文字が含まれる場合、二重引用符 ("") で メッセージを囲む必要があります。このイベントは、メッセージエントリをイベントログに追加す HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-389 evmpost(1) evmpost(1) る際に使用されます。このオプションを使用できるのは、権限のあるユーザーだけです。 sys.unix.evm.msg.user という名前と変数データ項目内の msg 文字列を使用して、ユーザーの簡単な −u msg メッセージイベントをポストします。メッセージに空白文字が含まれる場合、二重引用符 ("") で メッセージを囲む必要があります。このイベントは、メッセージエントリをイベントログに追加す る際に使用されます。 −p priority 優先順位を、管理者またはユーザーの簡単なメッセージのイベント優先順位として割り当てます。 優先順位の値は、 0−700 の範囲の整数である必要があります。優先順位を指定しない場合は、デ フォルト値である 200 が使用されます。 オペランド filename filename からイベントソースを読み取ります。 filename を省略した場合、または − と指定した場 合、stdin からイベントソースが読み取られます。 戻り値 終了時に以下の値が返されます。 0 正常に終了しました。 0 以外 エラーが発生しました。 例 • 以下の例では、対応する名前のイベントがテンプレートファイルに含まれており、そのテンプレートファイ ルが EVM デーモンに登録済みであると仮定して、イベントをポストします。 echo ’event { name myco.myapp.test.start }’ | evmpost • 以下の例では、イベントテンプレートファイルを解釈し、各イベントの内容のダンプを表示します。タイム スタンプなどの環境項目はイベントにマージされません。このコマンドは、ファイルの構文および内容を チェックします。 cat myevents.evt | evmpost −r −M | evmshow −D • 以下の例は、evmpost をシェルスクリプト内で使用し、何らかの操作が完了したことを通知する方法を示し ています。 #! /bin/ksh do_backups # A script file that does periodic backup if [ $? −eq 0 ] then EVNAME=myco.ops.backup.ok else EVNAME=myco.ops.backup.failed fi Section 1-390 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 evmpost(1) evmpost(1) echo "event {name $EVNAME}" | evmpost • 管理者のメッセージイベントをポストするには、以下の例を root で実行する必要があります。 evmpost −a "Power outage recovery completed" −p 250 • 以下の例では、簡単なユーザーメッセージをポストします。 evmpost −u "Leaving for lunch." • この例では、変数を含むイベントをポストします。 evmpost << EOF event { name myco.ops.backup.ok var { name backup.vol type string value "tape 73" } } EOF このイベント用のテンプレートに以下のフォーマットのデータ項目が含まれる場合、 "Backup completed to $backup_vol" evmshow はこのイベントを以下のように表示します。 "Backup completed to tape 73" 警告 evmpost コマンドは、生のイベントを端末装置に出力しようとする試みを拒絶します。 ユーザーがポスト権限を持ち、対応するテンプレートが存在するイベントのみをポストします。 ファイル /etc/services インターネットサービスで使用されるソケットおよびプロトコルの定義 /etc/evm.auth EVM 権限ファイルの場所 参照 コマンド evmget(1), evminfo(1), evmshow(1), evmsort(1), evmwatch(1) ルーチン EvmEventPost(3) HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-391 evmpost(1) evmpost(1) ファイル evmdaemon.conf(4), evmtemplate(4), services(4) イベント管理 EVM(5) EVM イベント EvmEvent(5) Section 1-392 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 evmshow(1) evmshow(1) 名称 evmshow − EVM イベントを表示する 構文 evmshow [−d | −D | −x] [−t show_template] [−T timespec] [−r | −b item_list] [−c config_file] [−f filter_exprt] [−F] [−k skip_count] [−n show_count] [ filename | −] 説明 evmshow コマンドは EVM のイベントフォーマッタです。このコマンドは、他の EVM コマンドが生成した生 の EVM イベント、またはファイル内に保存されている生の EVM イベントのいずれかを読み込み、表示用の 形式に変換します。 filename を指定しない場合、または filename が − の場合、stdin からイベントが読み込ま れます。フォーマットされた出力は stdout に書き込まれます。 evmshow コマンドをフィルターとして使用 し、選択した生のイベントセットを出力することもできます。 −d、−D、−r、または −b のいずれのオプションも指定しない場合、各イベントは、以下の規則に従ってフォー マットされ、単一のテキスト行として stdout に書き込まれます。 −t オプションを使用する場合、指定した show_template 文字列がイベントのフォーマットに使用されます。変 数 EVM_SHOW_TEMPLATE が環境内に存在する場合、 −t オプションを省略すると、この変数の値が show_template として使用されます。利用可能な show_template がない場合は、@@ のデフォルト値が使用され ます。 @@ については、このセクションの後半で詳細に説明します。 show_template は、@item_name[%width] 形式のイベントデータ項目指定子を含む文字列です。 item_name は、 timestamp、priority、width などの標準イベントデータ項目の名前です。 width は、値が占有する最小の文字数 です。標準イベントデータ項目の完全なリストについては、EvmEvent(5) を参照してください。 $ で始まる変数指定子を使用すると、EVM イベントおよびテンプレートで定義されている変数を show_template に含めることができます。 show_template が利用可能な場合、evmshow は、テンプレート内の各指定子または変数を、イベント内の対応 するデータ項目または変数の値に置き換えます。生成される出力文字列には、必要な項目のみが格納されま す。 show_template 内の文字が指定子または変数の一部でない場合、この文字は未変更のまま出力されま す。。この方法を使用すると、リテラル文字列、句読点、および空白文字を簡単に挿入できます。 タブおよび改行を挿入するには、\t および \n をそれぞれ使用します。 たとえば、 "@timestamp [@priority] @name" という show_template を指定した場合、evmshow によって読み 込まれた各イベントは、単一のテキスト行として表示されます。このテキスト行は、日時、括弧で囲まれたイ ベントの優先順位、およびイベント名で構成されます。 出力は以下のように表示されます。 03-Feb-2000 02:00:00 [200] sys.unix.evm.chmgr.cleanup_done 特殊な show_template 指定子である @@ は、イベントのフォーマット済みテキストに置き換えられます。この フォーマット済みテキストは、evmtemplate フォーマットデータ項目を受け取ることによって生成されます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-393 evmshow(1) evmshow(1) 次に、埋め込まれている変数指定子 ($で始まる) が対応する変数値に置き換えられ、データ項目指定子が対応 するデータ項目に置き換えられます。 たとえば、 "@timestamp [@priority] @@" という show_template を指定した場合、表示方式は以下のようにな ります。 03-Feb-2000 02:00:00 [200] EVM channel mgr: Log cleanup completed イベント内に存在しない項目を show_template 内の @ で指定した場合、この項目はハイフン文字 − に置き換え られます。 有効な項目名または変数値にそれぞれ関連付けられていない @ 文字または $ 文字は、未変更のまま出力され ます。 @@ または $ のシーケンスを出力に含める必要がある場合は、@ 文字と $ 文字をバックスラッシュ (\) でエスケープする必要があります。 −T オプションを指定した場合、timespec で指定した形式のイベントのタイムスタンプ値が、フォーマット済み の各行に前置されます。 timespec には、date(1) のマンページの Field Descriptors セクションで定義された指定 子を含む任意の文字列を指定できます。たとえば、文字列 "%Y/%m/%d %T" を指定した場合、yyyy/mm/dd hh:mm:ss 形式の日時が生成され、この日時と行の残りを区切るための空白文字がその後に置かれます。タイ ムスタンプを任意の形式で生成する場合は、show_template で @timestamp を指定する代わりにこのオプション を使用してください。 −f オプションを使用して EVM フィルター文字列を指定すると、evmshow に引き渡すイベントを制限すること ができます。このオプションを使用した場合、filter_expr に一致するイベントのみが出力されます。フィルター 構文の詳細については、EvmFilter(5) のマンページを参照してください。 −r オプションを −f、−k、および −n の各オプションを組み合わせて使用すると、evmshow をフィルターとし て機能させることができます。これにより、イベントストリームを読み込み、他のオプションで指定した選択 条件を満たすイベントのみを書き込むことができます。イベントは生の EVM イベントとして出力されます。 そのため、このオプションを使用する場合、出力を端末に向けることはできません。 −b オプションを使用すると、1つ以上のデータ項目または変数値を、ネイティブのバイナリ形式で抽出できま す。このオプションは、必要なデータを変数内に格納しているイベントからデータファイルを生成する場合に 特に役立ちます。 バイナリ値は、それぞれの型に応じて適切なサイズで出力ファイルに書き込まれます。たとえば、item_list で 指定された変数がイベント内に存在し、その型が UINT64 である場合、8バイトのバイナリデータが出力され ます。文字列値は、任意の長さの文字列として出力され、1バイトのヌル文字で終了します。 item_list で指定 されたデータ項目または変数がイベント内に存在しない場合、出力には何も書き込まれず、エラーも報告され ません。 −b オプションを使用すると、出力を端末に向けることはできません。 オプション −c config_file デフォルトのチャネル構成ファイルである /etc/evmchannel.conf の代わりに、config_file をチャネル構成ファイルとして使用します。デフォルトのチャネル構成ファイルは、−d オプションまたは −x オプションを使用した場合に読み込まれます。 Section 1-394 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 evmshow(1) −d evmshow(1) チャネル構成ファイル /etc/evmchannel.conf の中で各イベント用に定義されている詳細 関数 (fn_details) を使用して、イベントを複数行の完全な詳細表示として出力します。 −D 各イベントをイベントの内容を表す複数行のダンプとして出力します。このフォーマッ トには、イベントの説明テキストやイベントに関する追加詳細は含まれません。 −r 各イベントをフォーマットせずに、生 (バイナリ) のイベントとして出力します。 stdout を端末装置に向けている場合、このオプションを使用するとエラーが発生します。 −b item_list 指定されたデータ項目または変数値を適切なネイティブ形式 (ASCII またはバイナリ) で 出力します。 item_list には、1つ以上の標準データ項目 (@timestamp など) または変数 ($my_variable など) を、カンマまたはタブ文字で区切って指定する必要があります。 $ またはタブ文字を使用する場合は、シェルの解釈から保護するために、リストを単一引 用符で囲む必要があります。このオプションによって生成される出力の詳細について は、「説明」セクションを参照してください。 −x イベントの説明テキストを出力します。この説明テキストは、チャネル構成ファイル /etc/evmchannel.conf の中で各イベント用に定義されている説明関数 (fn_explain) を使用 して取得されます。 −t show_template 指定された show_template を使用して、各イベントをフォーマット済みの行として出力 します。このオプションを −d、−D、または −x と組み合わせて使用した場合、フォー マット済みの行が最初に出力され、他のオプションによって生成された複数の行がその 後に出力されます。 −T timespec timespec をタイムスタンプ形式のテンプレートとして使用して、イベントのタイムスタ ンプの値をフォーマット済みの各テキスト行の先頭に出力します。 timespec の詳細につ いては、「説明」セクションを参照してください。 −f filter_expr filter_expr に一致するイベントのみを出力します。フィルター構文については、EvmFilter(5) のマンページを参照してください。 −F 指定されたフィルター文字列を stdout にエコーして終了します。 −f オプションで指定 したフィルターが保存済みフィルターを参照する場合、このフィルターは表示前に展開 されます。この機能は、ファイルからフィルター文字列を取得する場合に役立ちます。 このオプションを他の出力フォーマット制御オプションと組み合わせて使用することは できません。 −k skip_count 出力を開始する前に、入力ストリーム内の skip_count イベントをスキップします。 skip_count が入力ストリーム内のイベント数を超える場合、出力は生成されません。 −n show_count show_count イベントを出力した後で出力の生成を停止します。 show_count が入力スト リーム内のイベント数を超える場合、evmshow はすべてのイベントを出力します。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-395 evmshow(1) evmshow(1) オペランド filename イベントをファイルの filename から読み込みます。 filename を省略した場合、または − と指定した 場合、stdin からイベントが読み込まれます。 注記 1. evmshow コマンドの出力を more コマンドに引き渡す場合など、出力を間接的に端末装置に送信する場合 は、−r オプションと −b オプションを使用しないでください。 2. −A オプションを使用すると、evmget コマンドおよび evmwatch コマンドから evmshow を自動的に実行す ることができます。詳細については、evmget(1) および evmwatch(1) を参照してください。 多言語化対応 環境変数 以下の環境変数は evmshow の実行に影響します。 EVM_SHOW_TEMPLATE この変数には、show_template で説明した書式の文字列が格納されます。 −d、−D、−t、および −x の各オプションを省略した場合、この文字列が出力用の show_template として使用されます。 戻り値 終了時に以下の値が返されます。 0 正常終了しました。 0 以外 エラーが発生しました。 例 • 以下の例では、利用可能なすべてのイベントを取得し、 evmshow に引き渡してフォーマットします。 show_template を指定した場合、タイムスタンプ値、括弧で囲まれたイベントの優先順位、フォーマット済 みイベントメッセージの順にイベントが表示されます。 evmget | evmshow -t "@timestamp [@priority] @@" • この ksh の例では、上記の例と同様の方法でイベントを表示します。ただし、環境変数内の show_template を指定しているため、evmshow コマンドが簡素化されます。 export EVM_SHOW_TEMPLATE="@timestamp [@priority] @@" evmget | evmshow • 以下の例では、evmget を使用して利用可能なすべてのイベントを取得し、これらのイベントをソートして ファイルに出力します。 evmsort コマンドの −s オプションは、イベントをタイムスタンプ順にソートする よう要求します。ソート指定の末尾のハイフン文字は、ソート順が降順であることを示しています。これに より、最新のイベントが先頭に表示されます。次に、evmshow コマンドを使用して、ファイル内のイベン トのうち、先頭の5つ (最新) のイベントの完全な詳細 (−d オプションで示される) を表示します。 evmget | evmsort -s "@timestamp-" > my_eventfile Section 1-396 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 evmshow(1) evmshow(1) evmshow -n 5 -d my_eventfile | more • 以下の例では、指定された sys フィルターファイルに含まれている evm という名前のフィルターの値を表 示します。フィルターファイルの詳細については、evmfilterfile(4) を参照してください。 evmshow -f "@sys:evm" -F • 以下の例では、すべてのイベントを取得し、 yyyy/mm/dd hh:mm:ss 形式のタイムスタンプ、優先順位、 フォーマット済みメッセージの順にイベントを表示します。タイムスタンプの形式オプションの詳細につい ては、date(1) を参照してください。 evmget | evmsort | evmshow -T "%Y/%m/%d %T " -t "[@priority] @@" • 以下の例では、優先順位が 600 以上のイベントを監視し、これらのイベントを詳細な表示形式でユーザー jim にメールします。このメールには、各イベントを識別する表題行が付けられます。 evmshow コマンド の −t オプションを指定して、表題行を出力の先頭行として生成します。 −d オプションを指定した場合、 evmshow は、表題行の後にイベントの詳細表示を出力します。 mail コマンドは、Subject: から始まる行を 電子メールメッセージの表題として使用します。 evmwatch -f "[priority >= 600]" | evmshow -t "Subject: EVENT [@priority] @@" -d | mail jim • 以下の例では、file1 から生の EVM イベントを読み込み、優先順位が 500 以上のイベントを file2 に書き込 みます。 −r オプションを指定しているため、生の EVM イベントが出力ファイルに格納されます。 evmshow -r -f "[priority >= 500]" file1 > file2 • 以下の例では、evmwatch −i オプションを使用して、すべてのイベントテンプレートのリストを EVM デー モンから要求します。次に、evmshow を使用して、各テンプレートの名前、優先順位、説明テキストの順 に表示します。イベントテンプレートの詳細については、evmtemplate(4) を参照してください。 evmwatch -i | evmshow -t "@name [@priority]" -x | more 警告 evmshow コマンドは、生のイベントを端末装置に出力しようとする試みを拒絶します。 ファイル /etc/evmchannel.conf EVM チャネル構成ファイルの場所 参照 コマンド date(1), evmget(1), evminfo(1), evmpost(1), evmsort(1), evmwatch(1) ルーチン EvmEventFormat(3) HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-397 evmshow(1) evmshow(1) ファイル evmchannel.conf(4), evmfilterfile(4), evmtemplate(4) イベント管理 EVM(5) EVM イベント EvmEvent(5) イベントフィルター EvmFilter(5) Section 1-398 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 evmsort(1) evmsort(1) 名称 evmsort − イベントをソートする 構文 evmsort [−A [−t show_template]] [−s sport_spec] [ filename | −] 説明 evmsort は、EVM イベントのストリームを読み込んでソートします。デフォルトでは、stdin からイベントが 読み込まれ、タイムスタンプの昇順にソートされます。ソートされたイベントは、このコマンドの stdout スト リームに、生の EVM イベントの形式で書き込まれます。 −s オプションで sort_spec を指定するか、または EVM_SORT_SPEC 環境変数を目的のソート指定に設定する ことにより、ソート順を指定することができます。ソート指定では、以下の書式の文字列を使用します。 @key_item [ +|− ] [:@ key_item[ +|− ]] key_item は任意の EVM 標準データの名前で、@ 文字はオプションです。 特殊な key_item である @@ を指定した場合、evmshow(1) のマンページの説明にあるように、イベントの format データ項目が展開され、展開後の文字列がソートキーとして使用されます。 後続の + 文字または − 文字はオプションで、昇順 (+) または降順 (−) のソートを指定します。デフォルトで は、項目は昇順でソートされます。 複数の項目を文字列に含める場合は、コロン文字 (:) で各項目を区切ります。ソート指定の左端の key_item は 最も重要なキーです。 ソート指定で指定した key_item が入力ストリームから読み込まれたイベントに含まれない場合、その項目がイ ベントにとって重要度が低いものとみなされます。たとえば、入力イベントを name データ項目の昇順にソー トする場合、名前を含まないイベントは、出力ストリームの先頭に書き込まれます。 −A オプションを指定した場合、evmsort は、evmshow を自動的に起動し、ソート済みのイベントストリーム を引き渡して、各イベントをソートおよびフォーマットして表示します。 −t show_template 引き数を −A とと もに指定した場合、指定したテンプレート文字列が evmshow の −t オプションによって evmshow に渡されま す。 詳細については、evmshow(1) のマンページを参照してください。 オプション −A evmshow を自動的に起動し、ソート済みのイベントをフォーマットして表示します。 −s sort_spec イベントをソートする際に使用されるソート指定です。 sort_spec の構文およびデフォルトのソート 順の詳細については、「説明」セクションを参照してください。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-399 evmsort(1) evmsort(1) −t show_template −A オプションとともに指定した場合、テンプレート文字列が evmshow に渡されます。 −A オプ ションを指定しない場合、この引き数は無視されます。テンプレート文字列の詳細については、 evmshow(1) のマンページを参照してください。 オペランド filename filename からイベントソースを読み込みます。 filename を省略した場合、または − と指定した場 合、stdin からイベントソースが読み込まれます。 多言語化対応 環境変数 以下の環境変数は evmsort の実行に影響します。 EVM_SORT_SPEC この変数には、sort_spec で説明した書式の文字列が格納されます。 −s オプションを省 略した場合は、この文字列が sort_spec として使用されます。 戻り値 終了時に以下の値が返されます。 0 正常に終了しました。 0 以外 エラーが発生しました。 例 • 以下の例では、優先順位が 300 以上のイベントをすべて取得して、まず優先順位の降順 (最も緊急性の高い イベントが先頭 ) にソートし、次に時間の昇順 ( 最も古いイベントが先頭 ) にソートします。次に、 evmshow を自動的に実行して、これらのイベントを表示します。 evmget −f ’[priority >= 300]’ | evmsort −s "@priority-:@timestamp" | evmshow −t "@priority @timestamp @@" • 以下の例では、すべてのイベントのリストを取得して、まず名前昇順にソートし、次に時間の降順 (最も新 しいイベントが先頭) にソートします。 evmget | evmsort −s "@name:@timestamp-" | evmshow −t "@name @timestamp @@" • 以下の例では、すべてのイベントのリストを生成して、まずフォーマット済みメッセージの順にソートし、 次に時間で昇順にソートします。次に、これらのイベントを evmshow に渡し、さらに more コマンドに渡 して表示します。 evmget | evmsort −A −s "@@:@timestamp" −t "@timestamp @@" | more 警告 evmsort コマンドは、生のイベントを端末装置に出力しようとする試みを拒否します。 Section 1-400 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 evmsort(1) evmsort(1) 参照 コマンド evmget(1), evmpost(1), evmshow(1), evmwatch(1) ファイル evmchannel.conf(4) イベント管理 EVM(5) EVM イベント EvmEvent(5) イベントフィルター EvmFilter(5) HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-401 evmwatch(1) evmwatch(1) 名称 evmwatch − EVM イベントを監視する 構文 evmwatch [−A [−t show_template]] [−f filter_expr] [−C channel-list] [−w timeout] [−i | −x] [−R reconnect-timeout] 説明 evmwatch コマンドは、-f filter_expr オプションで指定されたイベントをサブスクライブし、すべてのイベント をその到着時に stdout ストリームに渡します。出力形式は生の EVM イベントです。 −A オプションを指定した場合、evmwatch は、evmshow を自動的に起動してイベントストリームを渡し、イ ベントをフォーマットして表示します。 show_template 引き数を指定した場合、指定したテンプレート文字列 が evmshow の −t オプションによって evmshow に渡されます。詳細については、evmshow(1) を参照してくだ さい。 EVM デーモンに接続できない場合、evmwatch は、エラーメッセージを表示して直ちに終了します。いったん 接続に成功した後で切断された場合、reconnect-timeout の期限が切れるまで定期的に再接続を試行します。最 初の1分間は1秒ごとに再接続を試行し、その後は5秒ごとに試行します。 オプション −A evmshow を自動的に起動し、受信したイベントをフォーマットして表示します。 −f filter_expr filter_expr に一致するイベントの通知をサブスクライブします。 filter_expr の構文については、EvmFilter(5) を参照してください。デフォルトでは、evmwatch コマンドはすべてのイベントをサブスク ライブします。 −t show_template −A オプションとともに指定した場合、テンプレート文字列が evmshow に渡されます。 −A オプ ションを指定しない場合、この引き数は無視されます。テンプレート文字列の詳細については、 evmshow(1) を参照してください。 −w timeout timeout で指定された時間内に処理するイベントがない場合に終了します。 timeout の書式は、 [[[days:]hours:]minutes:]seconds です。 days、hours、および minutes には、9999 までの任意の整数を 指定できます。また、seconds には、9999999 までの任意の整数を指定できます。値を省略した場合 は 0 とみなされます。変換された値が 100,000,000 秒を超える場合は、エラーが報告されない値に 自動的に減らされます。タイマーは、イベントを受信するたびにリセットされます。 −i 指定されたフィルター文字列に一致し、ユーザーがアクセス権限を持つ、すべての登録済みイベン トテンプレートのコピーを EVM デーモンから取得します。そのテンプレートを EVM イベントと して stdout に書き込んでから終了します。 −x Section 1-402 filter_expr に一致する最初のイベントを処理した直後に、0 の終了値を返して終了します。 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 evmwatch(1) evmwatch(1) −R reconnect-timeout EVM デーモンへの接続が切断された場合に、evmwatch が再接続を試行する間隔を指定します。 reconnect-timeout の書式は、[[[days:]hours:]minutes:]seconds です。 days 、hours 、および minutes に は、9999 までの任意の整数を指定できます。また、seconds には、9999999 までの任意の整数を指 定できます。値を省略した場合は 0 とみなされます。変換された値が 100,000,000 秒を超える場合 は、エラーが報告されない値に自動的に減らされます。 reconnect-timeout を 0 に設定した場合、evmwatch は、接続が切断されると直ちに終了します。この オプションを指定しない場合、再接続タイムアウトは5秒に設定されます。 戻り値 終了時に以下の値が返されます。 0 正常終了しました。 0 以外 タイムアウトなどのエラーが発生しました。 例 • 以下の ksh の例では、優先順位が 200 以上のすべてのイベントを監視し、stdout に表示します。これらの イベントは自動的に evmshow に渡され、フォーマットされて表示されます。 export EVM_SHOW_TEMPLATE="@timestamp [@priority] @@" evmwatch −A −f "[pri >= 200]" • 以下の例では、evmwatch は、別のプロセスが特定のイベントをポストするまで待機し、その後、処理を続 行します。 /dev/null への出力のリダイレクトは、そのイベントの内容が関係のないものであることを示し ています。 evmwatch −f "[name myco.ops.backup.done]" −x >/dev/null 以下のスクリプトは上記の例を基に作成したものです。このスクリプトは、イベントが発生するまで 5分間 (300 秒) 待機するか、またはイベントの発生直後に終了します。 #! /bin/ksh evmwatch -f "[name myco.ops.backup.*]" -x -w 300 >/dev/null if [ $? -eq 0 ] then echo Backup completed! else echo Backup timed out! fi • 以下のシェルスクリプトは、パルスイベントを受信するまで最大で5分間 (300 秒) 待機します。パルスが 到着するたびにタイマーがリセットされ、evmwatch は次のパルスを受信するまで待機します。タイマーの 期限が切れた場合、evmwatch はエラーコードを返して終了します。このスクリプトは、警告を表示し、優 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-403 evmwatch(1) evmwatch(1) 先順位の高いイベントをポストした後で終了します。 #! /bin/ksh evmwatch -f "[name myco.myapp.pulse]" -w 300 >/dev/null if [ $? -ne 0 ] then echo ‘date‘ Pulse monitor: No pulse received. evmpost <<END event { name myco.myapp.pulsemon.no_pulse priority 650 } END fi • 以下の例では、ユーザーがアクセス権限を持つ、すべての登録済みイベントの名前を一覧表示します。 evmwatch −i | evmshow −t "@name" | more 警告 evmwatch コマンドは、生のイベントを端末装置に出力しようとする試みを拒否します。 evmwatch コマンドは、ユーザーがアクセス権限を持つイベントのみを監視します。アクセス権限の詳細につ いては、evm.auth(4) を参照してください。 ファイル インターネットサービスで使用されるソケットおよびプロトコルの定義 /etc/services 参照 コマンド evmget(1), evmpost(1), evmshow(1), evmsort(1) ファイル evmfilterfile(4), services(4) イベント管理 EVM(5) EVM イベント EvmEvent(5) イベントフィルター EvmFilter(5) Section 1-404 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ex(1) ex(1) 名称 ex, edit − 行指向の拡張テキストエディタ 構文 ex [-] [-l] [-r] [-R] [-t tag] [-v] [-wsize] [-x] [-C] [+command] [ file ...] UNIX 標準構文 ex [-rR] [-s -v] [-c command] [-t tag] [-w size] [ file ...] 旧式のオプション ex [-rR] [- -v] [+command] [-t tag] [-w size] [ file ...] edit [-] [-l] [-r] [-R] [-t tag] [-v] [-wsize] [-x] [-C] [+command] [ file ...] 特記事項 プログラム名 ex, edit, vi, view, および vedit はそれぞれ、同一プログラムの別版です。本書の項目では、 ex/edit の動作について説明します。多くの HP-UX やその他の類似システムでは、e は ex と同じです。 説明 ex プログラムは、スクリーン指向のエディット (vi(1) を参照) もサポートした行指向のテキストエディタで す。 (UNIX 標準のみ。standards(5) 参照) 特定のブロックモードの端末には、visual モードや open モードのフルス クリーンエディタ コマンドのように、完全な ex 定義をサポートするために必要なすべての機能がありませ ん。これらのコマンドを端末でサポートできないときは、「エディタコマンドではありません」のようなエ ラーメッセージも構文エラーのリポートも生成しません。 edit プログラムは ex と同じですが、初心者や一時的なユーザーにエディタを使いやすくするためにエディタオ プションのデフォルトに一部変更がなされている点が異なります(以下の「エディタオプション」を参照)。 オプションと引き数 ex は以下のコマンド行オプションおよび引き数を認識します。 - (旧式)対話型のユーザーフィードバックをすべて行わないようにします。これは、エディタコ マンドがスクリプトからとられるときに有効です。 -s (UNIX 標準のみ。standards(5) 参照) 対話型のユーザーフィードバックをすべて抑制します。これは、エディタコマンドをスクリプ トから参照するときに使用できます。 TERM の値と処理系ターミナルタイプを無視します。そして、端末が ビジュアルモードをサ ポートできないタイプと仮定します。 環境変数 EXINIT の使用と .exrc ファイルの解釈を抑制します。 -l lisp エディタオプションをセットします (以下の「エディタオプション」を参照)。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-405 ex(1) ex(1) -r エディタまたはシステムのクラッシュの後、指定された files を回復します。 file の指定がな ければ、セーブしたファイルすべてのリストがプリントされます。ファイルを回復するには、 セーブしたファイルの所有者でなければなりません。(スーパーユーザーは、他のユーザーが 所有するファイルを回復することはできません)。 -R 不用意にファイルをオーバライトするのを防止するために 読み出し専用エディタオプション を設定します (以下の「エディタオプション」を参照)。 -t tag (UNIX 標準のみ。standards(5) 参照) 指定した tag を含むファイルを編集し、最初のコマンド が :tag tag として続きます。 -t tag と ta コマンドで示すタグはオプションです。この機能 は、ctags 適合を実現しているシステム上で提供しています。提供していないシステムでは、 -t の使用は未定義の結果をもたらします。 tag tag コマンドを実行し、定義済みファイルをロード、位置決めします。コマンドの説明に ある tag コマンド、および以下の「エディタオプション」にある tags エディタオプションを 参照してください。 -v ビジュアルモード (vi) を呼び出します。 -w size window エディタオプションの値を size に設定します ( 以下の「エディタオプション」を参 照)。 size を省略すると、デフォルトは 3 になります。 -x 暗号化モードをセットします。暗号化ファイルの作成またはエディットを始めるためのキーを 求められます (以下の「コマンドの説明」にある crypt コマンドを参照)。 -C 暗号化オプション。読み込まれた全テキストを暗号化されているものとみなす以外は、-x オ プションと同じです。 -c command +command (UNIX 標準のみ。standards(5) 参照) (旧式) 指定した ex の検索またはジャンプを行う command を実行することによってエディッ トを始めます。 file はエディット対象の単一または複数のファイルを指定します。 file を指定すると、ファイルは 与えられた順序で処理されます。 -r オプションも指定すると、ファイルは回復エリアから読 み出されます。 (UNIX 標準のみ。standards(5) 参照) -t tag と -c command オプションを両方とも指定すると、-t tag を最初に処 理します。つまり、タグを含むファイルが -t で選択され、次にコマンドが実行されます。 定義 カレントファイル 。 ex によってエディットされているファイルを、カレントファイルといいます。カレント ファイル内のテキストはワークエリアに読み込まれ、エディットした変更はすべてこのワークエリアに対して 行われます。変更は、ワークエリアが明示的にファイルに書き戻されるまで元のファイルに影響を与えませ ん。 % 文字をファイル名として使用すると、それはカレントファイル名に置き換えられます。 代替ファイル 。代替ファイルとは、エディタコマンドで直前に表示したファイル名、または直前に表示した Section 1-406 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ex(1) ex(1) ファイルがカレントファイルになる場合にはその前のカレントファイル名です。 # 文字をファイル名として使 用すると、それは代替ファイル名で置き換えられます。 バッファ 。 a から z までの26個の名前付きバッファは、編集時にテキストブロックをセーブすることに使用で きます。バッファ名を大文字で指定すると、テキストは、既存のバッファの内容をオーバライトするのではな く、これに追加されます。 読み出し専用フラグ 。 読み出し専用フラグは、 noreadonly エディットオプションを設定することによってエ ディタの中からクリアできます (以下のエディットオプションを参照)。readonly フラグがセットされていると きでも、別の名前のファイルへの書き出しは許されます。また、書き込みコマンドの後に ! を使って、書き込 みを 読み出し専用ファイルに強制することができます(以下の「コマンドの説明」にある write コマンドを参 照 )。 割込み 。割込みシグナルが受信されると、キーボードからコマンドが与えられている場合には、ex はコマン ドモードに戻ります。エディタコマンドがファイルから得られる場合には、割込みシグナルにより、ex は打ち 切られます。 システムクラッシュ 。内部エラー、または予期しないシグナルのためにシステムがクラッシュ、または ex が 中断された場合、書き込んでいない変更があれば、ex ワークエリアを保存しようとします。保存された変更を 読み出すには、 -r コマンド行オプションを使用してください。 コマンドモード / 入力モード 。 ex はコマンドモードで起動し、これはコロン (:) プロンプトによって示されま す。 ex は、append, change, または insert コマンドがあると常に入力モードに切り換わります。入力モードを 終了してコマンドモードに戻るには、行の先頭でピリオド (.) だけをタイプします。 コメント 。引用符で始まる行(") は無視されます( これはエディタスクリプトにコメントを入れるのに便利で す)。 複数のコマンドは、縦線文字 (|) で区切ることによって1行に結合することができます。ただし、グローバルコ マンド、コメント、およびシェルエスケープ コマンドは | 文字で終えることができないため、行の最後のコマ ンドでなければなりません。 アドレス指定 (UNIX 標準のみ。standards(5) 参照) ex でのアドレス指定は現在の行に対応しています。一般的に、現在の行が コマンドの影響を受けた最後の行です。現在の行に対する正確な影響は、各コマンドの記述で説明してます。 バッファに1行もないときは、現在の行は、0 に設定さます。 ex は次の行アドレス形式を認識します。 . ドットまたはピリオド (.) は現在の行を参照します。常に、その位置が明示的な移動 コマンドの結果か、または複数の行に影響を与えるコマンドの結果( この場合は、通 常最後に影響を受けた行)となる可能性のある現在の行があります。 n ワークエリアにおける n 番目の行。行には、行 1 から始めて連続に番号が付けられま す。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-407 ex(1) ex(1) $ ワークエリアにおける最終行。 % 1,$ の省略形で、ワークエリア全体を意味します。 +n, +[+]... 現在の行、または専攻する行指定に相対的なオフセット。 + は前方を意味します。 - -n, -[-]... は逆方向を意味します (例えば、形式 .+3, +3, および +++ は等価です)。 /re/ パターン re の入っている行で、順方向 (/) または逆方向 (?) に走査します。後ろに付 ?re? ける / または ? は、その行だけが表示される場合は省略可能です。 re を省略すると、 ex は、走査文字列または置換え文字列の最新のセットを使用します(以下の「正規表 現」を参照)。 ’x 行は、1文字の ASCII 小文字英字を使ってマークできます ( 以下の「コマンドの説 明」にある mark コマンドを参照)。 ’x は x でマークされた行を参照します。さら に、前の現在行は非相対移動の前にマークされます。この行は x に ’ を使用して参照 できます (したがって ’’ は前の現在行を参照します)。 (UNIX 標準のみ。standards(5) 参照) コマンドには、0個か1個か2個のアドレス指定 が必要です。アドレスを必要としないコマンドは、アドレスがあるとエラーとみなさ れます。 (UNIX 標準のみ。standards(5) 参照) range の隣接したアドレスは、それぞれをコンマ (,) またはセミコロン (;) で区切ります。セミコロンで区切った場合は、現在の行 (.) が最初のアドレスに設定され、2番目のアドレスは そこから算出されます。この機能が、常に前方および後方検索の開始行を決定します。 2個並んだアドレスの うちの2番目のアドレスは、最初の行に対応しています。最初のアドレスは2番目のアドレス以下のアドレスに なります。最初のアドレスは編集しているバッファの開始行以上のアドレスになり、最後のアドレスは編集し ているバッファの最終行以下のアドレスになります。他の場合はいずれもエラーになります。 コマンドのアドレスは、(上記に従って指定した)一連の行アドレスで構成され、コンマ (,) またはセミコロン (;) で区切ります。このようなアドレスリストは左から右に評価されます。セパレータがセミコロンの場合、現 在の行は、次のアドレスが解釈される前に前のアドレス値に設定されます。コマンドに必要以上のアドレスを 与えると、最後の1、2個を除いてすべて無視されます。コマンドに 2個のアドレスが必要な場合には、ワーク エリアの中で最初にアドレス指定した行は、2番目にアドレス指定した行より前になければなりません。リス ト内のヌル(省略)アドレスのデフォルトは現在の行になります。 正規表現 このエディタでは、常に 2 種類の正規表現文字列のコピーを保持します。これらは、置換文字列とスキャン文 字列です。置換コマンドは置換文字列を、使用された正規表現に設定します。すべてのコマンドについて、行 アドレス指定 (上記の「アドレス指定」を参照)のグローバルコマンドおよび正規表現の両形式はスキャン文字 列を、使用された正規表現に設定します。これらの文字列は、「アドレス指定」にある global コマンド、およ び substitute コマンドのところに説明のあるようにデフォルト正規表現として使用されます。 このエディタは基本正規表現 (regexp(5) を参照)をサポートしますが、以下の変更があります。 Section 1-408 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 ex(1) ex(1) \< \< は「ワード」の先頭にマッチします。つまり、マッチした文字列の先頭は英字、数 字、またはアンダラインでなければならず、またその文字の前は行頭か、またはそれら 以外の文字でなければなりません。この構文は通常表現 (\<word のような) の初めにのみ 使用され、 (word1 \<word2) の中では使われません。 \> \> はワードの終端にマッチします(前のパラグラフを参照) この構文は通常表現 (word\> のような) の終わりにのみ使用され、 (word1\> <word2) の中では使われません。 ˜ [string] 最後の substitute コマンドの置換部分にマッチします。 基本正規表現によって定義される大かっこ表現内の位置の引用は、大かっこ表現の特殊 文字を引用するためのバックスラッシュ (\) の使用によって置換されます。 nomagic エディタオプション nomagic がセットされていると、特別な意味を持つ唯一の文字はパ ターン先頭の ˆ 、パターン末尾の $ 、および \ です。文字 .、 *、 [, 、および ˜ は、 \ で エスケープしない限りその特殊な意味を失います。 置換文字列 置換文字列内にある文字 & は、置換されるパターンにマッチしたテキストを表します。 nomagic エディタオ プションをセットしない場合は、 \& を使用してください。 文字 ˜ は、前の substitute コマンドの置換部分に置換されます。 nomagic エディタオプションをセットしない 場合は、 \˜ を使用してください。 n が整数のとき、シーケンス \n は、 n 番目のかっこ \(および \)の組で囲まれるサブパターンにマッチするテキ ストによって置換されます。 シーケンス \u (\l) により、置換文字列における直後の文字が英字ならば大文字(小文字)に変換します。シーケ ンス \U (\L) は、シーケンス \E または \e に出会うか、またはその置換文字列の終端に達するまで大文字/小文 字の変換をオンにします。 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-409 ex(1) ex(1) コマンド名と省略形 以下の表に、行モードのコマンドを要約します。名前がかっこで囲まれているコマンドは、省略形でのみ使用 できます。 コマンド 省略形 コマンド 省略形 コマンド 省略形 abbreviate append args change chdir ab a ar c chd cd next number open pop preserve n nu # o tag unabbreviate undo unmap version ta una u unm ve copy crypt delete edit file co t cr X d e ex f print put quit read recover p pu q r rec visual write xit yank vi w wq x ya global insert join list map gv i j l rewind set shell source stop rew se sh so st ˆZ (実行バッファ) *@ = < > ˆD mark move ma k m substitute suspend s sr & ˜ su ˆZ (シェルエスケープ) pre (行番号) (左シフト) (右シフト) (スクロール) (ウィンドウ) ! z コマンドの説明 以下のコマンドの説明では、頻繁に現れる引き数があります。それらを以下に説明します。 上記の「アドレス指定」で説明した任意の形式による 1 行アドレス。デフォルトは現在の line 行です。 range 上記の「アドレス指定」で説明したコンマまたはセミコロンで区切った1行アドレスのペ ア。デフォルトは現在の行です (.,.)。 count コマンドによって影響を受ける行数を指定する正の整数です。デフォルトは 1 か、または range における行数です。 count を指定すると range は無効になります。かわりに、コマンドの対象とする最初の行を 指示するには 1 つの行番号だけを指定しなければなりません。 (範囲を指定すると、その範 囲の最後の行がそのコマンドの開始行として解釈されます。) flags #, p, および l のうちの1文字以上の文字です。コマンドの完了後、行のプリントに対応する コマンドが実行されます。任意個数の + または - 文字もこれらのフラグに与えることがで Section 1-410 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 ex(1) ex(1) きます。デフォルトはフラグなしです。 これらの修飾子は、すべてオプションです。 line または range だけを(ヌルコマンドで)指定するとき、暗黙のコマンドは print です。ヌル行を入力すると、 次の行がプリントされます (.+1p と等価です)。 buffer (UNIX 標準のみ。standards(5) 参照) テキストを保存するいくつかの名前付き領域のひとつ です。この名前付きバッファは、POSIX ロケールの小文字で指定します。 buffer を指定す ると、コマンドにより影響を受けるテキスト領域を、コマンドにより影響する前のバッ ファとして保存します。この引き数は、put コマンドやビジュアルモードの "put" コマンド (p および P) を使用し、挿入するテキストのバッファを指定することもできます。 バッファ名を大文字で指定したり、バッファを変更する場合は、そのバッファは上書きさ れるのではなく追加されます。バッファを変更しない場合は、バッファ名を大文字で指定 しても小文字で指定しても同じ結果になります。また、バッファを指定せずにすべてのテ キストを削除したり記憶するための格納場所として、名前のないバッファが 1つあります。 ビジュアルモードからのみアクセスできる 1 から 9 まで番号付けされたバッファもありま す。ビジュアルモードにおいて削除したテキストを名前のないバッファに入れるとき、こ のテキストはバッファ 1 にも入り、以前バッファ 1 に入っていたものはバッファ 2 に、と いう具合にこれらのバッファが設定されます。バッファ 9 のテキストはなくなります。名 前のないバッファに記憶されたテキストは番号付けられたバッファを変更しません。 s 番 と名付けられたバッファを使ってビジュアルモードの "put" コマンドでテキストを取り出す ことは可能ですが、番号付けられたバッファにテキストを直接入れることはできません。 後述するコマンドのバッファ修飾子を使用しない場合は、名前のないバッファはデフォル トの状態になっています。 word (UNIX 標準のみ。standards(5) 参照) POSIX ロケールにおいて、word は英字、数字、およ びアンダースコアのシーケンスで構成されています。そして両端は、英字、数字、および アンダースコア以外の文字で区切られるか、単語またはファイルの先頭と終端で区切られ ます。 ! の文字をコマンドに追加して、各コマンドの詳細説明のとおりに操作を変えるこ とができます。 count と range の両方を指定したコマンドを使用する場合は、影響する行数は range ではな く count の値になります。コマンドの開始行は、指定された範囲の先頭行になります。 line や range だけがコマンドなしで指定された場合は、暗黙的にコマンドは print、 list、あ るいは number (p、 l、あるいは #) のどれかとなります。選択されるコマンドは 3つのコマ ンドのうち最後に使用したものです。範囲や行数を指定せず、コマンド行が空白行の場合 は、現在の行が対象となり、現在の行には .+1 が設定されます。 アドレス、行数あるいはコマンド名のすぐ前か後には、0個の文字または空白モードの文字 を指定できます。コマンド名の後ろに指定する (例えば、buffer 、file)、アルファベットで始 HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-411 ex(1) ex(1) まるものはすべて、少なくとも 1つの空白でコマンドを区切る必要があります。 各コマンドのリストを以下に示します。コマンドは省略して入力できます (省略した文字列は、コマンド構文 の [ の前に記述された単語です)。完全なコマンド ([ と ] を取り除いたコマンド単語をすべての文字で示した もの)、あるいは完全なコマンドから省略したものまでの部分集合を入力できます。 abbreviate ab[breviate] word replacement 指定した省略形を現在のリストに追加します。ビジュアルモードでは、入力時に word が 完全なワードとしてタイプされると、これは文字列 replacement と置換されます。 append line a[ppend][!] 入力モードに入ります。入力テキストは指定行の後に入れられます。行0 を指定すると、 テキストはワークエリアの先頭に入ります。最後の入力行が現在の行になるか、または行 が入力されなければターゲット行になります。 ! をコマンドに追加すると、これに対する autoindent エディタオプション設定を挿入専用 に切り換えます。 args ar[gs] 引き数をプリントし、現在の引き数を [ と ] の間に入れます。 change range c[hange][!] count 入力モードに入ります。入力テキストが指定行に置き換わります。最後の入力行が現在の 行になります。行が入力されなければ、この効果は削除と同じです。 をコマンドに追加すると、これに対する autoindent エディタオプション設定を挿入専用に 切り換えます。 chdir chd[ir][!] [directory] cd[!] [ directory] ワークディレクトリを directory に変更します。 directory を省略すると、環境変数 HOME の値が使用されます。最後の書き込み以降にワークエリアが変更されたか、またはエ ディット対象のファイル名がスラッシュ (/) から始まらない場合、警告が発行され、ワー クディレクトリは変更されません。この場合、強制的にディレクトリを変更するには、文 字 ! をコマンドに追加してください。 copy range co[py] line flags range t line flags 指定した行 (range) のコピーが、指定した宛先 line の後に入ります。行 0 は、行がワーク エリアの先頭に入れられるように指定します ( 英字 t は copy コマンドの別の省略形で す)。 Section 1-412 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 ex(1) ex(1) crypt cr[ypt] X ユーザーは、暗号化モードに入るのに使用するキーを求められます。また、このコマンド を使用すると、前の crypt コマンド、または -x コマンド行オプションから入力されるキー を変更することもできます。プロンプトに対してキーを与えなければ(つまり、キャリッジ リターンだけを押す)、暗号化モードは取り消され、ワークエリアは次の書き込みコマンド によってプレーンテキストの形式で書き出されます。 暗号化モードのとき、ファイル入力はすべて現在のキーを使って解読されます。ただし、 入力ファイルが処理されている際、7ビットの ASCII 文字だけの入ったテキストブロック( 約1024 バイト) があると、そのテキストブロックはプレーンテキストであるものと仮定さ れ、解読されません。 ! シェルエスケープによって別のコマンドにパイプ接続されている もの以外のすべてのファイル出力は、現在のキーを使って暗号化されます。 エディタがワークエリアの管理に使用するテンポラリファイルは、現在のワークエリアが 廃棄され(または書き出され) て新しいファイルに対して編集が始まるまで暗号化されませ ん。暗号化保護を必要とする新しいファイルを作成する場合、エディタの起動時に -x オプ ションを指定することによって、ワークエリアファイルも暗号化するようにしてくださ い。 cr[ypt] C 暗号化オプション。読み込まれた全テキストを暗号化されてるとみなす以外は、 X コマン ドと同じです。 delete range d[elete] buffer count 指定した行がワークエリアから削除されます。名前付き buffer を指定すると、削除したテ キストはその中にセーブされます。バッファを指定しなければ、名前のないバッファ (つ まり、デフォルトでは最後に削除または記憶したテキストが入っているバッファ)が使用さ れます。削除した行がファイルの終端であった場合、新しい現在の行は、削除した行の後 の行、つまりファイルの最終行になります。 edit e[dit][!] [+ line] file ex[!] [+ line] file 新しいファイルのエディットを始めます (ex は edit コマンドの別の名前)。現在のワーク エリアが最後の書き込み以降に変更された場合、警告がプリントされ、コマンドは打ち切 られます。この動作は、文字 ! をコマンド (e! file) に追加することによって置換することが できます。これが vi の中から実行されない限り、現在の行はワークエリアの最終行です。 これが vi の中から実行される場合、現在の行はワークエリアの先頭行になります。 +line オプションを指定すると、現在の行は指定した位置に設定されます。ただし、 line は数値 HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-413 ex(1) ex(1) (または $ )にするか、または /re または ?re として指定することができます。 file f[ile] 行数および現在位置を含めて、カレントファイル名などの情報をプリントします。 global range g[lobal][!] /re/ command... range v /re/ command... re の入っている range 内の行に対して(または range を与えなければワークエリア全体に対 して) command を行います。まず、パターン re に一致するような所定の range 内の行を マークします。パターンを省略すると、置換え文字列、または走査文字列の最新のセット が使用されます(上記の「正規表現」を参照)。次に、与えられた commands が、マークし た行ごとに . を設定して実行されます。 / の代わりに英字または数字以外の任意の文字を 使用してパターンを区切ることができます。 command は、バックスラッシュで改行をエスケープすることにより、複数行に対して指定 できます。 command を省略すると、各行がプリントされます。 append, change, および insert コマンドが許されます。これが command または複数の command で終わる場合、終 了ドットは省略できます。また、 (global コマンド自体がビジュアルモードから発行され ない限り) visual コマンドも許され、ターミナルから入力をとります (command にビジュア ルモード コマンド(つまり open または visual) が含まれる場合、ビジュアルモード コマン ドは、次にマークした行に進むためにビジュアルモード Q コマンドによって終わらなけれ ばなりません)。 global コマンド自体および undo コマンドは command では許されません。エディタオプ ション autoprint, autoindent, および report は禁止されます。 ! を global コマンドに追加する(つまり、 g! ...) か、または別の名前 v を使用すると、パ ターンに一致しない range 内の行に対して command が実行されます。 insert line i[nsert][!] 入力モードに入ります。入力テキストは指定行の前に入れられます。最後の入力行は現在 の行になるか、または行が入力されなければターゲット行の前の行になります。 ! をコマンドに追加すると、これに対する autoindent エディットオプション設定を挿入専 用に切り換えます。 join range j[oin][!] count flags 指定した行からのテキストを1行に結合します。空白は、少なくとも1つの空白文字(ピリ オドが行の終端にある場合には2つ、行頭の文字がクローズ小かっこ () の場合にはなし)を 与えるように調整されます。行頭にある余分な空白は廃棄されます。 ! をコマンドに追加すると、空白処理のない、より単純な結合が行われます。 Section 1-414 Hewlett-Packard Company − 10 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) list range l[ist] count flags タブを ˆI として表示し、各行の終端を後置の $ でマークして指定した行をプリントします (有効なフラグは、行番号に対する # だけです)。最後にプリントした行が現在の行になり ます。 map map key #n action map! key #n action map および map! コマンドはビジュアルモードで使用するマクロを定義します。最初の引 き数 key は、一文字または多文字シーケンスが可能です。特殊なシーケンスでは、 #n, n はファンクションキー n を参照する数字です。特殊文字、空白、および改行を引き数内に 入れるには、 ˆV を使ってエスケープさせなければなりません。 key 引き数には、最初の 文字としてコロン (:) を入れることはできません。また、多文字シーケンスは英文字から 始めることはできません。 map によって定義されるマクロはビジュアルコマンド モードで有効になります。 map! に よって定義されるマクロはビジュアル入力モードで有効になります。 key または #n に相 当するファンクションキーが入力されると、エディタはその操作を action が入力されたも のとして解釈します。 オプションのない map または map! コマンドは、相当する現在のマクロリストを表示しま す。 以下の「エディタオプション」にある keyboardedit, keyboardedit!, timeout, および timeoutlen エディタオプションを参照してください。 mark line ma[rk] x line k x 指定した行には、指定したマーク x が与えられます。これは、1文字の小文字英字 (a-z) で なければなりません (x の前には、スペースまたはタブを付けなければなりません。現在の 行の位置は影響を受けません。 k は mark のもうひとつの名前です。 move range m[ove] line 指定した行 (range) を、ターゲット line の後に移動します。最初に移動した行が現在の行 になります。 next n[ext][!] [ file ...] コマンド行引き数リストの次のファイルをエディットします。 ! をコマンドに追加する と、最後の書き込み以降に変更されワークエリアについての警告に置換されます (また、 autowrite エディタオプションが設定されていない限り変更を廃棄)。引き数リストは、こ のコマンド行上で、新しい引き数リストを指定することによって置換することができま す。 HP-UX 11i Version 3: February 2007 − 11 − Hewlett-Packard Company Section 1-415 ex(1) ex(1) number range nu[mber] count flags range # count flags (# 文字は number コマンドの別の省略形) 各行の前に行番号を付けて行をプリントします( 有効なフラグは、 l だけ)。最後にプリントした行が現在の行になります。 open line o[pen] /re/ flags オープンモードに入ります。オープンモードは、1 行のウィンドウのあるビジュアルモー ドに類似しています。ビジュアルモード コマンドはすべて利用できます。 line 中にオプ ションの正規表現に対して一致が見つかるとカーソルは、マッチングパターンの先頭に置 かれます。オープンモードを終了するには、ビジュアルモード コマンド Q を使用しま す。詳細については、 vi(1) を参照してください。 pop pop[!] タグスタックの最上部にその名前がストアされているファイルをロードし、現在の行をス トアされていた位置に設定します。タグスタックの最上部のエントリーは削除されます。 (行モード tag コマンドまたはビジュアルモード ˆ] コマンドを実行すると、カレントファ イルの名前がスタックに入れられます。) ! は、最後の書き出し以降に修正のあったワークエリアに関する警告にオーバライドしま す。 autowrite エディタオプションをセットしていない限り、行った変更はすべて捨てら れます。 preserve pre[serve] システムがクラッシュしたときのように、現在のエディタのワークエリアがセーブされま す。このコマンドは、緊急時、例えば書き込みが機能せず、他のどんな方法でもワークエ リアをセーブできないときに使用します。ファイルを回復するには -r コマンド行オプショ ンを使用します。ファイルが保存されると、メールメッセージがユーザーに送られます。 そのメッセージには、ファイル名、保存した時刻、およびファイルを回復するための ex コマンドが入っています。その他の情報がメッセージに含まれる可能性もあります。 print range p[rint] count 非プリント文字を形式 ˆx の制御文字とし、指定行をプリントします。 DEL は ˆ? として 表されます。最後にプリントした行が現在の行になります。 put line pu[t] buffer line の後に削除または”記憶”した行を入れます。バッファは指定できます。指定がなけ れば、名前のないバッファ (つまり、デフォルトでは削除または記憶したテキストが入っ ているバッファ)が復元されます。現在の行は復元した最初の行に設定されます。 quit Section 1-416 q[uit][!] Hewlett-Packard Company − 12 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) エディットを終了させます。最後の書き込み以降にワークエリアが変更された場合には警 告がプリントされ、コマンドは異常終了します。変更を保存せずに強制的に終了するに は、 ! をコマンドに追加してください。 read line r[ead] file ターゲット行(先頭にテキストを入れるには行0が可能)の後にワークエリア内で指定した file のコピーを挿入します。 file の指定がなければ、カレントファイルがデフォルトです。 カレントファイルが存在しなければ、 file がカレントファイルになります。ビジュアル モードを除いて、最後に読み込んだ行が現在の行になります。ビジュアルモードでは、最 初に読み込んだ行が現在の行になります。 file が、 !string として与えられると、 string は、システムコマンドとして解釈され、コマ ンドインタプリタに渡されます。生成される出力はワークエリアに読み込まれます。空白 またはタブの前には ! を付けなければなりません。 recover rec[over][!] file 偶然のハングアップまたはシステムクラッシュ後に、セーブ領域から file を回復します。 最後の書き込み以降に現在のワークエリアが変更された場合には、警告がプリントされ、 コマンドは打ち切られます。この動作は、文字 ! をコマンドに追加することにより、 (rec! file) 置換することができます。 rewind rew[ind][!] 引き数リストは巻き戻され、リストにある最初のファイルがエディットされます。これは 命令としての現在の引き数リストを指定した next コマンドと同じです。現在の行が最後に 書き込んだときから変更されている場合は、警告が表示されてコマンドの実行は中止され ます。 ! を追加することによってあらゆる警告を無効にすることもできます。現在の行位 置はエディタオプションの autowrite と writeany により影響されます。 set se[t] [all] se[t] [no]boolean-option? se[t] value-option[?] se[t] boolean-option se[t] noboolean-option se[t] value-option=value エディタオプションを設定、表示します(以下の「エディタオプション」を参照)。 引き数を付けないと、コマンドは、その値がデフォルト値から変更されているエディタオ プションをプリントします。 all を指定すると、現在のオプションの値をすべてプリント します。 第 2 および第 3 の形式は指定オプションの現在の値をプリントします。 ? は論理値のオプ ションにのみ必要です。 HP-UX 11i Version 3: February 2007 − 13 − Hewlett-Packard Company Section 1-417 ex(1) ex(1) 第 4 の形式は論理値のオプションをオンにします。第 5 の形式は論理値のオプションをオ フにします。 第 6 の形式は文字列および数値のオプションに値を代入します。文字列におけるスペース およびタブは、その前にバックスラッシュ (\) を付けてエスケープさせなければなりませ せん。 最後の 5 つの形式は併用できます。解釈は左から右となります。 shell sh[ell] shell エディタオプションで指定されるコマンドインタプリタを実行します ( 以下の「エ ディタオプション」を参照 ) コマンドインタプリタを終了すると、エディットに戻りま す。 source so[urce] file 指定した file からコマンドを読み込んで実行します。このコマンドはネストすることが可 能です。ネストをサポートする深さの最大値は定義された実現方法によって異なります が、最低1つはサポートしています。 substitute range s[ubstitute] /re/repl/ options count flags range s options count flags range & options count flags range sr options count flags range ˜ options count flags range s\?repl range s\&repl 指定した各行で、パターン re の最初のインスタンスが文字列 repl で置換されます (上記の 「正規表現」および「置換え文字列」を参照)。 / の代わりに、英字または数字以外の任意 の文字を使用してパターンを区切ることができます。 g (global) オプションを含めると、その行にあるそのパターンの全インスタンスが置換され ます。 c (confirm) オプションを含めると、以下のように個々の置換えごとに実行するかどうか尋 ねられます。各置換えの前に、置換え対象のパターンに脱字符号 (ˆ) を付けてその行が表 示されます。置換えを行うには y を入力します。それ以外のものを入力すると中断しま す。最後に置換された行が現在の行になります。 置換えパターン re (s//repl/) と、置換え文字列または走査文字列の最新のセットが使用され ます(上記の「正規表現」を参照)。 s または & の形式を使用すると、置換えパターンのデフォルトは前の置換え文字列にな り、置換え文字列のデフォルトは、前に使用した置換え文字列になります。 Section 1-418 Hewlett-Packard Company − 14 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) sr または ˜ の形式を使用すると、置換えパターンのデフォルトは、置換え文字列または走 査文字列の最新のセットになり、置換え文字列のデフォルトは前に使用した置換え文字列 になります。 形式 s\?repl は、 s/scan-re/repl/ と等価です。ただし、 scan-re は前の走査文字列です。 形式 s\&repl は、 s/subs-re/repl/ と等価です。ただし、 subs-re は前の置換え文字列です。 suspend su[spend][!] stop st[op][!] susp エディタのジョブを一時停止し、元のシェルに戻ります。 stop および susp は suspend に 等価です。 susp はユーザープロセス制御一時停止文字で、通常は文字 ˆZ ASCII SUB )です (stty(1) を参照)。呼び出し元のシェルがジョブ制御をサポートしないか、または実行不可 能としている場合には、このコマンドは実行不可能となります。 autowrite エディタオプションが設定され、 readonly エディタオプションが設定されず、 最後の書き込み以降にワークエリアが変更された場合、ワークエリアは、エディタが一時 停止する前にカレントファイルに書き出されます。このアクションに置き換えるには、 ! 文字を suspend または stop コマンドに追加してください。 tag ta[g][!] tag tag のタグ定義が見つかるまで、 tags エディタオプション(以下の「エディタオプション」 を参照) で指定されたファイルを順々に検索します。 tag が見つかると、対応するファイ ルをワークエリアに読み込み、タグ定義で指定されるアドレスに現在の位置を設定しま す。 新しいファイルがカレントファイルと異なっており、 autowrite エディタオプションが セットされており、 readonly エディタオプションがセットされておらず、最後の書き出し 以降にワークエリアが変更を受けている場合は、新しいファイルがロードされる前にワー クエリアはカレントファイルに書き出されます。このアクションに置き換えるには、 ! 文 字をコマンドに追加してください。 tagstack エディタオプションがセットされている場合、後の行モード pop コマンドまたは ビジュアルモード ˆ] コマンドの再呼び出しに備えてカレントファイルの名前および行番号 がタグスタックにプッシュされます。 unabbreviate una[bbreviate] word 省略形のリストから word を削除します(上記の abbreviate コマンドを参照)。 undo u[ndo] 前のエディットコマンドによって行われた変更を取り消します。この目的のために、 global および visual は、単一のコマンドであるものと解釈されます。 write, edit, および HP-UX 11i Version 3: February 2007 − 15 − Hewlett-Packard Company Section 1-419 ex(1) ex(1) next などの外部環境に影響を与えるコマンドを取り消すことはできません。 undo は、 undo 自体を取り消すこともできます。 unmap unm[ap][!] key key のマクロ定義が削除されます(上記の map コマンドを参照)。 version ve[rsion] 現在のエディタのバージョン情報をプリントします。 visual line vi[sual] type count flags 指定した line でビジュアルモードに入ります。 type は、画面のウィンドウ上で指定行の位置を指定するには、 z (window)コマンドの場合 と同様に、文字 +, -, ., または ˆ のいずれかが可能ですデフォルトは、画面のウィンドウの 最上部に行を入れること。 count は初期ウィンドウサイズを指定します。デフォルトはエディタオプション window の値です。 フラグ # および l (エル)により、ビジュアルウィンドウにおける行が対応するモードで表 示されます (number および list コマンドを参照)。 ビジュアルモードを終了するには、 Q コマンドを使用します。詳細については、 vi(1) を 参照してください。 write [range] w[rite][!][>>] file [range] wq[!][>>] file 指定した行(または、 range を与えない場合はワークエリア全体)を file に書き出し、書き 出された行および文字の数をプリントします。 file を指定しなければ、デフォルトはカレ ントファイルです (カレントファイルがなく、ファイルが指定されない場合は、このコマ ンドはエラーメッセージを発行して異常終了します)。 別のファイルを指定し、そのファイルが存在する場合、書き込みは異常終了しますが、 ! をコマンドに追加することによってこれを強行することができます。既存のファイルに追 加するには、 >> をコマンドに追加してください。ファイルが存在しなければ、エラーが レポートされます。 ファイルが !string として指定されると、 string はシステムコマンドとして解釈されます。 コマンドインタプリタが呼び出され、指定した行はコマンドへの標準入力として渡されま す。 コマンド wq は w の後に q を続けることに相当します。 wq! は w! の後に q を続けること に相当します。また、 wq>> は w>> の後に q を続けることに相当します。 Section 1-420 Hewlett-Packard Company − 16 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) xit x[it][!][>>] file ワークエリアに対して変更が行われている場合、 write コマンドは、何らかのオプション (!, >>, または file など)を write コマンドと併用して実行に移されます。次に(いずれの場合 にも) quit コマンドが実行されます。 yank range ya[nk] buffer count 指定した行を名前付き buffer に入れます。バッファの指定がなければ、名前のないバッ ファ (つまり、デフォルトでは最後に削除または記憶したテキストが入っているバッファ) が使用されます。 (execute buffer) * [buffer] @ [buffer] buffer の内容をエディタコマンドとして実行します。 buffer は名前付きバッファの英字 (a−z) または * または @) とすることができます。このコマンドの * および @ の形式は等 価です。バッファが指定されていないか、または buffer が * または @ である場合、最後 に * または @ コマンドで指定されたバッファが実行されます。 (line number) line = flags 指定した line の行番号をプリントします。デフォルトは最後の行です。現在の行位置は影 響を受けません。 (scroll) ˆD 次の n 行をプリントします。 n は scroll エディタオプションの値です。 (shell escape) ! command range ! command 行の ! より後の部分をシステムコマンド インタプリタに渡して実行させます。最後の書き 込み以降にワークエリアが変更された場合、警告が発行されます。コマンドが完了する と、単一の ! がプリントされます。現在の行位置は影響を受けません。 command のテキスト内では、 % および # はファイル名として展開され、 ! は、前の ! コ マンドのテキストと置き換えられます。したがって、 !! は前の ! コマンドを繰り戻しま す。このような展開が行われると、展開された行はエコーされます。 range を指定すると、指定された行が標準入力としてコマンドインタプリタに渡されま す。 command からの出力が指定行に置き換わります。 (shift left) range < count flags 指 定 し た 行 を 左 に 削 除 し ま す。 シ フ ト す る ス ペー ス の 数 は、 エ ディッ ト オ プ ショ ン shiftwidth によって決まります。シフト時に空白(空白およびタブ)は失われます。その他の 文字は影響を受けません。最後に変更した行が現在の行になります。 HP-UX 11i Version 3: February 2007 − 17 − Hewlett-Packard Company Section 1-421 ex(1) ex(1) (shift right) range > count flags 空白を挿入することにより、指定した行を右にシフトします。挿入されるスペースの個数 はエディタオプション shiftwidth によって決定されます。変更された最後の行が現在の行 になります。 (window) line z type count flags count によって指定された行数が表示されます。 count のデフォルトはエディタオプション window の値です。 type を省略すると、指定した line の後の count 行がプリントされます。 type を指定する場合、以下の文字のいずれかでなければなりません。 + アドレス指定された行の後、1ウィンドウ分の行を表示します。 - アドレス指定された行を表示行のウィンドウの最下部に置きます。 . アドレス指定された行をウィンドウの中央に置きます。 ˆ アドレス指定された行より 2 ウィンドウ分前の行から 1 ウィンドウ分を表示しま す。 = アドレス指定された行をウィンドウの中央に表示し、アドレス指定されたその行 の上下にダッシュの行を表示します。 プリントされた最後の行が現在の行になりますが、 = の場合は例外で、その場合はアドレ ス指定された行が現在の行になります。 エディタオプション コマンド ex には、その動作を変更するオプションが数多くあります。これらのオプションにはデフォルトの 設定値があり、 set コマンド( 上記を参照) を使って変更できます。また、オプションは、環境変数 EXINIT, HOME ディレクトリにあるファイル .exrc, または現在のディレクトリにある .exrc に set コマンド文字列を入 れることによって、起動時に設定することもできます。 EXINIT が存在すると、 HOME ディレクトリにある .exrc ファイルは実行されません。現在のディレクトリが HOME ディレクトリではなく、 exrc エディタオプ ション ( 以下を参照 ) が設定されている場合、現在のディレクトリにある .exrc ファイルが EXINIT または HOME ディレクトリ .exrc の後に実行されます。 エディタは、 terminfo データベース (terminfo(4) を参照)からターミナルスクリーンの水平および垂直サイズを 取得します。これらの値は、環境変数 COLUMNS および LINES を設定して変更することができます。詳細に ついては、以下の window エディタオプションを参照してください。これらの値を UNIX 標準環境に従って変 更することもできます。(standards(5) 参照) 以下の表に、その他のエディタとは異なるデフォルトを示します。 Section 1-422 Hewlett-Packard Company − 18 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) 名前 edit ex vedit vi view デフォルトのエディタオプション nomagic magic nomagic magic magic novice nonovice novice nonovice nonovice noreadonly noreadonly noreadonly noreadonly readonly report=1 report=5 report=1 report=5 report=5 showmode noshowmode showmode noshowmode noshowmode エディタオプションは特記しない限り論理型です。省略形はかっこの中に示されています。 autoindent (ai) 入力モードにおける行を(ブランクとタブを使用して)それぞれ字下げし、前の行と揃う ようにします。字下げは、追加した行の後か、挿入した行または最初に変更した行の前 から始まる。追加字下げは、通常どおり提供できます。継続行は新しい位置合わせまで 自動的に字下げされます。 字下げの縮小は、1回または複数回 ˆD をタイプすることによって行われます。 ˆD を押 すごとに、カーソルは次の shiftwidth 個分のスペースだけ戻されます。 ˆ の後に ˆD を 続けると、一時的に現在の行に対して字下げがすべて削除されます。 0 の後に ˆD を続 けると、字下げがすべて削除。 noautoindent (noai) によって反転します。デフォルトは noautoindent です。 autoprint (ap) 現在の行が、ワークエリアのテキストを変更する各コマンドの後に表示されます (オー トプリントは、 global コマンドで行わないようになります ) 。 noautoprint (noap) に よって反転します。デフォルトは autoprint です。 autowrite (aw) ワークエリアが変更されており、 next, rewind, または ! コマンドを与えると、ワークエ リアはカレントファイルに書き出されます。 noautowrite (noaw) によって反転します。 デフォルトは noautowrite です。 beautify (bf) 入力テキストから廃棄されるタブ、改行、およびフォームフィード以外のすべての制御 文字を発生します。 nobeautify (nobf) によって反転します。デフォルトは nobeautify で す。 directory=dirname (dir) エディタのワークエリアを入れなければならないディレクトリを指定します。このオプ ションは、新しいワークエリアが作成される場合に限って有効になります。コマンド行 で指定したエディットファイルに対するワークエリア ファイルの位置に影響を与えるに は、これを EXINIT または .exrc に設定してください。デフォルトは /var/tmp です。 HP-UX 11i Version 3: February 2007 − 19 − Hewlett-Packard Company Section 1-423 ex(1) ex(1) 指定したディレクトリが EXINIT または .exrc ファイルから設定されており、ユーザー が書き込みをできない場合、エディタは終了します。ユーザーによって対話的に設定す る場合は、エディタはエラーメッセージを発行します。 doubleescape セットされている場合、入力モードを終了するには、 2 回続けて ESC (エスケープ)文字 を押すことが必要です。入力モードでは、1 回 ESC 文字を押し、その後別の文字を押す と、 vi は音またはビジュアルによる警告を発行し (flash エディタオプションを参照)、 その 2 文字をワークエリアに挿入します。 nodoubleescape によって反転します。デフォ ルトは nodoubleescape です。 一部のターミナルのキーボードエディットキーによって送信される文字シーケンスは、 vi ユーザーコマンドの一部のシーケンスと同じです。これらのキーのマッピングが使用 可能になっていると (keyboardedit および keyboardedit! オプションを参照)、 vi は、エ ディットキーによって送信される文字シーケンスとユーザーによってタイプされる同一 の文字シーケンスを識別別できなくなる可能性があります。この問題は、ユーザーが入 力モードを終了させるために別の vi コマンドの直後に ESC とタイプ入力するときに最 も発生しやすいものです。 doubleescape オプションの設定により、この場合の曖昧さは なくなります。 edcompatible (ed) 置換コマンド上の g および c サフィックスの存在が記憶され、サフィックスを繰り戻す ことによって切り換えされます。 noedcompatible (noed) によって反転します。デフォ ルトは noedcompatible です。 errorbells (eb) 設定すると、ボールド体または反転表示などの強調表示モードをサポートしないターミ ナルに限り、エラーメッセージの前にベルが付いています。ターミナルが強調表示をサ ポートしている場合には、エラーメッセージ前にベルは使用されず、このオプションに は効果はありません。ビジュアルモードのエラーが、(このオプションの設定とは関係な く) エラーメッセージを伴わずにベルによって示されることに注意してください。 noerrorbells (noeb) によって反転します。デフォルトは noerrorbells です。 exrc 設定すると、現在のディレクトリが HOME ディレクトリでなければ、現在のディレク トリにある .exrc ファイルがエディタ初期化時に処理されます。このオプションは、デ フォルトでは設定されず、有効にするには、環境変数 EXINIT または HOME ディレク トリ .exrc ファイルで設定しなければなりません。上記の「エディタオプション」の入 門的なテキストを参照してください。 noexrc によって反転します。デフォルトは noexrc です。 flash (fl) セッ ト さ れ て い る と、 適 切 な flash_screen エ ン ト リー が 使 用 対 象 の ター ミ ナ ル の /usr/share/lib/terminfo データベースに存在すると、画面はビープ音を発する代わりに点 滅をします。 noflash (nofl) によって反転します。デフォルトは flash です。 Section 1-424 Hewlett-Packard Company − 20 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) hardtabs=number (ht) ハードウェアタブ設定値間の間隔と、タブ文字の展開時にシステムで使用するスペース 数を定義します。タブストップは、 number の整数倍に相当する ( 画面の左端から始ま る)カラム番号ごとに置かれます。デフォルトは hardtabs=8 です。 ignorecase (ic) 正規表現マッチングにおいて、テキストにおける大文字はすべて小文字にマップされま す。また文字クラス指定の場合を除き、正規表現における大文字はすべて小文字にマッ プされます。 noignorecase (noic) によって反転します。デフォルトは noignorecase で す。 keyboardedit 設定すると、コマンドモード使用のために初期化時に自動的にロードされるキーボード エディット キーマッピングがすべて使用可能になります。設定しなければ、これらの マッピングは無効です (が、削除されません)。 map コマンドを使用して現在使用可能 なコマンドモード マッピングのリストを取得します。 nokeyboardedit によって反転し ます。デフォルトは keyboardedit です。 keyboardedit! 設定すると、input モード使用のために初期化時に自動的にロードされるキーボードエ ディットキー マッピングが使用可能になります。設定されていなければ、これらのマッ ピングは使用不可になっています (が、削除されません)。現在使用可能な入力モードの マッピングをリストするには map! コマンドを使用してください。 nokeyboardedit! に よって反転します。デフォルトは、そのキーボードのエディットキーが HP スタイルの エスケープシーケンスを送る(ESC の後に英字 1 字)ターミナルでは nokeyboardedit! で す。その他のターミナルでは、デフォルトはすべて keyboardedit! です。 lisp lisp ソースコードの場合ビジュアルモードにおける autoindent モードおよび (, ), [[, ]], {, および } コマンドを変更します。 nolisp によって反転します。デフォルトは nolisp で す。 list プリントされる行をすべて、 ˆI, によって示されるタブを付けて表示し、行末に $ で マークします。 nolist によって反転します。デフォルトは nolist です。 magic 正規表現および置換え対象の文字列における文字の解釈に影響を与えます(上記の正規表 現および置換えを参照)。 nomagic によって反転します。 ex, vi, および view のデフォル トは magic です。 edit および vedit のデフォルトは nomagic です。 mesg 他のユーザーから write コマンド (write(1) を参照) を使用して現在使用中の自分のター ミナルにメッセージを送信することができます。これにより、現在の画面表示は乱れる ことがあります。このオプション (nomesg) が設定されていなければ、エディタの使用中 に他のシステムのユーザーからターミナルへの書き込みパーミッションがブロックされ ます。 nomesg によって反転します。デフォルトは mesg です。 modelines (ml) ファイルにおけるエディタの読み込み時に設定されていれば、ファイルの最初の5 行と 最後の5行に埋め込まれた ex コマンドはすべて、 .exrc および EXINIT コマンドが処理 された後でエディット制御がユーザーに与えられる前に実行されます。 ex コマンドの HP-UX 11i Version 3: February 2007 − 21 − Hewlett-Packard Company Section 1-425 ex(1) ex(1) 前には、 ex: または vi: のプリフィックスを付けなければなりません。また、1行の : で 終了しなければなりません。コロン (:) を除いて、任意個数の他の文字を、埋め込みコ マンドの前後に付けることができます。 nomodelines (noml) によって反転します。デ フォルトは nomodelines です。 edit または vedit という初心者に利用可能なエディタのバージョンを使用します。 novice nonovice によって反転します。 ex, vi, および view のデフォルトは nonovice です。 edit, および vedit のデフォルトは novice です。 number (nu) 行に行番号を付けてプリントします。 nonumber (nonu) によって反転します。デフォル トは nonumber です。 optimize (opt) 直接カーソルアドレス指定をサポートしないターミナルでは、自動キャリッジリターン を行わないようにします。これにより、先行する空白のある複数行をプリントするとき など、特定の状況においてテキスト出力をカスタマイズします。 nooptimize (noopt) に よって反転します。デフォルトは nooptimize です。 paragraphs=pair-string (para) このオプションの値は文字列で、この連続するペアの文字は、パラグラフを開始するテ キスト処理マクロの名前を指定します (マクロは形式 .xx のテキストにあります。ただ し、 . は行における最初の文字です)。 マクロに1文字名がある場合は、スペース文字を使用し、名前の欠落する第2文字の代わ りをします。そのような状況でスペースを入力するには、スペースの前にバックスラッ シュ (\) を付けて、エディタがスペースをデリミタとして解釈しないようにします。 デフォルトは paragraphs=IPLPPPQPP\ LIpplpipnpbp です。 設定すると、コマンドモード入力はコロン (:) で求められます。設定しないと、プロン prompt プトは表示されません。 noprompt によって反転します。デフォルトは prompt です。 readonly (ro) エディット対象のファイルに 読み出し専用フラグをセットします。したがって、セッ ションの終わりに偶然にオーバライトするのを防止します。このオプションは、 -R オ プションと合わせて ex, edit, vi, または vedit を呼び出すか、または view コマンドを使用 することと等価です。 noreadonly (noro) によって反転します。 ex, edit, vi, および vedit のデフォルトは noreadonly です。 view のデフォルトは readonly です。 redraw ダムターミナル上でインテリジェントターミナルをシミュレートします。入力モードで は、テキストが入力されると行が連続的に再プリントされます。これにより、ターミナ ルへの大量の出力が必要になる可能性があるため、これは高い転送スピードでのみ有効 です。 noredraw がセットされていると、入力モードが終了し、削除行が左マージンに @ を付けられているときにのみ、行が再プリントされます。 noredraw によって反転し ます。デフォルトは redraw です。 Section 1-426 Hewlett-Packard Company − 22 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) remap 設定すれば、マクロ変換により、他のマクロによって定義されるマクロが可能になりま す。変換は最後の製品が得られるまで続きます。設定しないと1 ステップ変換だけが行 われます。 noremap によって反転します。デフォルトは remap です。 report=n n の値で、影響を受けた行数についてレポートが表示される前にコマンドによって変更 しなければならない行数を与えます。 n が 5 の場合、6 行以上の行で変更がレポートさ れます。 ex, vi, および view のデフォルトは report=5 です。 The edit, および vedit のデ フォルトは report=1 です。 scroll=n n の値は、 ˆD コマンドによってスクロールする行数と、 z コマンドによって表示される 行数(スクロール値の2倍)を決定します。デフォルトは window オプションの値の半分で す。 sections= pair-string このオプションの値は文字列で、この連続するペアの文字は、セクションを開始するテ キスト処理マクロの名前を指定します。上記の paragraphs エディタオプションを参照 してください。デフォルトは sections=NHSHH\ HUuhsh+c です。 shell=filename (sh) ! シェルエスケープと shell コマンドに使用するユーザーシェルのファイル名を指定しま す。これは、設定するとデフォルトでは、ユーザーの環境変数 SHELL の値に設定さ れ、設定しないと /usr/bin/sh に設定されます。 shiftwidth=n (sw) autoindent およびシフト (< and >) コマンドによって使用される字下げのステップ値を設 定します。デフォルトは shiftwidth=8 です。 showmatch (sm) ビジュアルモードでは、画面内にまだマッチしたものがあれば、 ) または } を入力した ときに、マッチする (または {に瞬時にジャンプします。 noshowmatch (nosm) によって 反転します。デフォルトは noshowmatch です。 showmode (smd) ビ ジュ ア ル お よ び オー プ ン モー ド 時、 現 在 の エ ディ タ の モー ド (INPUT MODE, REPLACE 1 CHAR, REPLACE MODE など) を画面の右下のコーナーに表示します。 noshowmode (nosmd) によって反転します。 ex, vi, および view のデフォルトは noshowmode です。 edit, および vedit のデフォルトは showmode です。 slowopen (slow) ビジュアルモードでは、 slowopen は、入力時に画面アップデートを防止してインテリ ジェントでないターミナル上のスループットを改善します。 noslowopen (noslow) に よって反転します。デフォルトは noslowopen です。 tabstop=n (ts) 入力ファイルにタブを展開するためエディタによって使用されるソフトウェア タブス トップの間隔を設定します。デフォルトは tabstop=8 です。 taglength=n (tl) タグの中で意味のあるものとして扱うべき文字の最大数を設定します。制限を超える文 字は無視されます。値 0 は、タグ内の文字にはすべて意味があることを示します。デ フォルトは taglength=0 です。 tags=[filename ]... tag コマンドおよび -t コマンド行オプションによって使用されるタグファイルを指定し ます。デフォルトは tags=tags /usr/lib/tags で、これはカレントディレクトリにあるファ HP-UX 11i Version 3: February 2007 − 23 − Hewlett-Packard Company Section 1-427 ex(1) ex(1) イル、 tags およびファイル /usr/lib/tags を指定します。ファイル名はホワイトスペース で区切ります。 タグファイルの各行には、ホワイトスペースで区切った以下の 3フィールド、つまりタ グ名、エディット対象のファイル名、およびアドレス指定 (上記の「アドレス指定」を 参照)指定します。 tags ファイルは、タグ名によって順番にソートしなければなりませ ん(以下の「多言語化対応」を参照)。 ctags コマンド (ctags(1) を参照) はタグファイルを C、Pascal および FORTRAN のソー スファイルから作成します。 tagstack (tgst) ア ク ティ ブ に なっ て い る タ グ の プッ シュ ダ ウ ン ス タッ ク を 使 用 可 能 に し ま す。 notagstack (notgst) によって反転します。デフォルトは tagstack です。 行モードの tag コマンドまたはビジュアルモードの ˆ] コマンドを入力すると、現在の行 番号およびファイル名がタグスタックに記憶トアされます。後で、行モード pop コマン ドまたはビジュアルモード ˆT コマンドを使用すると、記憶されていたファイル名およ び行番号に戻ります。 タグスタックを使用不可にして再び使用可能にすると、スタックは中断していたところ から再開します。 pop コマンドは、タグスタックが使用不可になっていると機能しませ ん。 term=termtype エディタで使用するターミナルのタイプを定義します。デフォルト値は環境変数 TERM から獲得されます。 TERM が設定されていないか、またはヌルならば、 term は unknown に設定されます。 term および ttytype エディタオプションに相違はありませ ん。いずれか一方を設定すると、両方とも変更される結果になります。 短いエラーメッセージを使用します。 noterse によって反転します。デフォルトは not- terse erse です。 セットされていれば、マクロ名のマッチとして受け付けられるように timeoutlen オプ timeout (to) ションによって指定される時間内にマルチキャラクタのマクロ名 (map コマンドの最初 の引き数)のすべての文字を受け取ることを必要とします。セットされていなければ、マ クロ名の完了までに待機する時間の長さについて制限は設定されません。 notimeout (noto) によって反転します。デフォルトは timeout です。 timeoutlen=n ミリ秒単位でマクロのタイムアウト期間 (timeout エディタオプションを参照) の長さを 設定します。 timeout がセットされていなければこのオプションは効果がありません。 n の値の最小は 1 です。デフォルトは timeoutlen=500 (0.5 秒)です。 ttytype=termtype (tty) エディタで使用するターミナルのタイプを定義します。詳細については、 term エディ タオプションを参照してください。 term および ttytype エディタオプションに相違はあ りません。いずれか一方を設定すると、両方とも変更される結果になります。 Section 1-428 Hewlett-Packard Company − 24 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) warn ! または shell コマンドエスケープを実行する前に、最後にロードされたか、またはファ イルにすべて書き出されて以降にワークエリアに変更があった場合 [No write since last change] というメッセージを表示します。 nowarn によって反転します。デフォルトは warn です。 window=lines (wi) ビジュアルモード時におけるテキストウィンドウの行数を設定します。デフォルト値は 使用ターミナルの画面サイズより 1 小さい値です ( 設定されていれば 環境変数 LINES 、設定されていなければ terminfo(4) データベース内のターミナルのエントリーによって 定義されます)。 terminfo(4) ただし、ターミナルボーレート (stty(1) を参照) が 1200また は 2400以下に設定されると、デフォルト値は、それぞれ最大 8または16行に低減されま す。スタートアップ値は -w コマンド行オプションによって指定できます。 w300=lines ターミナルボーレートが 1200未満の場合、 window エディタオプションを指定した値に 設定します。 w1200=lines ターミナルボーレートが 1200以上で、2400未満の場合、 window エディタオプションを 指定した値に設定します。 w9600=lines ターミナルボーレートが 2400以上の場合、 window エディタオプションを指定した値に 設定します。 wrapmargin=n (wm) ビジュアルモードのみにおいて、 n が 0 より大ならば、行がターミナルスクリーンの右 マージンから n 個のスペースの位置で終了するように、ワード境界で入力行に改行が自 動挿入されます。デフォルトは wrapmargin=0 です。 wrapscan (ws) セットされていれば、エディタは /re/ (または ?re?) を使用して検索を行い、ファイルの 先頭(末尾)からファイルの末尾(先頭)に達するまで無表示で続行します (つまり、走査の 「ラップアラウンド」)。設定しないと、エディタ検索は、ファイルの先頭または終端で 停止します。 nowrapscan (nows) によって反転します。デフォルトは wrapscan です。 writeany (wa) その他の書き込みコマンドの前に行われるチェックを行わないようにし、 (システムが 許せば)任意のファイルへの書き込みを可能にします。 nowriteany (nowa) によって反転 します。デフォルトは nowriteany です。 多言語化対応 環境変数 COLUMNS は、システムが選択した画面の横サイズが設定されます。 LINES は、システムが選択した画面の縦サイズが設定されます。画面の行数やビジュアルモードでの画面の縦 サイズとして使用されます。 PATH は、エディタコマンドで実行するシェルコマンド shell、 read、や write のコマンド検索パスを設定しま す。 SHELL は、 !、 shell、 read やその他のコマンドを !string のコマンド形式で解釈させるための変数です。 shell コマンドに対しては、プログラムは -i という 1つの引き数を指定して実行します。他のすべてに対して HP-UX 11i Version 3: February 2007 − 25 − Hewlett-Packard Company Section 1-429 ex(1) ex(1) は、 -c と文字列の 2つの引き数を指定して実行します。環境変数 SHELL が設定されていなかったり、ヌル文 字が設定された場合は、 sh ユーティリティが使用されます。 TERM は、端末タイプの名前が設定されます。この変数が設定されていなかったり、ヌル文字が設定されてた 場合は、デフォルトの端末タイプが使用されます。 EXINIT は、最初のファイルを読み込む前にエディタ上で実行される ex コマンドのリストを設定します。その リストは縦棒(|)で複数のコマンドを区切ったものです。 HOME は、エディタの起動ファイル .exrc を置くディレクトリのパス名を設定します。 LC_COLLATE は、正規表現を評価する際、また tags ファイルを処理する際に使用する照合順序を決定しま す。指定しないか、またはヌルの場合、デフォルトは LANG の値になります。 LC_CTYPE により、テキストをシングルバイトまたはマルチバイトのいずれの文字で解釈するか、文字を大 文字または小文字英字として分類するかどうか、英字の場合にシフトするかどうか、また、正規表現における 文字クラス式に一致する文字として分類するかどうかを決定します。指定しないか、またはヌルの場合、デ フォルトは LANG の値になります。 LANG により、メッセージの表示に使用する言語を決定します。指定しないか、またはヌルの場合、デフォル トは "C" (lang(5) を参照)になります。 LC_ALL は、 LANG や (LC_ で始まる)環境変数で指定されたロケールカテゴリを上書きするロケールを決定 します。 LC_MESSAGES は、肯定的応答方法や出力するメッセージの言語を決定します。 多言語対応変数のいずれかの設定が不適当な場合には、すべてのインターナショナル変数のデフォルトは "C" (environ(5) を参照)になります。 設定されている場合、環境変数 TMPDIR は、テンポラリファイルに使用するディレクトリを指定し、デフォ ルトディレクトリ /var/tmp に置き換えます。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 非同期イベント (UNIX 標準のみ) UNIX 標準環境についての情報は standards(5) を参照。 シグナルを受けたときの動作は次のとおりです。 SIGINT 割り込みが発生したときに、 ex は警告メッセージを端末に表示します。現在のエディタコマンドは中 止され、 ex はコマンドレベルに戻り、別のコマンドのプロンプトを表示します。標準入力が端末でな い場合は、 ex は割り込み発生時に終了して 0 以外のステータスを返します。 Section 1-430 Hewlett-Packard Company − 26 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) SIGCONT 画面が再表示されます。 SIGHUP 現在のバッファが最後の e や w コマンド以降に更新されていた場合、 ex は後から ex -r コマンドで現 在のファイルを回復できるようにします。 その他のシグナルについての動作は示していません。 拡張説明 (UNIX 標準のみ) UNIX 標準環境についての情報は standards(5) を参照。 ex で編集するファイルのパス名は 現在のファイルとして参照されます。ファイルのテキストは(ここでは バッ ファと呼ばれている)作業ファイルに読み込まれます。そして、すべての変更がこのファイルに反映されます。 すなわち、 ex コマンドがオリジナルファイルに書き出すまで、すべての変更はオリジナルファイルには影響 がありません。バッファ内の1行のバイト数は、2または3バイトのオーバーヘッド込みで 4096 バイトで制 限されることがあります。つまり、1 行が 4092 バイト以内の行は、問題なく処理できます。編集中に制限を超 えるとエラーメッセージが出力されます。 代替パス名はエディタコマンドで使用した最後のファイル名です。また、現在のファイルが最後のファイルの 場合は、その前の現在のパス名です。 % がコマンド引き数の一部にパス名として入力されたときは、代替パ ス名に置き換えられます。 % や # を文字そのものとして示すには、その前にバックスラッシュを付けます。 エラーが発生したときは、 ex は端末に警告を表示します。 システムクラッシュの場合、 ex は、変更を更新していないときにはバッファを保存しようとします。コマン ド行オプション -r は、保存された変更を回復するために使用します。 初期化している間に ( 最初のファイルが読み込まれ、ユーザーコマンド端末から実行される前 ) 、環境変数 EXINIT が設定されていたら、エディタはこの変数に含まれる ex コマンドを実行します。変数の値が設定され て い な い と き は、 ex は $HOME/.exrc か ら 読 み 込 ん だ コ マ ン ド を 実 行 し ま す。 EXINIT あ る い は $HOME/.exrc でエディタオプションの exrc を設定した場合のみ、 ex は最後に現在のディレクトリにある .exrc からコマンドを読み込んで実行します。 EXINIT が設定されていなかったり現在のディレクトリがその ユーザーのホームディレクトリであった場合は、 .exrc ファイルは 1度だけ実行されます。プロセスの実行 ID と同じユーザー ID で所有される .exrc がなければ、このファイルは読み込まれません。 .exrc ファイルが実行 された後、 -c オプションを指定したコマンドが実行されます。 デフォルトで、 ex は ":" プロンプトを表示しているコマンドモードで始まります。 append、 insert、あるい は change コマンドを入力して入力モードに変えることができます。フルスクリーンで編集できるビジュアル モードという別のモードがあります。これは visual コマンドでさらに詳細に記述しています。コマンド行は縦 棒(|)で区切られた複数の ex コマンドで構成されます。入力されたコマンドがその行の最後のコマンドでなけ れば、この方法で入力されたコマンドの使用は未定義の結果となります。 二重引用符(")で始まるコマンド行は無視されます。これは、エディタスクリプトのコメントとして使用できま す。 HP-UX 11i Version 3: February 2007 − 27 − Hewlett-Packard Company Section 1-431 ex(1) ex(1) 警告 undo コマンドにより、変更されたすべてのマークは行上で失われ、リストアされます。 z コマンドは、物理行ではなく論理行の番号をプリントします。長い行が存在すると、1画面以上の出力が生じ ることがあります。 ヌル文字は入力ファイルで廃棄されるため、生成されるファイルに現れることはありません。 一部のシステムでは、 -r オプションによるエディットファイルの回復は、システムの再起動時に特定のシステ ム従属動作がとられる場合に限って可能になります。 編集保存ファイルは、それを保存したものと同じHP-UX リリースを実行するシステム上でしか復元できませ ん。保存ファイルは異なるリリース間で復元することができません。 HP ターミナルでは、 map #n ... コマンド経由で指定されるファンクションキーの属性フィールドは、 transmit のデフォルトではなく normal に設定する必要があります。 暗号化されていないファイルをエディットするのに -C オプションを使用しないでください。 -C オプション は、既に暗号化されているファイルに対してのみ使用することを意図しています。 -C オプションがまだ暗号 化されていないファイルに対して使用されると、おそらくエディットのセッションでの書き込みがファイルを 破壊してしまいます。 行長制限、ファイルサイズ制限などの詳細については、 vi(1) の警告の項を参照してください。 終了状態 (UNIX 標準のみ) UNIX 標準環境についての情報は standards(5) を参照。 ex ユーティリティは以下の値のうちのいずれかで終了します。 0 正常終了 >0 異常終了 著者 ex は、カリフォルニア大学バークレー校で開発されました。 ex に対する16ビット拡張は、部分的に東芝のソ フトウェアに基づいています。 ファイル $HOME/.exrc 一次エディタ初期化ファイル ./.exrc 二次エディタ初期化ファイル /usr/lbin/expreserve 保存コマンド /usr/lbin/exrecover 回復コマンド /usr/share/lib/terminfo/*/* ターミナル機能の記述 /var/preserve 保存ディレクトリ /var/tmp/Ex* 一時的なエディタファイル Section 1-432 Hewlett-Packard Company − 28 − HP-UX 11i Version 3: February 2007 ex(1) ex(1) /var/tmp/Rx* 名前つきバッファのテンポラリファイル 参照 ctags(1), ed(1), stty(1), vi(1), write(1), terminfo(4), environ(5), lang(5), regexp(5), standards(5) The Ultimate Guide to the vi and ex Text Editors , Benjamin/Cummings Publishing Company, Inc., ISBN 0-8053-4460-8, HP 製品番号 97005-90015 標準準拠 ex: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 3: February 2007 − 29 − Hewlett-Packard Company Section 1-433 expand(1) expand(1) 名称 expand, unexpand − タブをスペースに展開およびその逆 構文 expand [-t tablist ] [ file ... ] unexpand [-a] [-t tablist ] [ file ... ] 旧形式 expand [-tabstop ] [-tab1,tab2,..., tabn ] [ file ... ] 説明 expand は、指定ファイルまたは標準入力を処理し、タブをスペースに変換して標準出力に書き出します。バッ クスペース文字は出力に保存され、タブ計算でカラムカウントを減分します。マルチカラム キャラクタをバッ クスペースしてタブを正しく計算するには、カラム幅に等しい複数のバックスペースを後に入れる必要があり ます。タブ文字が最後のタブ位置の後にある場合、それは1文字のスペースに置き換えられます。 expand は、 (特定カラムの並べ換え、検索などの前に)タブが含まれる文字ファイルのプリプロセッシングに便利です。 expand は以下のコマンド行オプションおよび引き数を認識します。 [-t tablist ] tablist は、タブ位置をデフォルトの 8 以外の位置に指定します。 tablist の形式は2種 類あります。それが単一の数字ならば、タブは tablist 文字分のスペースを間隔を置い て設定されます。 tablist は、タブを設定する位置を列挙したブランク、またはカンマ で区切ったリストとともなります。 [-tabstop ] このオプションはほとんど使用されておらず、 -t tabstop を使用するのと同じことで す。 [-tab1,tab2,...,tabn ] このオプションはほとんど使用されておらず、 -t tab1,tab2, ... ,tabn を使用するのと同 じことです。 unexpand は、指定ファイルまたは標準入力を処理し、可能ならばスペースをタブに変換して標準出力に書き 出します。デフォルトでは、先行するスペースおよびタブのみがタブの最高の文字数のスペースの文字列に変 換されます。デフォルトのタブ位置は8文字ごとです。バックスペース文字は出力に保存され、タブ計算のカ ラムカウントを減分します。マルチカラム キャラクタをバックスペースしてタブを正しく計算するには、カラ ム幅に等しい複数のバックスペースを後に入れる必要があります。タブ文字が最後のタブ位置の後にある場 合、それは1文字のスペースに置き換えられます。 unexpand は、以下のコマンド行オプションおよび引き数を認識します。 結果として生成されるファイルが縮まる場合はつねに、タブ位置の前の2文字以上の -a スペースを置き換えることによってタブが挿入されます。 −t tablist tablist はタブ位置を指定します。 tablist の形式は2種類あります。それが単一の数字 ならば、タブは各 tablist 文字分のスペースを、間隔を置いて設定されます。 tablist が Section 1-434 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 expand(1) expand(1) 増加位置のブランクまたはカンマで区切ったリストの場合、タブはそれらの位置で設 定されます。 -t オプションは -a オプションを暗示します。 -t オプションを指定しな いと、デフォルトは、この場合には -a が暗示されない場合を除いて -t 8 を指定する のと同じことです。 多言語化対応 環境変数 LC_CTYPE ファイル内のテキストをシングルあるいはマルチバイトキャラクタとして解釈することを決定し ます。 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_CTYPE または LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定 または空白の各変数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白 文字列に設定されている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 expand および unexpand は全ての国際化変数が"C"に設定され ているように振る舞います。 environ(5) を参照してください。 LC_ALL が空白文字列以外の値に設定されている場合、他のすべての国際化変数の値が無効になります。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされていますが、 unexpand はマルチバイト代替ス ペースキャラクタを認識しません。 標準準拠 expand: XPG4, POSIX.2 unexpand: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-435 expand_alias(1) expand_alias(1) 名称 expand_alias − sendmail の別名を再帰的に展開 構文 expand_alias [-rmax_recursion] [-t] [-tt] alias 説明 expand_alias は、 sendmail の別名(エイリアス)を再帰的に展開するシェルスクリプトです。 telnet host 25 と expn コマンドを使用して、各別名をその先へと再帰的に展開します。再帰の各段階を示すために字下がりを使 用しています。再帰的に telnet を使用するので、 expand_alias の実行は時間がかかります。ファイアウォール 構成のためにローカルの telnet をリモートシステムに直接接続できない場合には、 expand_alias は成功しませ ん。ローカルの telnet がファイアウォールを越えて透過的に接続されている場合には、 expand_alias はファイ アウォールの外のsendmailのデーモンと対応させることが可能で、別名をさらに展開することができます (例え ば、一部のローカルの telnet クライアントは、ファイアウォール上にある socksd を使用して透過的にインター ネッ ト の ホ ス ト に 接 続 し ま す。 ロー カ ル の デ フォ ル ト の telnet で こ の 方 式 の socksd を 使 用 す る と、 expand_alias はその telnet の機能を使用して別名をさらに展開します)。 max_recursion のデフォルトは10です。 max_recursion で指定した回数の展開後は、それ以降の展開を行いませ ん。 −t を指定すると、端末の別名だけが表示されます。 −tt は −t に似ています。ただし、端末回線にパイプがある場合には、出力されず、代わりにその前の展開段階 が出力されます。 例 expand_alias root expand_alias root@cat expand_alias [email protected] expand_alias [email protected] 著者 expand_alias は Hewlett-Packard社により開発されました。 Section 1-436 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 expr(1) expr(1) 名称 expr − 引き数を式として評価 構文 expr arguments 説明 expr は、 arguments を式として取得して、評価し、標準出力に結果を書き出します。式における項は、ブラン クで区切らなければなりません。シェルに特有な文字は、エスケープさせなければなりません。ゼロ値を示す のにヌル文字列ではなく、 0 が戻されることに注意してください。ブランクまたは他の特殊文字のある文字列 は、引用符で囲みます。整数値の引き数の前には、単項マイナス記号を付けられます。内部的には、整数は32 ビットの2の補数として処理されます。 演算子およびキーワードのリストを以下に示します。エスケープさせる必要がある文字の前には、 \ が付いて います。リストでは、優先順位の等しい演算子を {} 記号でくくってまとめ、優先順位は順に高くなります。 expr \| expr は、第1の expr がヌルでも 0 でもない場合、それを戻します。それ以外の場合、第2の expr を戻します。 UNIX 2003 環境では、 expr は第1の expr がヌルか、第2の expr がヌルならば、 0 を返 します。 expr \& expr は、 expr がヌルでも 0 でもない場合、第1の expr を戻します。それ以外の場合、 0 を戻 します。 expr { =, \>, \>=, \<, \<=, != } expr 両方の引き数が整数で、正常に比較できた場合は、 expr は 1 を戻します。そうでなけれ ば、 0 を戻します。 expr は、引き数がともに整数の場合、整数比較の結果を戻します。 そうでなければ、語彙比較の結果を戻します( = および == は、その両方の等価テストで同 一であることに注意してください)。 expr { +, − } expr 10進整数値の引き数の加算または減算 expr { \*, /, % } expr 整数の結果を戻す10進整数値の引き数の乗算、除算、または余り expr : expr 照合演算子 : は、正規表現である第2の引き数を第1の引き数と比べます。 expr は、基本 正規表現構文をサポートします( regexp(5) を参照)。ただし、すべてのパターンは‘‘先頭で 区切られる’’(つまり、 ˆ で始まる)ため、 ˆ はそのコンテキストでは特殊文字ではないとい う点を除きます。通常、照合演算子は一致した文字の数を戻します ( 異常終了の場合は 0)。代わりに、 \( ... \) パターンシンボルを使用して、第1の引き数部を戻せます。 length expr expr の長さ substr expr expr expr 第1の expr から、第2の expr により指定される文字で始まる部分文字列を、第3の expr に より与えられる長さだけ取得します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-437 expr(1) expr(1) index expr expr 第2の expr にある文字を含む第1の expr 内の位置を戻します。 match マッチはインフィックス演算子 : と同等なプレフィックス演算子です。 \( ... \) グループ化シンボル。任意の式を小かっこ内に置けます。小かっこは、 <limits.h> ヘッダ ファイルで指定された EXPR_NEST_MAX の深さまでネストできます。 多言語化対応 環境変数 LC_COLLATE は、正規表現を評価する際に使用される照合順序、および文字列値を比べる際の関係演算子の 動作を決定します。 LC_CTYPE は、正規表現で文字クラス式により一致される文字、シングル/マルチバイト文字、あるいはその 両方としてテキストを解釈するかを決定します。 LANG はメッセージの表示言語を決定します。 LC_COLLATE または LC_CTYPE が環境で指定されない場合、または空の文字列に設定された場合、 LANG の値はそれぞれの未指定または空の変数のデフォルトとして使用されます。 LANG が指定されない場合、また は空の文字列に設定された場合、 LANG ではなく"C"( lang(5) を参照)のデフォルトが使用されます。多言語化 対応変数が無効な設定値を含む場合、 expr はすべての多言語化対応変数が"C"に設定されたものとして動作し ます( environ(5) を参照)。 もし UNIX_STD が 2003 に設定されていたら、 UNIX 2003 標準環境として動作します。 サポートされる国際的なコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 式の評価の副作用として、 expr は以下の終了値を戻します。 0 式がヌルでもゼロでもありません。 1 式がヌルまたはゼロです。 2 無効な式 >2 式を評価する際にエラーが発生しました。 診断 syntax error 演算子またはオペランドエラー non-numeric argument 文字列に対して演算しようとしました。 例 シェル変数 a に1を加えます。 a=‘expr $a + 1‘ $a が /usr/abc/file または file ならばパス名の最後のセグメントを戻します(つまり file) 。 expr は除算演算子と Section 1-438 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 expr(1) expr(1) 解釈するため、 / だけの引き数に注意してください (以下の「 警告」を参照)。 expr $a :’.*/\(.*\)’ \| $a 前の例のより効果的な表現。 // 文字の追加で、除算演算子についてあいまいさがすべてなくなり、式全体が単 純化されます。 expr //$a : ’.*/\(.*\)’ $VAR: の文字数を戻します。 expr $VAR : ’.*’ 警告 シェルによる引き数処理の後、 expr は演算子とオペランドの違いを値によってのみしか示すことはできませ ん。 $a が = ならば、以下のコマンド expr $a = ’=’ は、引き数が expr (これも、すべて = 演算子と解釈されます)に渡されるため、 expr = = = と同様になります。以下のコマンドは正しく動作します。 expr X$a = X= 著者 expr は、 OSF と HP が開発しました。 参照 sh(1), test(1), environ(5), lang(5), regexp(5) 標準準拠 expr: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-439 factor(1) factor(1) 名称 factor, primes − 数値の素因数分解、大きな素数の生成 構文 factor [ number ] primes [ start [ stop ] ] 説明 引き数をコマンド行で与えなければ、 factor は数値がタイプされるのを待ちます。正の数をタイプすると、そ の素数を素因数分解し、その素因数をプリントします。それぞれ適切な回数だけプリントされます。プリント 後、別の数値を待ちます。 factor は、ゼロまたは数値でない文字があると終了します。 引き数をコマンド行で与えると、 factor は、上記のように数値を素因数分解して終了します。 素因数分解の最大時間は sqrt(n) に比例し、 n が素数であるか、または素数の2乗であるときに発生します。 factor で処理できる最大の数値は1.0e14です。 primes は、上限と下限の間の素数をプリントします。引き数をコマンド行で与えなければ、 primes は、2つの 数値が入力されるのを待ちます。最初の数値は下限として、 2番目の数値は上限として解釈されます。生成さ れる両端を含む範囲の素数がすべてプリントされます。 start を指定すると、 start より大きいか、または等しい素数がすべてプリントされます。 start および stop の 両方を与えると、 start から stop までの両端を含む範囲で発生する素数がすべてプリントされます。 start および stop 値は、倍長整数として表現される整数でなければなりません。 どちらの場合でも、停止値を省略すると、 primes は、オーバフローが発生するか、または割込み文字のタイプ によって停止させられるまで動作します。 primes で処理できる最大の数値は2,147,483,647です。 診断 両コマンドは、入力が範囲外であるか、不正な文字があったとき、または start が stop より大きいときに Ouch とプリントします。 例 数値12の素因数分解をプリントします。 factor 12 0から20までの間のすべての素数をプリントします。 primes 0 20 Section 1-440 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 fastbind(1) fastbind(1) 名称 fastbind − 高速プログラム起動のための不完全な実行可能ファイルの準備 構文 fastbind [-nu] incomplete-executable... 説明 fastbind は、必要な共有ライブラリのシンボルに関する情報を実行可能ファイルに保存することにより、共有 ライブラリを使用するプログラム(不完全な実行可能プログラム)の起動時間を改善することができるツールで す。 fastbind は、実行可能プログラムのバインディングに使用されるシンボルと、そのシンボルの依存共有ライブ ラリすべてに関して解析を行います。そして、この情報を実行可能ファイルに保存します。その後で実行可能 プログラムを実行すると、ダイナミックローダーは、この情報が使用可能なことを通知し、シンボルのバイン ディングのための標準検索方法ではなく、この fastbind 情報を使用して実行可能プログラムのバインディング を行います。 Itanium ベース システムでは、ダイナミックローダーは、 /usr/lib/hpux32/dld.so (32 ビットモー ド ) 、または /usr/lib/hpux64/dld.so (64 ビットモード ) です。 PA-RISC システムでは、ダイナミックローダー は、 /usr/lib/dld.sl (32ビットモード)、または /usr/lib/pa20_64/dld.sl (64ビットモード) です。 fastbind は fastbind 情報を実行可能ファイルに書き込むので、実行可能ファイルに対する書き込みパーミッ ションが必要です。また、解析対象の実行可能ファイルが別のプロセスとして実行中の場合は、カーネルに よってそのファイルの修正がロックされ、 fastbind は異常終了します。 実行可能プログラムが依存する共有ライブラリを fastbind 情報が作成された後に変更すると、ダイナミック ローダーはシンボルのバインディングのための標準検索方法に静かに戻ります。実行可能プログラムで fastbind を再度実行し、fastbind 情報を再作成することができます。 fastbind は、自動的に古い fastbind 情報を削 除して新しいものを生成します。 ld のオプション +fb を使用すると、リンカに対してリンカ自身が生成した不完全な実行可能プログラムで fastbind ツールを実行するように指示することができます。 環境変数 dld で fastbind 情報が旧式であると判断されると、シンボルのバインディング標準検索方法に静かに戻りま す。環境変数 _HP_DLDOPTS に -fbverbose を設定すると、ダイナミックローダーは、fastbind 情報が旧式の場 合に警告メッセージを出します。 環境変数 _HP_DLDOPTS に -nofastbind を設定し、ダイナミックローダーが fastbind 情報を無視してシンボル のバインディング標準検索方法に戻ることができます。 オプション fastbind は、次のオプションを認識します。 -n 実行可能プログラムから fastbind 情報を削除し、最初に fastbind を実行していたのと同 じ状態に戻します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-441 fastbind(1) fastbind(1) 通常は、fastbind 情報の生成中に fastbind で無効なシンボルが検出されると、 fastbind は -u エラーメッセージを生成するが実行可能ファイルの修正は行いません。しかし、 -u オプ ションを指定して fastbind を実行すると、未解決シンボルを使用することが可能です。 多言語化対応 環境変数 次の多言語化対応変数は、 fastbind の実行に影響を与えます。 LANG LC_ALL およびその他の LC_* 環境変数が指定されていない場合に、母国語のロケールカテゴ リ、ローカルカスタム、およびコード文字セットを定義します。 LANG が指定されていない場合、または空文字列が指定されている場合、デフォルトの C (lang(5) を 参照) が LANG の代わりに使用されます。 LC_ALL すべてのロケールカテゴリの値を定義し、 LANG および他の LC_* 環境変数よりも優先に使 用されます。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージのフォーマットおよび内容を変更するために使用す るロケールを定義します。 LC_NUMERIC 数値のフォーマティングのためのロケールカテゴリを定義します。 LC_CTYPE 文字操作関数のロケールカテゴリを定義します。 NLSPATH LC_MESSAGES の処理を行うために、メッセージカタログの位置を定義します。 多言語対応変数のいずれかの設定が不適切な場合には、 fastbind はすべての多言語対応変数が C に設定されて いるものとして動作します。 environ(5) を参照してください。 さらに、以下の環境変数は fastbind の処理内容に影響します。 TMPDIR 一時ファイル (tmpnam(3S) を参照) 用のディレクトリを指定します。 診断 fastbind は、操作が成功すると 0 を返します。 0 以外のリターンコードは、エラーが発生したことを示しま す。 例 実行可能ファイル a.out で fastbind を実行するには、次のように入力します。 Section 1-442 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 fastbind(1) fastbind(1) fastbind a.out その後、fastbind 情報を実行可能ファイル a.out から削除するには、次のように入力します。 fastbind -n a.out 警告 32-bit PA-RISC の fastbind は、EXEC_MAGIC の実行可能プログラムでは動作しません。 fastbind は、バインドの制限と即時バインドを効果的に行います。例えば、実行可能プログラムとリンクされ たバインドが延期されており、暗黙的にロードされたライブラリで定義されている関数 foo() を呼び出すとし ます。実際に呼び出す前に、 foo()が定義された共有ライブラリを明示的にロードする場合 (BIND_FIRST を指 定して shl_load(3X) を使用)、 foo() を最後に呼び出すと、明示的にロードされたライブラリから変換されま す。しかし fastbind を実行した後は、シンボル foo() は暗黙的にロードされたライブラリから変換されます。 著者 fastbind は HP で開発されました。 ファイル a.out 出力ファイル /usr/lib/dld.sl 32ビット PA-RISC ダイナミックローダー /usr/lib/hpux32/dld.so 32ビット Itaniumベース ダイナミックローダー /usr/lib/pa20_64/dld.sl 64ビット PA-RISC ダイナミックローダー /usr/lib/hpux64/dld.so 64ビット Itaniumベース ダイナミックローダー /usr/lib/nls/$LANG/fastbind.cat メッセージカタログ 一時ファイル /var/tmp/__FB* 参照 システムツール ld(1) リンクエディタを実行 その他 a.out(4) アセンブラ、コンパイラ、リンカの出力 dld.sl(5) PA-RISC ダイナミックローダー dld.so(5) Itaniumベース ダイナミックローダー テキストおよびチュートリアル 『HP-UX リンカー & ライブラリー ユーザーズガイド』 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-443 fastmail(1) fastmail(1) 名称 fastmail − 簡易バッチメール インタフェース 構文 fastmail [−b bcc-list] [−c cc-list] [−C comments] [−f from-name] [−F from-addr] [−i in-reply-to] [−r reply-to] [−R references] [−s subject] filename address-list 説明 fastmail は、インタラクティブメーラーの負担なしにメッセージを送ることができる低レベルのインタフェー スです。時差をつけて大人数のグループにメールを送信するような用途に向いています。 すべてのアドレスは完全な電子メールアドレスでなければなりません。 /etc/mail/aliases ファイルの sendmail 別名、またはローカルログイン名を別名として使用します。 オプション fastmail では、次のオプションを使用することができます。 −b bcc-list このオプションを指定すると、 Bcc: ヘッダエントリを含めることができます。この オプションを指定すると、コンマで区切られたアドレスのリストにブラインドカーボ ンコピー メッセージを送ることができます。 −c cc-list このオプションを指定すると、 Cc: ヘッダエントリを含めることができます。このオ プションを指定すると、コンマで区切られたアドレスのリストにカーボンコピー メッ セージを送ることができます。 −C comments このオプションを指定すると、文字列の値 comments. を Comments: ヘッダエントリ を含めることができます。 −d デバッグ。処理されるステップの情報を表示します。 −f from-name このオプションは from-name で From: ヘッダエントリのユーザー名を置き換えます。 ユーザーが x@y で、名前が MrX の場合、デフォルトの From: 行は次のようになり ます。 From: x@y (MrX) . ただし、実行時に -f Joe を使用すると、次のようになります。 From: x@y (Joe) −F from-addr このオプションは from-addr で From: ヘッダエントリのアドレスを置き換えます。上 の −f の例の場合、 −F a@b とすると次のようにオリジナルエントリを変更できま す。 From: a@b (MrX) −i in-reply-to このオプションを指定すると、文字列の値 in-reply-to を持った In-Reply-To: ヘッダエ ントリを含めることができます。このエントリは普通リプライするメッセージを特定 Section 1-444 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 fastmail(1) fastmail(1) するために使用されます。 −r replyto このオプションを指定すると、 replyto で与えられた一つのアドレスを持った ReplyTo: ヘッダエントリを含めることができます。このエントリは一般にリプライを From: ヘッダエントリにあるアドレスの代わりに送信してほしいアドレスになりま す。メイリングリストでは一般的です。 −R references このオプションを指定すると、文字列の値 references を含んだ References: ヘッダエン トリを含めることができます。 −s subject このオプションを指定すると、文字列の値 subject. を含んだ Subject: ヘッダエントリ を含めることができます。このオプションを省略すると、メッセージはサブジェクト エントリなしで送信されます。 オペランド fastmail は次のオペランドを認識します。 アドレスリスト To: ヘッダ行んに対する一つまたは複数の空白で区切られたアドレスのリストこれら は、メッセージの主な受取人を示しています。 ファイル名 メッセージを含むファイル名か、標準入力の使用を示す (-) のどちらか 例 完全に指定されたコマンド このコマンドはオプションをすべて指定しました。 fastmail \ -b "bcc1,bcc2,bcc3,bcc4" \ -C "Just a Comment" \ -c "cc1,cc2,cc3,cc4" \ -d \ -F [email protected] \ -f My Name \ -i "Your recent message" \ -R REF:13579 \ -r oscar \ -s "Testing fastmail" \ message-file \ addr1 addr2 addr3 addr4 このオンラインでの実行は次のようになります。 Mailing to addr1,addr2,addr3,addr4 cc1,cc2,cc3,cc4 bcc1,bcc2,bcc 3,bcc4 [via sendmail] cat /tmp/fastmail.5578 message-file | /usr/sbin/sendmail addr1,a HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-445 fastmail(1) fastmail(1) ddr2,addr3,addr4 cc1,cc2,cc3,cc4 bcc1,bcc2,bcc3,bcc4 受信メッセージの関連ヘッダエントリは以下のようになります。 From [email protected] Tue Oct 22 21:14:04 EDT 1996 Subject: Testing fastmail From: [email protected] (My Name) Reply-To: [email protected] To: [email protected], [email protected], [email protected], [email protected] Cc: [email protected], [email protected], [email protected], [email protected] References: REF:13579 In-Reply-To: Your recent message Comments: Just a Comment Bcc: ヘッダエントリは送信されません。 バッチプロセス あなたが、システム big-machine 上のユーザー big であり、次のような行を持つ batch-mail という名前のシェ ルスクリプトを持っているとします。 # # Batch Mail - batch mailing of a file to a LOT of users # # Usage: batch-mail "<from>" "<subject>" <filename> sender_copy=$LOGIN replyto=The-Mr-Big-list fastmail -b $sender_copy -r $replyto -f "$1" -s "$2" $3 person1 sleep 10 fastmail -r $replyto -f "$1" -s "$2" $3 person2 sleep 10 fastmail -r $replyto -f "$1" -s "$2" $3 person3 sleep 10 fastmail -r $replyto -f "$1" -s "$2" $3 person4 コマンド: batch-mail "Mr. Big" "Warning to all" warning.text は、 warning.text ファイルのコピーを、 person1, person2, person3, person4, に10秒間隔でメールします。 Section 1-446 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 fastmail(1) fastmail(1) $LOGIN は、メールの最初のメッセージのコピーをBccで受信します。各受け取ったメッセージのヘッダ行は 次のようになります。 From: big@big-machine (Mr. Big) Subject: Warning to all Reply-To: The-Mr-Big-list ファイル /etc/mail/aliases sendmail 別名ファイル /usr/sbin/sendmail メール配信エージェント /tmp/fastmail. pid 一時ファイル 著者 fastmail は HP で開発されました。 参照 elm(1), sendmail(1M). RFC 822 "Standard for the Format of Internet Text Messages" HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-447 file(1) file(1) 名称 file − ファイルタイプの判別 構文 file [-m mfile ] [-c ] [-f ffile ] [-h ] [-i ] file ... UNIX 2003 (onwards) 構文 file [-m mfile ] [-M Mfile ] [-c ] [-d ] [-f ffile ] [-h ] [-i ] file ... 説明 file は、分類時にそれぞれの file ごとに一連のテストを行います。 file が ASCII ファイルであると思われる場 合、 file は、最初の512バイトを検査し、その言語を推定しようとします。 file が実行可能な a.out ファイルで ある場合、 0より大きいバージョンスタンプがあれば、それをプリントします ( ld(1) の -V オプションの説明 を参照)。 file は、ファイル /etc/magic を使用してある種の マジックナンバーを持つファイル、つまりそのタイプを示す 数値または文字列定数を持つファイルを識別します。 /etc/magic の先頭にある注釈でフォーマットを示しま す。 オプション file が認識するオプションは以下のとおりです。 -m mfile 別のマジックファイル mfile を使用します。 -M Mfile (UNIX 2003 onwards 専用) 別のマジックファイル Mfile を使います。デフォルトのコンテキ スト依存のテストは行われません。 マジックファイルにフォーマットエラーがないかどうかチェックします。この検査は、効 -c 率を考慮して通常は実行されません。このオプションを指定すると、ファイル分類は行わ れません。 (UNIX 2003 onwards 専用) ファイルに対してデフォルトのマジックファイル /etc/magic か -d らポジション依存のテストとデフォルトのコンテキスト依存のテストが行われます。 -f ffile ffile に調べたいファイルのリストを入れたファイルを指定します。 file は、名前が ffile に 現れる各ファイルを分類します。 シンボリックリンクを対象としません。 UNIX 2003 (onwards) 環境から、 −h が指定され -h ず、 file が存在しないファイルを参照するシンボリックリンクの場合、 −h が指定された ようにシンボリックリンクとして認識されます。 通常のファイルをこれ以上分類しません。 -i -M オプションが -d オプション、あるいは -m オプション、または両方と共に指定された場合は、これ らのオプションが指定された順に、オプションで指定されたポジション依存のテストの連結が行われ ます。 Section 1-448 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 file(1) file(1) 多言語化対応 UNIX 標準環境の情報については、 standards(5) を参照してください。 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定され ている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 file は全ての国際化変数が"C"に設定されているように振る舞い ます。 environ(5) を参照してください。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされますが、非ASCIIテキストファイルは 全て「データ」として認識されます。 警告 リリースの file コマンドは、その特定のリリース用のコアファイルを正しく解釈します。異なるリリースで生 成されたコアファイルに file コマンドを使用すると、正しくない結果が報告されます。 参照 ld(1), standards(5) 標準準拠 file: SVID2, SVID3, XPG2, XPG4 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-449 find(1) find(1) 名称 find − ファイルの検出 構文 find [-H -L] pathname_list [expression] 説明 find コマンドは pathname_list 中のパス名 (すなわち、1つ以上のパス名) ごとにディレクトリ階層を再帰的に下 降し、以下で述べる要素で書かれた論理式 expression に一致するファイルを検出します。デフォルトでは、 find はシンボリックリンクは検出の対象としません。 オプション参照。 論理式は、短絡評価法で評価されます。すなわち、論理演算 (AND または OR) の結果が左側の引き数の評価に よって得られる場合は、右側の引き数は評価されません。 以下の要素の説明では、引き数 n は10進の整数を表します。ただし、+n は n より大きい値、-n は n より小さ い値、また n は n そのものの値をそれぞれ表します。 オプション find コマンドは以下のオプションを認識します。 find コマンドはコマンドライン上の pathname_list で指定されたそれぞれのシンボリックリン -H クに対し、リンク自体ではなくシンボリックリンクで参照されているファイルのファイル情 報やファイルタイプを評価します。シンボリックリンクで参照されているファイルが存在し ない場合 find コマンドはシンボリックリンク自体のファイル情報やファイルタイプを評価し ます。 find コマンドはコマンドライン上にないシンボリックリンクに対しでは、シンボリッ クリンク自体のファイル情報やファイルタイプを評価します。 find コマンドはコマンドライン上の pathname_list で指定された、またはファイル階層中で見 -L 付けたそれぞれのシンボリックリンクに対し、リンク自体ではなくシンボリックリンクで参 照されているファイルのファイル情報やファイルタイプを評価します。 要素 find コマンドは以下の論理式で使用される要素を認識します。 -atime n 開始時刻からファイルのアクセス時刻を引いた時間が 24 時間の n-1 倍と n 倍の間にある (すなわち n 日前にアクセスした) 場合に真になります。開始時刻は、find ユーティリティの起動時刻と path オペ ランドで指定されたファイルへの find ユーティリティの実行による最初のアクセス時刻との間の時刻 です。 pathname_list 内のディレクトリのアクセス時刻は、find 自身が変更します。 -cpio device 現在のファイルを cpio(4) フォーマット (5120バイトレコード) で device に書き込みます。 -cpio を使 用した場合は、-depth も指定されているとみなされます。常に真です。 Section 1-450 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 find(1) find(1) -ctime n 開始時刻からファイルのステータス情報の最終変更時刻を引いた時間が 24 時間の n-1 倍と n 倍の間 にある (すなわち n 日前にステータス情報を変更した) 場合に真になります。開始時刻は、find ユー ティリティの起動時刻と path オペランドで指定されたファイルへの find ユーティリティの実行によ る最初のアクセス時刻との間の時刻です。 -depth これは位置に依存しない項で、ディレクトリ階層の 下降の際に、ディレクトリのすべてのエントリーをディレクトリ自体より先に調べるようにします。 これが有効なのは find を cpio (cpio(1) 参照) と併用する場合で、書き込みパーミッションのないディ レクトリ内のファイルを転送することができます。また、cpio を使用する際に、ディレクトリの修正 日付を変更したくない場合にも利用できます。常に真です。 -exec cmd 実行した cmd が終了ステータスとしてゼロの値を返す場合に真になります。 cmd の後にはセミコロ ン (;) またはプラス記号 (+) を付けなければなりません。セミコロンおよびプラス記号はシェルでは特 別な意味を持つので、バックスラッシュ (\) でエスケープする必要があります。 + が使用される場合 は、cmd は pathnames のセットを集め、そのセットに対して実行します。最初の {} と + の間のコマ ンド引き数は無視されます。 UNIX 2003 環境において + は、 + が {} の直後にある場合のみ cmd の終 了を意味します。 ; より + の方がよい理由は、パフォーマンスが向上するからです。 ; では一致した ファイルごとに -exec cmd のコマンドが実行されますが、 {} + ではコマンドは一度しか実行されませ ん。コマンド引き数 {} は現在のパス名で置き換えられます。 cmd は、追加コードセットキャラクタ を含みます。 この例は ; を使ったときと + を使ったときの違いを示します。 hello というファイルがある2つの ディレクトリがあります。ディレクトリ 1 にはひとつのファイル: $ls /one hello ディレクトリ /my/project/directory には3つのファイルがあります: $ ls /my/project/directory hello hi hummm 以下の find コマンドはディレクトリ中の hello というファイルを探します。 $ find /one /my/project/directory -name hello -exec echo hi {} \+ hi /one/hello /my/project/directory/hello $ find /one /my/project/directory -name hello -exec echo hi \; hi hi HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-451 find(1) find(1) {} + が find コマンドにあれば echo hi は一度だけ実行されます。 ; が find コマンドにあれば echo hi は一致するたびに実行されます。 -follow これは位置に依存しない項で、find がシンボリックリンクを対象とするようになります。シンボリッ クリンクを対象とする場合、find は、調べたディレクトリの跡を管理しているので、無限ループを検 出できます。たとえば、シンボリックリンクが上位ディレクトリを指している場合に発生するループ を検出します。これは -type l と一緒に使用してはいけません。常に真です。 -fsonly FStype これは位置に依存しない項で、ファイルシステムのタイプが、FStype (FStype は cdfs, hfs, vxfs, nfs の いずれかで、それぞれ CDFS、HFS、JFS (VXFS) または NFS の各ファイルシステムに対応) で指定し たタイプと異なる場合には、find はディレクトリを下降しません。 ただし、マウントポイントはその親ディレクトリの FStype を継承します。すなわち、-fsonly hfs が指 定された場合、find がHFS ファイルシステム上にマウントされたNFS マウントポイントを検出する と、そのマウントポイントはアクセスされますが、その下のエントリーはアクセスされません。ま た、-fsonly nfs が指定された場合、NFSファイルシステムのマウントポイントの下にあるHFSファイ ルシステムはトラバースされないので注意してください。常に真です。 -fstype FStype ファイルが属するファイルシステムのタイプが FStype (FStype は cdfs, hfs, nfs, vxfs のいずれかで、そ れぞれ CDFS、HFS、NFS、または JFS (VXFS) の各ファイルシステム タイプに対応) の場合に真にな ります。 -group gname ファイルがグループ gnameに属している場合に真になります。 gname が数値で /etc/group ファイル内 に存在しない場合、それはグループ ID とみなされます。 gname オペランドの前に + または - を付け て、プライマリの比較を変更することができます。項 n が10進数の整数を表す場合、+n は n より大 きいことを意味し、-n は n より小さいことを意味し、n は n と等しいことを意味します。 -inum n ファイルのシリアル番号 (iノード番号) が n の場合に真になります。ただし、ファイルのシリアル番 号は1つのファイルシステム中でのみユニークとなります。したがって、ファイルのシリアル番号の マッチングを行っても、検出範囲を 1 つのファイルシステムに限定しない限り、参照されたファイル が同じであるとは限りません。 -linkedto path ファイルが path で指定したファイルと同じ物理ファイルであれば (すなわち、path にリンクされてい れば)、真になります。この要素は -inum とほとんど同じですが、複数のファイルシステムを対象に 検出を行った場合でも、ファイルが path にハードリンクされていることを正しく検出します。 Section 1-452 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 find(1) find(1) -links n ファイルに n 個のリンクが存在した場合に真になります。 -local ファイルが物理的にローカルシステム側にある場合に真になります。これは、検出を物理的にローカ ルシステム側にあるファイルだけに制限せず、単にそのようなファイルを一致させているだけです。 例を参照してください。 -mountstop -xdev と同じです。この要素は、単に過去のシステムとの互換性のために提供されるものです。した がって、可能な限り -xdev を優先して使用してください。 -mtime n 開始時刻からファイルの変更時刻を引いた時間が 24 時間の n-1 倍と n 倍の間にある (すなわちn日前 に変更した) 場合に真になります。開始時刻は、find ユーティリティの起動時刻と path オペランドで 指定されたファイルへの find ユーティリティの実行による最初のアクセス時刻との間の時刻です。 -name file パターン file が現在のファイル名の最後の構成要素に一致した場合に真になります。パターンは、 ファイル名展開のパターンマッチング表記に従って一致の判定が行われます。 find をシェルから実行 する場合は、シェルがメタキャラクタとして展開しないようにパターンをエスケープ( バックスラッ シュを使用) または引用符で囲んでください。パターンには、追加のコードセットキャラクタを含め ることができます。 -ncpio -cpio と同じですが、cpio に -c オプションを追加します。 -ncpio を使用した場合は、-depth も指定さ れているとみなされます。常に真です。 -newer file 現在のファイルが、引き数の file より後に修正されている場合に真になります。 -newer [tv1[tv2] ] file 現在のファイルの時刻の値 (tv1) が file の時刻の値 (tv2) より新しい場合に真になります。時刻の値 tv1 と tv2 は、それぞれ次の3文字のいずれかで示されます。 a ファイルに最後にアクセスした時刻 c ファイルのiノードを最後に修正した時刻 m ファイルを最後に修正した時刻 tv2 文字を省略すると、デフォルトは m になります。 -newer オプションは -newermm と等価です。 構文例 -newera file -newermc file -nogroup ファイルが属するグループ ID がグループデータベース内にリストされていない場合に真になりま す。 group(4) を参照してください。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-453 find(1) find(1) -nouser ファイルが属するユーザー ID がパスワードデータベース内にリストされていない場合に真になりま す。 passwd(4) を参照してください。 -ok cmd -exec と同じですが、生成されたコマンド行の先頭に疑問符を付けて出力し、ユーザーが y と応答し た場合に限って実行する点が異なります。肯定の応答の形式は、ロケール依存になります。たとえ ば、ロケールが C の場合は、"y"になります。 environ(5) の LANG を参照してください。 cmd は、セ ミコロン (;) で終わらなければなりません。 ( セミコロンはシェルでは特別な意味を持つので、エス ケープする必要があります)。 cmd は、補助コードセットの文字を含んでも構いません。 これは -prune とは逆の肯定論理を適用する要素です。 -prune は、各ディレクトリに対する -only の -only 評価が失敗した場合に、実行されます。次の3つのコマンドは、等価になります。 find . -fsonly hfs -print find . -print -fstype hfs -only find . -print ! -fstype hfs -prune ただし、-depth オプションが指定されている場合、-only は無効になります。常に真です。 -path file これは -name と同じですが、ベース名だけでなく、(-print の出力と同じような) 絶対パスを使用する 点が異なります。なお、/ は特殊文字とはみなされません。たとえば、*/.profile は ./home/fred/.profile に一致します。 -print 現在のパス名に改行文字を付けて出力します。常に真です。 -print0 現在のパス名に null 文字を付けて出力します。常に真です。 -perm [-]mode この要素では、引き数 mode はファイルのモードビットを表します。この引き数は chmod(1) の mode オペランドと同じフォーマットですが、最初の文字に演算子 - を使用できない点が異なります。記号 形式の mode を使用する場合、指定しないファイルモードビットはすべてクリアとして扱われます。 先頭の負符号を省略すると、この要素はファイルパーミッションのビットが mode の値と完全に一致 した場合に真になります。また、記号表現属性 s (set-user-ID、 set-group-ID) (ユーザー ID のセット、 グループ ID のセット) および t (スティッキービット) に対応するビットは無視されます。 mode の前に負符号を付けると、この要素は mode でオンになっている全ビットがファイルパーミッ ション ビットでもオンである場合に真になります。この場合、記号表現属性 s および t に対応する ビットは有効になります。 -prune 現在のエントリーがディレクトリの場合、find はそのディレクトリをスキップします。この要素は、 特定のディレクトリを検出の対象から外す場合、あるいは cpio -p を使用している際に再帰的なルー プを回避する場合に利用することができます。ただし、-depth オプションが指定されている場合、 -prune は無効になります。詳細は、-only の説明と下記の 例を参照してください。常に真です。 Section 1-454 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 find(1) find(1) -size n[c] ファイルが n ブロックの長さの場合に真になります (1 ブロックは 512 バイト)。 n の後に c がある と、サイズは文字単位になります。 -type c ファイルのタイプが c の場合に真になります。 c は以下のいずれかを表します。 f 通常のファイル d ディレクトリ b ブロック型特殊ファイル c キャラクタ型特殊ファイル p FIFO (名前付きパイプ) l シンボリックリンク s ソケット n ネットワーク型特殊ファイル M マウントポイント -user uname ファイルがユーザー uname に属している場合に真になります。 uname が数値で /etc/passwd ファイル 内にログイン名として存在していない場合、それはユーザーID とみなされます。 uname オペランド の前に + または - を付けて、プライマリの比較を変更することができます。引き数 n が10進数の整数 を表す場合、+n は n より大きいことを意味し、-n は n より小さいことを意味し、n は n と等しいこ とを意味します。 -xdev これは位置に依存しない項で、find は、pathname_list に列挙された開始点より下にあるファイルシス テムマウントポイントをトラバースしなくなります。この場合、マウントポイント自体はアクセスさ れますが、そのマウントポイントより下にあるエントリーはアクセスされません。常に真です。 ( expression ) かっこで囲んだ式が真であれば、真になります。スペースは必須です。かっこは、シェルに対して特 別な意味を持つので、\( や\) のように、エスケープする必要があります。 次の演算子を使用して、要素を組み合わせることができます (演算子は優先順位の高い順に示します)。 expression [-a] expression 論理 AND 演算子。 2つの expression が両方とも真であれば、真になります。 expression -o expression 論理 OR 演算子。 2つの expression の一方または両方が真であれば、真になりま す。 ! expression 論理 NOT 演算子。 expression が真でなければ、真になります。 expression が省略された場合、または -print, -print0, -ok, -exec, -cpio, -ncpio がいずれも指定されていない場合 は、-print が指定されているとみなされます。 -user, -group, および -newer プライマリは、それぞれの引き数 の評価を一回行います。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-455 find(1) find(1) HFS アクセス制御リスト -acl 要素を使用すると、HFS アクセス制御リスト (ACL) のエントリーを検出することができます。この要素 は、ファイルのアクセス制御リストがアクセス制御リストパターンに一致する場合、またはそこにオプション のアクセス制御リストエントリーが含まれている場合に真になります (acl(5) を参照)。この要素には、次の3つ の形式があります。 -acl aclpatt アクセス制御リストが aclpatt パターンによって指定されたすべて (0 個以上) のパ ターンエントリーを含むすべてのファイルに一致します。 -acl =aclpatt アクセス制御リストが aclpatt パターンによって指定された全部 (0個以上) のパター ンエントリーを含み、同時にそのアクセス制御リスト内のどのエントリーも aclpatt パターンによって指定されたパターンエントリーのうちの少なくとも1つと一致する ファイルに一致します。 -acl opt オプションのアクセス制御リストエントリーが含まれるすべてのファイルに一致し ます。 aclpatt 文字列は、演算子または短縮形のパターンとして指定することができます。 acl(5) を参照してくださ い。 -acl は、デフォルトでアクセス制御リストが aclpatt 内のすべて (0個以上) のアクセス制御リストパターンを含 むファイルに対して真となります。ファイルのアクセス制御リストに一致しないエントリーが入っていてもか まいません。 aclpatt が = で始まっている場合、その文字列の残りの部分はファイルのアクセス制御リスト内のすべてのエン トリーと一致しなければなりません。 aclpatt 文字列 (デフォルトの場合、または = の後の部分)にはアクセス制御リストまたはアクセス制御リストパ ターンのいずれかが指定できます。ただし、アクセス制御リストの場合、aclpatt には少なくとも3つの基本エ ントリー ((user.%, mode), (%.group, mode), (%.%, mode)) が入っていなければなりません。 特殊な例として、aclpatt が opt の場合、この要素はアクセス制御リストエントリーを持つファイルに対して真 になります。 JFS アクセス制御リスト -aclv 要素を使用すると、JFS アクセス制御リストエントリーの検出をすることができます。この要素は、ファ イルのアクセス制御リストがアクセス制御リストのパターンに一致する場合、またはそこにオプションのアク セス制御リストエントリーが含まれている場合に真になります (aclv(5) を参照)。次の 3 つの形式があります。 -aclv aclpatt アクセス制御リストが aclpatt パターンによって指定されたすべて (0 個以上) のパ ターンエントリーを含むファイルのすべてと一致します。 -aclv =aclpatt アクセス制御リストが aclpatt パターンによって指定されたすべて (0 個以上) のパ ターンエントリーを含み、同時にそのアクセス制御リスト内のどのエントリーも aclpatt パターンで指定されたパターンエントリーのうちの少なくとも 1 つと一致す るファイルと一致します。 Section 1-456 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 find(1) find(1) -aclv opt オプションのアクセス制御リストエントリーが含まれるすべてのファイルに一致し ます。 デフォルトでは、-aclv は、アクセス制御リストが aclpatt 内のすべて (0 個以上の) アクセス制御リスト パターンを含むファイルに対して真となります。ファイルのアクセス制御リストに一致しないエント リーが入っていてもかまいません。 aclpatt が = で始まっている場合は、その文字列の残りの部分はファイルのアクセス制御リスト内のす べてのエントリーと一致しなければなりません。 aclpatt は、コロンで区切られた type フィールド、ID フィールド、mode フィールドで構成されます。 複数のコンマで区切った aclpatt を指定することができます。 type フィールドは user, group, class, other, * のいずれかで、オプションで default: を前に付けることが できます。 user, group, class, other, default は、それぞれ省略して u, g, c, o, d とすることもできます。 * の type フィールドは上述のいずれのタイプとも一致します。 ID フィールドは、数字のユーザー ID、数字のグループ ID、/etc/passwd にあるユーザー ID 文字列、 /etc/group にあるグループ ID 文字列、どの ID とも一致する * のいずれかです。 ID フィールドは、 type フィールドが u, g, user, group. の場合だけ指定できます。 mode フィールドは 3 文字で構成される文字列です。先頭の文字は読み取りパーミッションを示し、r ( 読み取り許可)、- (読み取り拒否)、? (読み取りパーミッションがどちらの状態でも一致) のいずれか です。同じように 2 番目の文字は書き込みパーミッションの状態を示し、w, -, ? のいずれかです。 3 番目の文字は実行パーミッションの状態を示し、x, -, ? のいずれかです。 特殊な例として、aclpatt が opt の場合、この要素はオプションのアクセス制御リストエントリーを持 つファイルに対して真になります。 多言語化対応 環境変数 使用する言語環境が指定されていない場合、あるいはヌルの場合は、デフォルトとして LANG の値が使用され ます。 LANG が指定されていない場合、あるいはヌルの場合は、デフォルトとして C が使用されます (lang(5) を参 照)。 LC_ALL が空文字列以外の値に設定されている場合、その他のあらゆる言語環境変数よりも優先されます。 いずれかの言語対応変数の設定が不当な場合、すべての言語対応変数に C が設定されているものとみなされま す (environ(5) を参照)。 LC_CTYPE は、テキストをシングルバイト/マルチバイトのいずれの文字として解釈するか、表示可能な文字 の分類、および正規表現中の文字クラス表現と照合される文字を決定します。 LC_MESSAGES は、標準エラーに書き込む診断メッセージおよび標準出力に書き込む情報メッセージの フォーマットと内容を決めるロケールを指定します。 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-457 find(1) find(1) NLSPATH は LC_MESSAGES の処理に使用するメッセージカタログのパスを指定します。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 例 いくつか find の例をあげます。 • 以下の例は -H と -L オプションの使い方を示します。 hey はディレクトリ hmm を指すシンボリックリン クです。 $ ll /maint/proj/sums total 0 - rw- rw- rw- 1 dog anima l l rwxrwxrwx 1 dog anima l 0 Dec 22 10:55 he l l o 3 Dec 22 11:15 hey -> hmm - rw- rw- rw- 1 dog anima l 0 Dec 22 10:55 hi drwxrwxrwx 2 dog anima l 96 Dec 22 11:24 hmm 以下のコマンドはタイプがディレクトリであるファイル名を表示します。デフォルトで hey は表示されま せん。 $ /usr/bin/find /maint/proj/sums/ -type d /maint/proj/sums /maint/proj/sums/hmm 以下のコマンドは -H オプションを使います。 /maint/proj/sums/hey はコマンドラインにないため、追従さ れずディレクトリとして扱われません。 $ /usr/bin/find -H /maint/proj/sums/ -type d /maint/proj/sums /maint/proj/sums/hmm 以下のコマンドは -L オプションを使います。 /maint/proj/sums/hey はコマンドラインにありませんが -L オ プションによりファイル階層中のすべてのシンボリックリンクに追従するようになります。 $ /usr/bin/find -L /maint/proj/sums/ -type d /maint/proj/sums /maint/proj/sums/hmm /maint/proj/sums/hey 以下の -H の例では、シンボリックリンク hey はコマンドラインにあるので、追従されディレクトリとして 認識されます。 $ /usr/bin/find -H /maint/proj/sums/hey -type d /maint/proj/sums/hey Section 1-458 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 find(1) find(1) • 2つのディレクトリ /example および /new/example の中を検出して、文字列 Where are you が含まれるファ イルを見つけ、そのファイル名を出力します。 find /example /new/example -exec grep -l ’Where are you’ {} \; • a.out または *.o というファイルのうち、 1週間アクセスされなかったものをすべて削除します。 find / \( -name a.out -o -name ’*.o’ \) -atime +7 -exec rm {} \; この場合は、エスケープしたかっこを区切るスペースが必要なので注意してください。 • カレントディレクトリ内の *.o ファイルを長い形式で出力します。 find . -name ’*.o’ -exec ls -l {} \+ find . -name ’*.o’ -exec ls -l \+ プラス記号の前の中かっこは無くても構いません。 • マシン上の全ファイルの名称を出力します。 nfs マウントポイントは出力しますが、nfs ディレクトリは対 象になりません。 find / -fsonly hfs -print • ローカルファイルだけに一致して、リモートでマウントしていることがわかっているディレクトリの内容を 調べません。 find / ! -local -prune -o -size +50 -print • これは、リモートディレクトリの最上位にマウントされたローカルファイルシステムがない場合にだけ正し く動作します。この例は、リモートファイルにアクセスする無駄な時間を無くし、システム上の50ブロッ クを越えるローカルファイルをすべて出力します。 リモートディレクトリにマウントされたローカルファイルシステム内のファイルをチェックする違いの他は上 記の例と同じ結果を得るには、次のようにします。 find / -local -size +50 -print • ファイルシステム全体を /Disk にマウントされたディスクにコピーします (再帰的なコピーは回避します)。 次の2つのコマンドは等価になります (-name の代わりに -path を使用している点に注意してください)。 cd /; find . ! -path ./Disk -only -print cpio -pdxm /Disk cd /; find . -path ./Disk -prune -o -print cpio -pdxm /Disk • ルートディスクを /Disk にマウントされたディスクにコピーします。ただし、/ の下のマウントされている ファイルシステムはすべてスキップします。ここで -xdev は、/ がマウントポイントであってもスキップし ません。これは / が開始点となっており、-xdev は開始点より 下のエントリーにしか影響しないからです。 cd /; find . -xdev -print cpio -pdm /Disk HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-459 find(1) find(1) • ディレクトリサブツリー内にあるすべての通常ファイルのパーミッションをモード 444 に、またすべての ディレクトリのパーミッションをモード 555 にそれぞれ変更します。 find pathname -type f -print | xargs chmod 444 find pathname -type d -print | xargs chmod 555 find の出力が、-exec 要素を使用する代わりに、xargs(1) にパイプで送られている点に注意してくださ い。これは、1 つのコマンドで処理するファイルまたはディレクトリの数が多い場合、-exec 要素は ファイルやディレクトリごとに別の子プロセスを生成するのに対し、xargs はファイル名またはディレ クトリ名をまとめて複数の引き数とし、それを1個の chmod コマンドに渡すので、プロセス数が少な くなり、システムの処理効率が高くなるからです。同様に効率を高くするには、 -exec プライマリ用の + 区切り記号を使用することもできます。 アクセス制御リストの例 以下の例はアクセス制御リストのためのものです。 • ユーザー karl が所有していないファイルのうち、そのアクセス制御リストに karl に関連したエントリーが 1つ以上あり、さらに読み取りビットがオン、書き込みビットがオフのグループ bin の不特定ユーザーのた めのエントリーが 1つ入ったファイルをすべて検出します。 find / ! -user karl -acl ’karl.∗, % .bin+r-w’ -print" • アクセス制御リストのいずれかのエントリーの読み取りビットがオンのファイルをすべて検出します。 find / -acl ’∗.∗+r’ -print • アクセス制御リストのすべてのエントリーで書き込みビットがオフで、実行ビットがオンのファイルをすべ て検出します。 find / -acl ’=∗.∗-w+x’ -print • オプションのアクセス制御リストエントリーを持つファイルをすべて検出します。 find / -acl opt -print 制約 NFS -acl 要素は、NFSファイルの場合は必ず偽になります。 警告 相互運用性を確保するために、cpio は 2GB を超えるファイルのアーカイブや 60,000 (60K) を超えるユーザー/ グループ ID を持つファイルはサポートしていません。 60K を超えるユーザー/ グループ ID を持つファイル は、現在のプロセスのユーザー/グループ ID でアーカイブされ、復元されます。 Section 1-460 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 find(1) find(1) 著者 find は AT&T および HP で開発されました。 ファイル /etc/group グループ名 /etc/mnttab マウントポイント /etc/passwd ユーザー名 参照 chacl(1), chmod(1), cpio(1), sh(1), test(1), xargs(1), mknod(2), stat(2), cpio(4), group(4), passwd(4), acl(5), environ(5), lang(5), regexp(5) 標準準拠 find: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-461 findmsg(1) findmsg(1) 名称 findmsg, dumpmsg − 修正用のメッセージカタログ ファイルの作成 構文 findmsg [-aiv] [ [-D sym ] [-U sym ]] file ... dumpmsg file ... 説明 findmsg は、Cプログラムソースからメッセージを抽出して、 gencat への入力に適したフォーマットで標準出 力します( gencat(1) を参照)。プリント指定子を選択し、 ifdef、 ifndef... 条件付き cpp プリミティブを処理す るために、入力ファイルは cpp を使用して前処理されます( cpp(1)) を参照)。複数の入力ファイルが指定され、 -a オプションが使用されない場合、ファイルは、各入力 file への出力前に、入力 file を識別するメッセージカ タログ コメント行が書き込まれるよう、自動的に処理されます。 findmsg コマンドは、ソースファイルから以下の3フォーマットのいずれかにある非コメント行を走査します。 catgets(any_var,NL_SETN,n,<message>) <message> /* catgets n */ /* catgets n */ <message> また、1行の物理行に完全に含まれる、これらのフォーマットの組合せを走査します。 <message> は、文字列 定数あるいは文字列定数の組合わせ、およびプリント指定子 (PRI*) です。任意のスペース、またはタブ数で catgets コメントと message が区切れます。数値 n は、任意の有効なメッセージ番号とすることができ( gencat(1) を参照)、 message 文字列と結合し、メッセージカタログ ソース行を生成します。メッセージソース行 は、最後の #define 指令で、番号が設定された NL_SETN の現在の値であるセットに割り当てられます。メッ セージ行が見つかったときに NL_SETN がまだ定義されていなければ、メッセージはセット番号の指定なしに 出力されます。複数のメッセージが同じセット、およびメッセージ番号に所属する場合、最後のメッセージが 出力されます。その他のものは廃棄されます。 Cソースファイルの条件コンパイルおよび #include 命令は無視 されます。 オプション findmsg は次のコマンド行オプションを認識します。 gencat が findmsg の出力を処理できるように、複数の入力ファイルから番号が設定され -a たセットを1つに結合します。 -Dsym 記号 sym を定義します。 -Usym 記号 sym の定義を解除します。 -i すべての #ifdefs を入力ファイルからメッセージを抽出するものとみなします。このオプ ションが指定されない場合、オプション -D および -U はプリント指定子を選択するため に使用されます。 Section 1-462 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 findmsg(1) findmsg(1) -v cpp によって出されるエラーメッセージをすべて出力します。デフォルトでは、 findmsg は cpp によって出されるエラーメッセージを表示しません。 dumpmsg は、 gencat によって作成されたメッセージカタログからメッセージを抽出します。メッセージは、 編集に適したフォーマットで標準出力され、 gencat に再入力されます。 多言語化対応 環境変数 LC_CTYPE により、テキストをシングルバイト/マルチバイトのいずれの文字として解釈するか、また正規表 現中の文字クラスの表現にマッチした表示可能な文字として分類するかどうかが決まります。 LC_MESSAGES はメッセージの表示言語を決定します。 LC_CTYPE または LC_MESSAGES が環境で指定されなかったり、空の文字列の場合は、 LANG の値がそれ ぞれの未指定、または空の変数のデフォルトとして使用されます。 LANG が指定されなかったり、空の文字列 の場合は、デフォルトの C ( lang(5) を参照)が LANG の値として使われます。多言語化対応変数のいずれかの 設定が不適当な場合には、 findmsg および dumpmsg は、すべての多言語化対応変数が C に設定されているも のとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 警告 findmsg と dumpmsg は、HP 独自のコマンドなので、異機種のシステムには移植できません。また、今後の HP-UXリリースではサポートされなくなります。 著者 findmsg および dumpmsg はHPで開発されました。 参照 findstr(1), gencat(1), insertmsg(1), catgets(3C) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-463 findstr(1) findstr(1) 名称 findstr − メッセージカタログに入れる文字列の検索 構文 findstr file ... 説明 findstr は、Cソースコードのファイルからコメント解除された文字列定数を検査します。これは囲んでいる引 用符とともに、それぞれの前にファイル名、開始位置、および長さを付けて標準出力します。この情報は insertmsg によって使用されます( insertmsg(1) を参照)。 findstr は catgets() ルーチンのパラメータである文字 列を出力しません( catgets(3C) を参照)。 多言語化対応 環境変数 LC_CTYPE は、コメントおよび文字列リテラルの解釈をシングルおよびマルチバイト文字、またはそのどち らかで判定します。 LC_MESSAGES は、メッセージの表示言語を決定します。 LC_CTYPE または LC_MESSAGES が環境変数として指定されないか、または空の文字列に設定されるとき、 LANG の値はそれぞれの未指定または空の変数のデフォルトとして使用されます。 LANG が指定されない か、または空の文字列に指定されると、デフォルト"C"の( lang(5) を参照)が LANG に代わり、使用されます。 多言語化対応変数に無効な設定値が入っている場合、 findstr はすべての多言語化対応変数が"C"に設定された ものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています 警告 findstr は、静的文字列変数の初期化文字列を出力します。これらの文字列で insertmsg を呼び出すと、それら は catgets() の呼び出しに置き換えられます( catgets(3C) を参照)。イニシャライザは文字列でなければならない ため、この割当ては無効なC宣言となります。例えば、以下の行は static char *x[] = "message" insertmsg ( insertmsg(1) を参照)によって次のように変更されます。 static char *x[] = (catgets(catd,NL_SETN,1,"""message""")) これらの文字列は insertmsg に入力する前に findstr 出力からマニュアルで削除してください。 findstr は HP-UXの将来のリリースではサポートされません。 参照 insertmsg(1) Section 1-464 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 finger(1) finger(1) 名称 finger − ユーザー情報参照プログラム 構文 finger [ options ] user_name ... 説明 デフォルトでは、 finger はシステムの user_name ごとに以下のリストを示します。 • ログイン名 • 与えられたフルネーム • ターミナル書き込みステータス(書き込みパーミッションが拒否されている場合) • アイドル時間 • ログイン時間 • ユーザーのホームディレクトリおよびログインシェル • ユーザーがホームディレクトリのファイル .plan に入れたすべての計画 • ホームディレクトリのファイル .project から作業を行っているプロジェクト • オフィスの場所および電話番号(わかっている場合) • ユーザーが最後にメールを受信した時刻および最後にメールを読んだ時刻 アイドル時間は、1つの整数としてリストされている場合は分単位、 : がある場合は時および分単位、 d があ る場合は日および時単位です。ユーザーのアカウント名および姓名を受け付けます。 finger を使用してリモートマシンにユーザーのリストを示すこともできます。 user_name のフォーマットは user_name@host です。 user_name を指定しなければ、リモートシステム (HP-UX または非 HP-UX )は、デフォ ルトの標準フォーマットを使用してユーザー情報のリストを示します。 オプション finger は以下のオプションを認識します。 -b -f ユーザーのホームディレクトリおよびシェルのプリントを抑止します。 ヘッダのプリントを抑止します。ヘッダは普通、短縮フォーマットのプリントアウトでプ リントされます。 -h -i .project 詳細フォーマットのプリントアウトによるファイルのプリントを抑止します。 強制的に「アイドル」フォーマットで出力します。ログイン名、ターミナル、ログイン時 間、およびアイドル時間のプリントを除き、短縮フォーマットと同様です。 -l 強制的に詳細フォーマットで出力します。 -m ユーザー名に関してのみ引き数を照合します。 -p .plan ファイルのプリントを抑止します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-465 finger(1) finger(1) 強制的に簡易フォーマットで出力します。ログイン名、ターミナル、およびログイン時間 -q のプリントを除き、短縮フォーマットと同様です。 -R ユーザーのホスト名をプリントします。 -s 強制的に短縮フォーマットで出力します。 -w 短縮フォーマットのプリントアウトにおける姓名のプリントを抑止します。 警告 .project ファイルの最初の行だけがプリントされます。 著者 finger はカリフォルニア大学バークレー校で開発されました。 ファイル /etc/utmps 人名ファイル /var/adm/wtmps 最終ログインファイル /etc/passwd ユーザー名、オフィス、... ˜/.plan 計画 ˜/.project プロジェクト /var/mail メールディレクトリ 参照 chfn(1), who(1), utmpd(1M) Section 1-466 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 fmt(1) fmt(1) 名称 fmt − テキストのフォーマット 構文 fmt [−cs] [−w width] [ file...] 説明 fmt コマンドは、簡単なテキストフォーマッタであり、 −w width オプションで指定される文字数(まで)の出力 行を生成するために、行を埋めたり、結合したりします。デフォルトの width は、72です。 fmt は、 file 引き 数を連結します。引き数が何もないときは、 fmt は、標準入力からテキストをフォーマットします。 空白行は、語句の間の空白と同様に、出力中に保存されます。 fmt は、 nroff との互換性のために、ピリオド (.) で始まる行を埋めたりしません。 From: で始まる行を埋めたりもしません。 インデントは出力中に保持されますし、 (-c が使用されていなければ) インデントが異なる入力行を結合したり はしません。 fmt は、 vi に対するインラインのテキストフィルタとしても使われます。 vi コマンド: !}fmt これは、カーソルのある位置から、パラグラフの終わりまでのテキストを、再フォーマットします。 オプション fmt には、以下のオプションを指定することができます: −c マージンモードにします。パラグラフ内の最初の2行のインデントを保持し、それ以降の行の左 マージンを第2行のインデントに合わせます。これは、タグ付きのパラグラフのときに役に立ち ます。 −s 行を分けるだけです。長い行とするために、短い行を結合したりはしません。これによって、 コードのサンプル行や “フォーマットされた”テキストがくっつきすぎたりすることを防ぐこと ができます。 −w width カラムまで出力行を埋めます。 警告 −w width オプションは、BSD 互換モードのときのみ有効ですが、将来のリリースではなくなるかもしれませ ん。 参照 nroff(1), vi(1) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-467 fold(1) fold(1) 名称 fold − 一定幅の出力デバイスのための長い行の折り返し 構文 fold [-b] [-s] [-w width ] [ file ... ] 旧形式 fold [-s] [-width ] [ file ... ] 説明 << fold コマンドは、指定ファイルの内容が最大幅 width カラム位置( -b オプションを指定した場合はバイト)と なるように行を折り返すフィルタです。 fold コマンドは改行キャラクタの挿入によって行を折り返し、指定さ れたカラム位置(バイト)数を越えない範囲で各出力行の幅が最大となるようにします。キャラクタの途中で行 を折り返すことはできません。ファイルを指定しないか、 - の file 名を指定すると、標準入力が使用されま す。 <<a > The fold コマンドは、印刷可能幅より広い行を折り返さずに切り捨てるラインプリンタに対してテキスト ファイルを送る際によく使われます。 バックスペース、タブ、またはキャリッジリターン文字が入力にあって、 -b オプションが指定されていない場 合、以下のように特殊な処理が行われます。 バックスペース 行幅の現在のカウントが1減分されます。ただし、カウントはマイナスにはなりま せん。したがって、 character-backspace-character のような文字の並びは、両方の文 字がそれぞれ単一のカラム位置を占有するものと仮定して、 1つ分のカラム位置と してカウントされます。 fold は、バックスペースキャラクタの直前あるいは直後に 改行キャラクタを挿入しません。 タブ タブ文字があるごとに、カラム位置ポインタが次のタブストップに進みます。タブ ストップは8カラムごとにカラム位置1,9,17,25,33などで設定されます。 キャリッジリターン ライン幅のカレントカウント値がゼロに設定されます。 fold は、バックスペース キャラクタの直前あるいは直後に改行キャラクタを挿入しません。 fold はファイル中のアンダーラインに影響を与えることがあるので注意してください。 オプション fold コマンドは以下のオプションおよびコマンド行引き数を認識します。 -b -s カラム位置ではなくバイトで width をカウントします。 カラム位置の指定(バイト)数の前にある、最後の空白文字で行を分割します。何も なければ、指定した行の長さで行を分割します。 Section 1-468 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 fold(1) fold(1) -w width 最大行長をカラム位置( -b を指定した場合はバイト)数で指定します。デフォルト値 -width は80 です。 width は、タブがある場合は8 の倍数にします。そうでなければ、 fold で処理する前に expand を使ってタブを展開しなければなりません( expand(1) を参 照)。 -width オプションは旧版であり、将来のリリースでは削除される可能性があ ります。 多言語化対応 環境変数 LC_CTYPE は、シングルバイトおよびマルチバイト、またはそのいずれかの文字としてテキストの解釈を決 定します。 LC_MESSAGES は、メッセージの表示に使われる言語を決定します。 LC_CTYPE または LC_MESSAGES が環境の中で指定されていなかったり、空の文字列の中に設定されている 場合には、 LANG の値がその変数のデフォルトとして用いられます。 LANG が指定されていなかったり、空 の文字列の場合には、デフォルトの "C" ( lang(5) を参照)が LANG の値として使われます。 多言語対応変数のいずれかの設定が不適当な場合には、 fold は多言語対応変数が"C"に設定されているものと して動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 参照 expand(1) 標準準拠 fold: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-469 footprints(1) footprints(1) 名称 footprints − コンパイラのフットプリントレコード情報の要約 構文 /usr/ccs/bin/footprints [-V] [-v] [-w] filename... 説明 footprints コマンドは、指定したオブジェクトファイルをスキャンし、そのファイルに格納されているコンパイ ラフットプリントレコードを分析し、要約レポートを生成します。このレポートは、HP サポートおよびラボ 技術者が問題の診断に利用することを目的としています。 レポートには、以下の情報が含まれます。 • 検出されたコンパイルユニットの総数 • 最初と最新のコンパイラタイムスタンプとリンカータイムスタンプ (存在する場合) • テキストセグメントとデータセグメントの総サイズ • 使用されたコンパイラのバージョンと、各バージョンでコンパイルしたコンパイルユニット数のリ スト • 使用されたオプションと、各オプション設定でコンパイルしたコンパイルユニット数のリスト。こ のリストは2つのグループに分けられ、最も重要度の高いオプションが最初のグループに分類さ れ、残りのオプションが2番目のグループに分類されその後にアルファベット順にリストされま す。 以下のファイルタイプが認識されます。 • 実行可能ファイルと共有ライブラリ footprints コマンドは、すべての依存ライブラリ、非システム共有ライブラリを検索し、各共有ラ イブラリに対して個別のレポートを出力します。 LD_LIBRARY_PATH または SHLIB_PATH 環境 変数が設定されている場合は、環境変数内にリストされているディレクトリで依存ライブラリを検 索します (LD_LIBRARY_PATH が設定されている場合、 SHLIB_PATH は無視されます)。また、 オブジェクトファイルに埋め込まれている検索パスも使用します。共有ライブラリが見つからない 場合は、診断メッセージを出力して実行を続けます。 • アーカイブライブラリ footprints コマンドは、アーカイブの各オブジェクトファイルメンバーをスキャンします。 • 再配置可能オブジェクトファイル footprints コマンドは、指定したオブジェクトファイルをスキャンします。 footprints コマンドは、SOM および ELF オブジェクトファイル形式、32 ビットおよび 64 ビットコード、PARISC および Integrity システムをサポートします。また、HP C および C++ コンパイラが生成したコンパイラ フットプリントをサポートします。他のコンパイラが生成したコンパイルユニットは、要約に反映されないこ Section 1-470 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 footprints(1) footprints(1) とがあります。 オプション footprints コマンドは、以下のオプションを認識します。 -V バージョン番号を出力して終了します。 -v 冗長モード: 検出した各コンパイルユニットについて、詳細な情報を出力します。 -w 互換性の問題が起きる可能性について、警告を出力します。現在は、バージョン A.05.50 より前 の C/C++ コンパイラで Integrity システム用に構築したコンパイルユニットすべてに対して警告が 出力されます。警告は stderr に出力され、行頭にはアスタリスクが3つ付加されます。 例 次の例は、一般的な要約レポートの先頭部分です。 Scanning /usr/bin/ksh ... Compiler footprint summary Number of compilation units: 51 Earliest compiler timestamp: N/A Latest compiler timestamp: N/A Linker timestamp: 15-Jul-2006 13:07 UTC Total size: 425.8K (text) 24.8K (data) version [A.06.11/ANSI C 51] architecture [ipf32 51] -O [01 1] [02 PBO [off 51] -g [off 51] debugopt [off 51] +Ointeger_overflow [moderate 51] +Olit [const +eh [off -fpeval [float 51] -inline [1 1] [2 -link_type [dynamic -mt [(off) -rodata [cond HP-UX 11i Version 3: February 2007 50] 51] 51] 50] 51] 51] 51] −2− Hewlett-Packard Company Section 1-471 footprints(1) footprints(1) ... version 行は、ANSI C コンパイラのバージョン A.06.11 で合計 51個のコンパイルユニットがコンパイルされた ことを示します。 architecture 行は、Integrity システム (Itanium(R) Product Family) 用にアプリケーションが 32 ビットデータモデルでコンパイルされたことを示します。 −O 行は、1つのコンパイルユニットがデフォルトの最適化レベル ( レベル 01) でコンパイルされ、その他の 50個はレベル 02 でコンパイルされたことを示します。 PBO 行によると、51個のユニットはすべて、プロファ イルベースの最適化を使用せずにコンパイルされています。 −g 行は、シンボリックデバッグオプションを用いてコンパイルされたコンパイルユニットが1つもないことを 示します。シンボリックデバッグオプションを用いてコンパイルされたコンパイルユニットがある場合には、 debugopt 行には、シンボリックデバッグおよび高い最適化レベルをさまざまに組み合わせてコンパイルしたコ ンパイルユニットの数が表示されます。 −mt 行のように on/off オプション設定がかっこ内にリストされている場合、デフォルト設定がコンパイラオプ ションによって置き換えられなかったことを示します。 フットプリントレコード内のオプションには、コマンド行のコンパイラスイッチと直接対応していないもの や、綴りの異なるものが多くあります。これらは、HP サポートおよびラボ技術者が使用できるように、レ ポートに含まれています。サポートされているコマンド行スイッチについては、 cc(1) を参照してください。 著者 footprints は HP で開発されました。 参照 cc(1), elfdump(1), odump(1) Section 1-472 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 forder(1) forder(1) 名称 forder − ファイルデータ順序の変換 構文 forder [-a] [-l] [-n] [ file ... ] 説明 ファイルのテキストの向き(モード)は、右から左へ(非ラテン系)または左から右へ(ラテン系)とすることがで きます。このテキストの向きは、ファイルにおけるデータ配置に影響を与えることがあります。生成される データ配置を画面順序およびキーボード順序といいます。 forder は、ファイルの文字順序を画面順序からキー ボード順序に、または逆にキーボード順序から画面順序に変換します。 forder は、入力ファイル (または、何も与えなければ標準入力) の連結を読み込み、その入力を変換したものを 標準出力に作成します。 - が入力ファイル名として表示されると、 forder はその時点の標準入力を読み込みま す (そのような場合には、オプションの終端を区切るために - - を使用してください)。 forder は、読み込んだすべての言語の入力ファイルを右から左に変換します。 -a オプションが使用されない限 り、コマンドは入力ファイルを左から右に読み込まれた言語に対して標準出力にコピーするだけです。 オプション forder が認識するオプションは以下のとおりです。 -a 左から右に読み込まれた言語に対してファイルデータ順序を変換します。 -l ファイルがラテンモードで作成されていることを識別します。 -n ファイルが非ラテンモードで作成されていることを識別します。 多言語化対応 環境変数 LANGOPTS 環境変数はファイルのモードおよび順序を決定します。 LANGOPTS の構文は以下のとおりで す。 [ mode ] [ _order ] ただし、 mode はファイルのモードを記述します。 l はラテンモードを表し、 n は非ラテンモードを表しま す。非ラテンモードは l および n 以外の値に対して仮定されます。 order はファイルのデータ順序を記述しま す。 k はキーボードであり、 s は画面です。キーボード順序は k および s 以外の値に対して仮定されます。 LANGOPTS のモード情報は、コマンド行から優先順位をとることができます。 LC_ALL 環境変数は言語の向き(左から右または右から左) を決定します。 LC_NUMERIC 環境変数は、言語に代替番号があるかどうかを決定します。 LANG 環境変数は、メッセージの表示言語を決定します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-473 forder(1) forder(1) サポートされるコードセット シングルバイト文字コードセットがサポートされます。 例 以下のコマンドは、画面順序の file1 から始まり、それをキーボード順序に変換してキーボード順序の出力を並 べ換え、それを画面順序に変換し直して出力を file2 にリダイレクトします。 -n は file1 が非ラテンモードで作 成されたことを forder に通知するためにあることに注意してください。 forder -n file1 | sort | forder -n > file2 警告 ユーザーが責任を持って LANGOPTS 環境変数がファイルのステータスを正確に反映するようにしてくださ い。 代替番号がある場合、それは常に左から右の向きです。 forder はHP 独自のコマンドです。異機種のシステムには移植できません。HP-UX の将来のリリースではサ ポートされません。 AUTHOR 著者 forder はHPで開発されました。 参照 environ(5), strord(3C), nljust(1) Section 1-474 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 from(1) from(1) 名称 from − メールの送信元の表示 構文 from [-s sender ] [ user ] 説明 from はメールボックスファイルのメールヘッダ行をプリントして、誰がメールを送信したかを示します。 user を指定すると、自分のメールボックスではなく user のメールボックスが検査されます。 -s オプションを与え ると、 sender からのメールヘッダだけがプリントされます。 例 メールボックスで ken から送信された現在のメールすべてについて、ヘッダ行のリストを表示します。 from -s ken ファイル /var/mail/* 著者 from はカリフォルニア大学バークレー校で開発されました。 参照 mail(1), prmail(1) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-475 ftio(1) ftio(1) 名称 ftio − 高速テープI/O 構文 ftio -o -O [achpvxAELM] [-B blksize] [-D type] [-e extarg] [-K comment] [-L filelist] [-N datefile] [-S script] [-T tty] [-Z nobufs] tapedev [ pathnames] [-F ignorenames] ftio -i -I [cdfmptuvxAEMPR] [-B blksize] [-S script] [-T tty] [-Z nobufs] tapedev [ patterns] ftio -g [v] tapedev [ patterns] 特記事項 注記: fbackup , frecover , および ftio コマンドでの新しいアーカイブの作成は推奨されません。詳細は「警告」 を参照してください。 説明 ftio は、ファイルを磁気テープドライブにコピーするために特に設計されたツールです。 cpio や tar よりも高 速です (cpio(1) および tar(1) を参照)。 ftio は複数のプロセスを使用してファイルシステムの読み取り/書き込 みとテープデバイスの書き込み/読み取りを行いますが、プロセス間で大量のメモリを共有し、さらに大きなブ ロックサイズでテープからの読み取り/書き込みを行います。 ftio は、 cpio からの出力が常に ftio によって読み取り可能であり、 ftio からの出力は cpio によって読み取り 可能であるという点で cpio との互換性があります。ただし、以下の「cpioとの互換性」の項に説明がある点は 異なります。 ftio には、オプション -o, -O, -i, -I, -g のうち1つだけを付けて呼び出さなければなりません。 -o および -O オ プションは、 ftio がファイルシステムからテープに書き出すことを指定します。 -i および -I オプションは ftio がテープからファイルシステムに書き込むことを指定します。 -o, -O, -i, および -I オプションのあとに、修飾 子を続けることができます。この修飾子は、 ftio -idxE のように、オプションの直後に、間にスペースを入れ ずに続けなければなりません (以下の「修飾子」の項を参照)。 tapedev は、出力が書き出されるテープデバイスのデバイス特殊ファイルの名前を指定します。リモートマシン 上のデバイスは、次の形式で指定します。 machine:device_special_file ftio は、リモートマシン上のテープデバイスにアクセスするために、リモートマシン上の /usr/sbin/rmt から サーバプロセスを生成します。リモートシステムに /usr/sbin/rmt が存在しない場合は、 ftio はリモートマシン 上の /etc/rmt からサーバプロセスを生成して、テープデバイスにアクセスします。 オプション ftio が認識するオプションは以下のとおりです。 -o パス名およびステータス情報とともにファイルを tapedev にコピー( 出力) します。 pathnames を指定すると、 ftio は再帰的に pathnames を下ってファイルを検索し、 ファイルを tapedev にコピーします。 pathnames を指定しなければ、 ftio は、標準入 Section 1-476 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ftio(1) ftio(1) 力を読み込んでコピーするパス名のリストとします。 ftio は、必要ならば複数のテー プにコピーすることができます。使われる各テープに対して、 ftio はテープヘッダを 生成し、そこに現在のテープのボリューム番号、マシンのノード名とタイプ、オペ レーティングシステム名、リリースおよびバージョン番号( これはすべて uname() シ ステムコールから得られます。 uname(2) を参照)、 ftio コマンドを発行したユーザー 名、コマンドが実行された時刻と日付、現行のメディアが連続して何回使われたか、 コメント用のフィールド、そして ftio で内部的に使用されるその他の項目を記録しま す。テープヘッダは、テープアーカイブの本体と、ファイル終了マークにより区切ら れます。 cat に最初の引き数としてデバイスファイル名を付けて呼び出すと、テープ ヘッダが読み出せます (cat(1) を参照)。 -o オプションで書き込まれたキャラクタデバ イス特殊ファイルおよびブロックデバイス特殊ファイルは、他の HP-UX インプリメ ンテーションに移せないことに注意してください。 -O 修飾子を -O と併用しないとき、 ftio -ocva と同じ方法でファイルをコピー(出力)しま す。ただし、ファイル .ftiorc がユーザーのホームディレクトリにある場合、 ftio はこ のファイルをオープンし、先頭に O= が付いた行を探します。見つかった行で定義さ れているオプションは、コマンド行で指定した場合と同様に ftio に渡されます。 「例」の項を参照してください。 -i tapedev からファイルの抽出( ファイルシステムへのコピー) を行います。 tapedev は テープであり、かつ以前に ftio -o 操作によって生成されたものと仮定されます。パ ターンマッチング表記法 (regexp(5) を参照)に従って patterns と一致する名前のファイ ルだけが選択されます。さらに、先頭に ! があるパターンは、そのパターンの残りの 部分に一致しない名前だけを選択しなければならないことを示します。複数の patterns を指定できます。 patterns を指定しなければ、 patterns のデフォルトは * です( つまり、すべてのファイルが選択されます)。抽出したファイルは以下に説明のある オプションに基づいて条件つきで現在のディレクトリツリー中に作成およびコピーさ れます。ファイルのパーミッションは、以前の -o 操作時のパーミッションです。 -I 修飾子を -I と併用しないとき、 ftio -icdmv と同じ方法で、ファイルの抽出(ファイル システムへのコピー) を行います。ただし、ファイル .ftiorc がユーザーのホームディ レクトリにある場合、 ftio はこのファイルをオープンし、先頭に I= が付いた行を探 します。見つかった行で定義されているオプションは、コマンド行で指定した場合と 同様に ftio に渡されます。「例」の項を参照してください。 -g tapedev 中のファイルリストを読み込みます。 patterns を指定すると、一致するファイ ル名だけがプリントされます。ファイル名の前には、常にボリュームが付いているこ とに注意してください。このボリュームは ftio が、ファイルリストを作成したときに ファイルがそのボリューム上に格納されると予想したボリュームです。したがって、 この点で最後のボリュームだけが有効です。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-477 ftio(1) ftio(1) -e extarg アーカイブされるファイルのエクステント属性の処理を指定します。 ftio でファイル をアーカイブするときはエクステント属性を保存することはできません。 extarg には 次のいずれかの値を指定します。 warn 警告メッセージを出して、エクステント属性なしでファイルをアーカイブ します。 ignore エクステント属性付きのファイルはアーカイブされますが、エクステント 属性は保存されず、また警告メッセージも出されません。 force エクステント属性つきのファイルはアーカイブされず、警告メッセージが 出されます。 -e を指定しないと、 extarg のデフォルト値は warn となります。 -B blksize テープに書き出されるブロックのサイズを(バイト単位で)指定します。この数値は、 末尾が k の場合は 1024 を乗算することを示します。使用するブロックが大きいほ ど、一般には性能およびテープ使用効率が向上します。指定可能な最大ブロックサイ ズは使用するテープドライブによって制限されます。デフォルトは 16384 バイトです が、その理由は、これがほとんどの HP テープドライブの最大ブロックサイズだから です。 -D type ファイルシステムの、タイプが type の場合に限って、再帰的にディレクトリを下りま す。 type は hfs、 vxfs、または nfs のいずれかです。 -F ignorenames -F の後の引き数には、テープにコピーしてはならない patterns を指定します。 patterns に適用されるのと同じ規則が、 ignorenames にも適用されます。前の ftio -i の説 明を参照してください。 -K comment -L filelist ftio テープヘッダに入れるコメントを指定します。 バックアップされるファイルのリストを作成します。 filelist で出力ファイルを指定し ます。 pathnames を指定すると、ファイル検索を行い、バックアップを実際に行う前 にファイルのリストを生成します。その後このリストは、 ftio が1つのテープに格納 しようとしたファイルのリストとして、バックアップ中に各テープのテープヘッダに 追加されます。バックアップの最後のテープには、ファイルがアーカイブセットのど こにあるかを示すのカタログが格納されます。 pathnames を指定しなければ、ファイ ルリストは、バックアップが始まる前に標準入力からとられます。 -L オプション は、ファイルリストを生成するほか、テープのチェックポイント処理をインプリメン トし、不良媒体上で書き込み障害が発生してもバックアップを再開できるようにしま す。 -M テープヘッダを生成または前提とせず、デフォルトブロックサイズを 5120バイトに変 更します。これにより、 cpio との完全な互換性が得られます (以下の「cpioとの互換 性」の項を参照)。 Section 1-478 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ftio(1) ftio(1) -N datefile datefile で指定したファイルよりも新しいファイルだけをテープにコピーします。 -R ftio のフェーズがずれている場合、自動的に同期を取り直します。これは、バック アップが複数のテープにまたがる場合に、最初のテープ以外のテープから復元する際 に有効です。デフォルトの動作では、 ftio は、同期を取り直す必要があるかどうかを ユーザーに問い合せます。 複数のテープにまたがるバックアップで、1本のテープが完了するたびに呼び出すコ -S script マンドを指定します。このコマンドは、 script tape_no user_name と引き数を付けて呼 び出されます。ここで script は、 -S オプションで指定される文字列引き数 script で す。 tape_no は必要なテープ数であり、 user_name は ftio を呼び出したユーザーで す。通常、文字列 script は、テープ変更が必要なことをユーザーに通知するのに使用 するシェルスクリプトを指定します。 /dev/tty の代替を指定します。通常 ftio は、ターミナル対話処理が必要な場合、 -T tty /dev/tty をオープンします。 -Z nobufs 2つのプロセス間のバッファスペースとして、メモリを blksize 単位で何個使用するか を指定します。ここで、 blksize はテープに書き出されるブロックのサイズです。メモ リを多く使用すると、通常は性能が向上しますが、一定の量を超えると、向上が見ら れなくなり、バッファスペースがメインメモリからスワップアウトされるのに従い、 性能が悪化することがあります。 nobufs のデフォルト値は16ですが、システムの負荷 が許せば、32 または 64 を使用すると、性能が向上すると考えられます。バックアッ プは、シングルユーザーモードのシステムで行うと、最良の結果が得られます (shutdown(1M) を参照)。 修飾子 以下の修飾子は、「構文」で示したように特定のオプションと併用できます。 a ファイルをテープにコピーした後、アクセスタイムをリセットして、ファイルが ftio によっ てアクセスされなかったように見せます。 c ポータビリティを保つためにヘッダ情報を ASCII 文字形式で書き込みます。 d ファイルを復元する際、必要に応じてディレクトリを作成します。 f patterns に一致するものを除いて、すべてのファイルをテープからファイルシステムへコピー します。 h シンボリックリンクが指しているファイルを、通常のファイルまたはディレクトリであるか のように、アーカイブします。デフォルトでは、 ftio はリンク自体をアーカイブします。 m ファイルの以前のファイル変更時刻および所有者を保持します。ただし、変更時刻の復元 は、復元対象のディレクトリには適用されません。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-479 ftio(1) ftio(1) p バックアップの最後に、転送したブロック数、合計所要時間(テープ巻き戻しやリール交換に 要した時間を除く)、およびこれらの値から計算した実際の転送速度をプリントします。 p を 2回指定すると、これらの値は各テープの終りにプリントされます。 t 入力の内容一覧だけをプリントします。ファイルの作成、読み込み、またはコピーは行いま せん。 u 無条件にコピーします(通常は、 ftio は、同じ名前の新しいファイルを古いファイルで置き換 えません)。 v 詳細を表示します。ファイル名およびテープヘッダのリストをプリントします。 t 修飾子と 併用すると、内容一覧は、 ls -l (英小文字のエル)コマンドの出力と同じ形式になります (ls(1) を参照)。 x デバイス特殊ファイルをセーブまたは復元します。 ftio は復元処理時に、 mknod(2) を使用し てこれらのファイルを作り直します。したがって、この修飾子が使用できるのは、適切な特 権を持つユーザーに限定されます。これは、同一システム内(すなわちバックアップ)で使用す るのためのものです。デバイスファイルを異なるシステム上に復元すると、非常に危険な場 合があります。 A テープからコピーする場合 (-i または -I オプション)、アーカイブにあるすべてのファイル名 をプリントし、どのファイルが復元されたかを通知します。これは、復元すべきファイルを 指定したときに、どのファイルがテープ上にあるかをユーザーが知りたい場合に有効です。 テープにコピーしている場合 (-o または -O オプション)、 A 修飾子は、オプションのアクセ ス制御リストエントリーに関する警告メッセージを出さないようにします。 ftio(1) は、ファ イルのアクセス制御リストにあるオプションのアクセス制御リストエントリーをバックアッ プしません (acl(5) を参照)。通常、オプションのアクセス制御リストエントリーのあるファイ ルごとに警告メッセージがプリントされます。 E アーカイブ時に、絶対パス名( すなわち / から始まるパス名) のすべてのファイルを、ルート ディレクトリからの相対パス名にして保存します(つまり、先行する / を削除します)。復元時 には、アーカイブ内のファイルで、アーカイブ前には絶対パス名だったファイルがすべて、 現在のディレクトリからの相対位置に復元されます。 L -L オプションと同じですが、ファイルリストが、 filelist で指定したファイルではなく、ファ イル ftio.list として現在のディレクトリに残る点が異なります。 P 復元時に、 prealloc() を使用してファイルのディスクスペースを事前に割り当てます ( prealloc(2) を参照)。これにより、ファイルフラグメントの局所性が大幅に改善されます。 テープの終端に達すると、 ftio は、 -S オプションが指定されていた場合は script を呼び出し、現在の テープを巻き戻し、次のテープをマウントするようにユーザーに要求します。 1個または複数のメタキャラクタをシェルによって展開せずに ftio に渡すには、 (/usr\* のように) 各メ タキャラクタの前にバックスラッシュを付けるか、または (’/usr*’ のように) 単一引用符で囲むことに Section 1-480 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 ftio(1) ftio(1) より、メタキャラクタの展開を防止します。 cpioとの互換性 ftio は cpio と同じアーカイブフォーマットを使用します。ただし、デフォルトでは ftio はテープヘッダを作成 し、テープブロックサイズを16Kバイトにします。 cpio は、デフォルトでは 512バイトのブロックを使用しま す。 -B オプションを併用すると、 cpio は 5120バイトのブロックを使用します。入力または出力モードで cpio との完全な互換性を達成するには、 M 修飾子を指定する必要があります。 ftio -oM は、テープヘッダがない シングルまたはマルチテープ アーカイブを作成し、デフォルトでは cpio -[o i]B と同じブロックサイズになり ます。 cpio -oB コマンドによって作成されるアーカイブは、 ftio -iM を使って復元できます。 ftio の M 修飾 子が -B 512 というブロックサイズ指定と併用されると、 cpio -[o i] (-B なし) との完全な互換性が得られます。 多言語化対応 環境変数 LC_COLLATE は、ファイル名生成のパターンマッチング表記を評価する際に使用する照合順序を決定しま す。 LC_CTYPE は、パターンマッチング表記において、文字クラス表現と照合される文字を決定します。 LC_TIME は日付および時刻文字列のフォーマットと内容を決定します。 LANG はメッセージの表示言語を決定します。 現在使用している環境において、 LC_COLLATE, LC_CTYPE, または LC_TIME が指定されていない場合や、 空文字列に設定されている場合には、 LANG の値がその変数のデフォルトとして用いられます。 LANG が未 指定か、または空文字列の場合、デフォルトの C (lang(5) を参照) が LANG の値として使われます。多言語対 応変数のいずれかの設定が不適切な場合には、 ftio はすべての多言語対応変数に "C" が設定されているものと して動作します。 environ(5) を参照してください。 サポートされるコードセット シングルバイト文字コードセットがサポートされています。 例 次の例は、(特殊ファイルを含めて)ファイルシステムの内容全体をテープドライブ /dev/rtape/tape4QIC150: に コピーします。 ftio -ox /dev/rtape/tape4QIC150 / 次の例では、 /dev/rtape/tape4QIC150 上のファイルをすべて現在のディレクトリからの相対位置に復元しま す。 ftio -idxE /dev/rtape/tape4QIC150 次の例では、 ftio -o を使って作成されるバックアップセットの内容をリストします。 v 修飾子を使用すると詳 細なリストが示され、テープヘッダの内容が表示されます。 ftio -itv /dev/rtape/tape4QIC150 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-481 ftio(1) ftio(1) 次の例では、 .ftiorc ファイルの使用方法を示します。 .ftiorc ファイルがユーザーのホームディレクトリにあり、以下の内容が記述されているものと します。 # Sample .ftiorc file. I= cdmuvEpp -B 16k -S /usr/local/bin/ftio.change O= cavEpp -Z 8 -B 16k -S /usr/local/bin/ftio.change ユーザーのホームディレクトリおよび OS のコマンドディレクトリをバックアップするため に、以下のコマンド行を使って ftio を呼び出します。 ftio -O /dev/rtape/tape4QIC150 /home/my_home /usr/sbin -O オプションを指定すると、 ftio は .ftiorc ファイルに追加オプションがないかどうかを チェックします。この場合、文字ヘッダが生成され、アクセス時刻がリセットされ、コピーし たファイルのリストが標準出力にプリントされ、すべてのファイル名が / からの相対的なパス 名で /dev/rtape/tape4QIC150 にコピーされます。そしてバックアップの完了時( および各テー プの交換時 ) に性能データがプリントされ、バックアップが複数のメディアにまたがる場合 は、メディアが1つ終るたびに、スクリプト /usr/local/bin/ftio.change が ftio によって実行され ます。 警告 fbackup , frecover , および ftio コマンドは新しいアーカイブの作成には推奨されません。将来の HP-UX リリー スでは、これらのコマンドの新しいアーカイブの作成はサポートされない予定です。アーカイブの取り出しの サポートは継続されます。アーカイブの作成には、標準の pax コマンド(portable archive interchange)を使用して 下さい。 ( pax(1) を参照)。 業界標準に準拠し相互運用性を確保するために、 ftio は 2GB を超えるファイルのアーカイブや 60K を超える ユーザー/グループ ID を持つファイルはサポートしていません。 60K を超えるユーザー/グループ ID を持つ ファイルは、現在のプロセスのユーザー/グループ ID でアーカイブされ、復元されます。 ftio は、System V の共有メモリとセマファを使って動作します。この機能に使われるリソースはプロセスが終 了しても自動的にシステムによって解放されることはありません。 ftio は、正常に終了するか、または SIGHUP, SIGINT, SIGTERM のいずれかのシグナルを受信した後に終了する場合に限ってこれを行います。そ の他すべてのシグナルは、 signal(2) で説明されるデフォルトの方法で処理されます。ここで注意すべき点は、 SIGKILL の動作が遅延なしにプロセスを終了させることです。したがって、 ftio が SIGKILL シグナル (kill -9 (kill(1) を参照) を見境なく使用すると生成される可能性があります) を受信すると、共有メモリやセマフォ に使用されるシステムリソースはシステムに返されません。起動した ftio を終了させる必要がある場合には、 代わりに kill -15 を使用してください。現在のシステムの共有メモリやセマフォの使用状況は、 ipcs コマンド (ipcs(1) を参照) を使ってチェックできます。使用したリソースは、 ipcrm (ipcrm(1) を参照) を使って削除でき ます。 Section 1-482 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 ftio(1) ftio(1) 著者 ftio は、HP で開発されました。 参照 cpio(1), find(1), ipcs(1), ipcrm(1), kill(1), ls(1), pax(1), rmt(1M), mknod(2), prealloc(2), signal(2), uname(2), acl(5), environ(5), lang(5), regexp(5), mt(7) HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-483 ftp(1) ftp(1) 名称 ftp − ファイル転送プログラム 構文 ftp [-g] [-i] [-n] [-c] [-v] [-p] [-P] [-l] [-B size] [ server-host ] 説明 ftp は、ファイル転送プロトコルに対するユーザーインタフェースです。 ftp は、ローカルクライアントホスト とリモートサーバーホストの間でネットワークを介してファイルをコピーします。 ftp は、クライアントホス ト上で実行されます。 オプション ftp コマンドでは、次のオプションを使用することができます。 −g ファイル名の ‘‘拡張’’ (下記の glob コマンド参照) を不能にします。このオプションを省略す ると、デフォルトによりファイル名の拡張は可能になります。 −i 複数ファイルの転送時の対話型プロンプトを表示しません (下記の prompt コマンド参照)。こ のオプションを省略すると、デフォルトによりプロンプトを表示します。 −n ‘‘自動ログイン’’ (下記の open コマンド参照) を不能にします。このオプションを省略すると、 デフォルトにより、自動ログインが行われます。 -c このオプションを指定すると、接続を行う際に ftp クライアントからサーバーへ SYST および TYPE が呼び出されなくなります。 -c オプションは、自動ログインが不能の場合、すなわち -n オプションを指定して起動された場合にのみ有効です。このオプションは SYST および TYPE コマンドを無効にしませんが、接続の際に呼び出さないようにします。 −v 冗長出力 (下記の verbose コマンド参照) を可能にします。このオプションを省略すると、 ftp は標準入力がターミナルに関連づけられている場合に限って、冗長出力を表示します。 -p 受動転送モードでの操作を可能にします。後述の 「コマンド」節の passive コマンドも参照し てください。このオプションを指定しない場合、受動転送モードはデフォルトで無効になりま す。 -P Kerberos 方式の認証と認可を使用不能にします。 Kerberos V5 に基づくセキュアな環境でのみ 適用できます。このオプションを指定すると、パスワードが要求され、そのパスワードは読み 取り可能な形式でネットワークに送られます。デフォルトでは、このオプションを省略する と、パスワードは要求されず、その代わりに Kerberos 方式の認証と認可を使用します。 sis(5) を参照してください。 -l IPv6 環境で、データ接続の LPRT コマンドと LPSV コマンドの使用を有効にします。この環境 では、デフォルトで、 ftp は EPRT と EPSV を使います。 IPv4 環境では、PORT コマンドと PASV コマンドを使います。 Section 1-484 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ftp(1) ftp(1) -B データソケットのバッファーサイズを size 個の 1024 バイトブロックに設定します。 size の有 効な範囲は 1 から 2097151 までの整数です (デフォルトは 56 )。 注記: バッファーサイズを大きくすると、高速リンクでは ftp の性能は改善しますが、低速リ ンク (たとえば、X.25) では接続時間が長くなることがあります。 注記: 1024 バイトの倍数以外の値をバッファーサイズに設定する必要がある場合、 size の直後 に、空白を入れずに B を指定してください。 size 値は、バイトとして扱われます。たとえ ば、バッファーサイズに "1500" という値を設定するには、 -B 1500B を使います。 コマンド行で、 ftp の通信相手となるサーバーホストの名称を指定することができます。サーバーホストを指 定すると、 ftp はただちにそのサーバーホストとの接続をオープンします (下記の open コマンド参照)。指定 がなければ、 ftp はユーザーからのコマンド入力を待ちます。 fallback オプションは、 krb5.conf ファイルの appdefaults セクションで設定できます。 appdefaults セクション についての詳細は、 krb5.conf (4) のマンページを参照してください。 fallback が true に設定されており、kerberos 認証が失敗した場合、 ftp は非セキュアモードの認証を使用します。 注記: コマンドラインオプションは、構成ファイルのオプションを上書きします。 ファイル転送プロトコルは、 type, mode, form, および struct の各ファイル転送パラメータを指定します。 ftp は ファイル転送プロトコルの type として、 ASCII, binary, および tenex をサポートしています。デフォルトの FTP の type は、 ASCII です (ただし、2つの類似したシステム間で通信を確立する場合は常に、 ftp は自動的 により効率のよい binary タイプに切り替わります)。 ftp は、 mode, form, および struct の各パラメータについ てはデフォルト値しかサポートしていません。各デフォルトの値は、 mode が stream, form が non-print, struct が file になります。 コマンド ftp では、次のコマンドがサポートされています。コマンド引き数の途中に空白を入れる場合は、引き数全体 をコーテーションで囲む必要があります (たとえば、"argument with embedded spaces" とします)。 ![ command [ args ] ] ローカルホスト上のシェルを呼び出します。環境変数 SHELL によって、呼び出すシェルプログラム が決定されます。 SHELL が未定義の場合、 ftp は /usr/bin/sh を呼び出します。 command を指定して あれば、シェルはそのコマンドを実行し、 ftp に戻ります。これ以外の場合は、対話型シェルが呼び出 されます。シェルは終了すると、 ftp に戻ります。 $ macro-name [ args ] macdef コマンドで定義されたマクロ macro-name を実行します。引き数は、拡張せずにそのまま、マ クロに送られます。 account [ passwd ] いったんログインが正しく完了した後、リモートシステムがリソースにアクセスする際に必要となる 補足用のパスワードを提供します。引き数を省略すると、エコーなしの入力モードでアカウントパス ワードを入力するようにプロンプトが送られます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-485 ftp(1) ftp(1) append local-file [ remote-file ] local-file を remote-file の最後にコピーします。 remote-file を省略すると、ローカルファイル名に ntrans または nmap の設定で必要となる変更を加えた上で、これをリモートファイル名として使用します。 ascii ネットワークへのファイル転送の type を ASCII に設定します。これはデフォルトタイプです。 bell ファイルの転送が完了するごとに、ベルを鳴らします。 binary ファイル転送の type を binary にセットします。 bye サーバーホストとの接続がオープンされている場合は、その接続をクローズし、終了します。また、 エンドオブファイル (EOF) 文字をタイプしてもセッションを終了することができます。 case mget コマンド実行中にリモートコンピュータのファイル名に関する大文字/小文字の対応について、オ ン/オフを切り換えます。 case をオンにすると (デフォルトはオフ)、リモートコンピュータのファイル 名で使われている文字はすべて、ローカルディレクトリには小文字に変換して書き込まれます。 cd remote-directory サーバーホストのワークディレクトリを remote-directory にセットします。 cdup サーバーホスト上のワークディレクトリを、現在のリモートワークディレクトリの親にセットしま す。 chmod mode file-name リモートシステム上のファイル file-name に設定したパーミッションモードを mode に変更します。 close サーバーホストとの接続を終了します。 close コマンドでは ftp は終了されません。定義済みのマクロ は消去されます。 cr ascii 形式のファイルを検索する際に、復帰文字の除去についてオン/オフを切り換えます。 ascii 形式 のファイルを転送する場合、各レコードは復帰/改行のシーケンスで区切られます。 cr がオンの場合 ( デフォルト)は、 UNIX の単一の改行レコードデリミタに適合するように、復帰文字はこのシーケンス から除去されます。また、 UNIX 以外のリモートシステムでは、レコードに単一の改行文字が入るこ とがあります。 ascii ファイルの転送中は、この改行文字は、 cr をオフにした場合に限って、レコー ドデリミタと区別されるようになります。 delete remote-file remote-file を削除します。 remote-file は、空のディレクトリであってもかまいません。この場合、ファ イルの拡張は行われません。 dir [ remote-directory ] [ local-file ] remote-directory のリストを標準出力に、またオプションとして local-file にそれぞれ書き込みます。 remote-directory、local-file のいずれも指定していない場合は、リモートワークディレクトリのリストが 標準出力に出力されます。対話型のプロンプトがオンになっている場合、 ftp はプロンプトを出して、 最後の引き数が dir の出力先のターゲットファイルになっているかどうかを確認してきます。拡張文字 は、すべて置き換えられます。 Section 1-486 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ftp(1) ftp(1) disconnect close と同義です。 longaddr IPv6 環境のデータ接続の LPRT/LPSV コマンドの使用を切り替えます。 IPv6 環境では、デフォルトで EPRT/EPSV コマンドが使われます。 IPv4 環境では、 PORT/PASV コマンドが使われます。 form format ファイル転送形式を format にセットします。サポートされるフォーマットは、 non-print だけです。 get remote-file [ local-file ] remote-file を local-file にコピーします。 local-file を省略すると、 ftp は現在の case, ntrans, および nmap の設定に従って、指定の remote-file 名を local-file 名として使用します。 glob ファイル名の拡張のオン/オフを切り換えます。ファイル名の拡張をオンにすると、 ftp はファイル名 やディレクトリ名の中にある csh(1) メタキャラクタを拡張します。メタキャラクタには、 ∗, ?, [, ], ˜, {, および } があります。サーバーホストはリモートファイル名とリモートディレクトリ名を拡張しま す。拡張用のメタキャラクタは、 ls および dir のコマンドの場合は必ず置き換えられます。拡張機能 をオンにすると、メタキャラクタは mdelete, mdir, mget, mls, mput といった複数ファイルのコマンド についても置き換えられます。 hash 1024 バイト分を転送するごとに、シャープ記号 (#) をプリントするかどうかについて、オン/オフを切 り換えます。この機能を使用すると、パフォーマンスが低下することがありますので注意してくださ い。 help [ command ] ftp-command という ftp コマンドに関するヘルプメッセージをプリントします。 ftp-command を省略す ると、 ftp の全コマンドのリストがプリントされます。 idle [ seconds ] リモートサーバーの休止タイマーを seconds 秒にセットします。 seconds を省略すると、現在の休止タ イマーがプリントされます。 lcd [ local-directory ] ローカルワークディレクトリを local-directory にセットします。 local-directory を省略すると、ローカ ルワークディレクトリはユーザーのローカルホームディレクトリにセットされます。 ls [ remote-directory ] [ local-file ] remote-directory のリストを local-file に出力します。このリストには、サーバーが必要とするシステム 依存情報も含まれます。たとえば、HP-UXをはじめ通常の UNIX システムでは ls −l コマンドから出力 を生成します (nlist参照)。 remote-directory 、 local-file のいずれも指定していない場合は、リモートの ワークディレクトリがリストされます。拡張機能をオンにすると、拡張用のメタキャラクタが置き換 えられます。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-487 ftp(1) ftp(1) macdef macro-name マクロを定義します。この後の行はマクロ macro-name として保存されます。空の入力行があると、マ クロ入力モードが終了します。定義済みマクロについては、マクロ数 16、合計文字数 4096 バイトと いう制限があります。マクロは close コマンドを実行するまで、定義された状態になります。マクロプ ロセッサは $ および \ を特殊文字として解釈します。 $ の後に数値 (複数も可能) が続いていると、マ クロ呼び出しのコマンド行で対応する引き数によって置き換えられます。また、 $ の後に i が続いて いる場合は、マクロプロセッサに対し、実行中のマクロをループするように指示します。 $i は、1回 目でマクロ呼び出しコマンド行の最初の引き数に置き換えられ、2回目で2番目の引き数で置き換え られます (以下同様)。 \ の後に続く文字は、該当する文字に置き換えられます。 $ の特殊文字として の解釈を避ける場合は、 \ を使用します。 mdelete [ remote-files ] remote-files を削除します。拡張機能をオンにすると、拡張用のメタキャラクタが置き換えられます。 mdir remote-files local-file remote-files のリストを local-file に出力します。拡張機能をオンにすると、拡張用のメタキャラクタが 置き換えられます。対話型のプロンプトがオンになっている場合、 ftp はプロンプトを出して、最後の 引き数が mdir の出力先のターゲットファイルになっているかどうかを確認してきます。 mget remote-files remote-files をローカルシステムにコピーします。拡張機能をオンにすると、拡張用のメタキャラクタ が置き換えられます。結果として出力されるローカルファイル名は、 case, ntrans, および nmap の設定 に従って処理されます。 mkdir directory-name リモートディレクトリ名 directory-name を作成します。 mls remote-files local-file remote-files の簡略リストを local-file に出力します。拡張機能をオンにすると、拡張用のメタキャラク タが置き換えられます。対話型のプロンプトが オンになっている場合、 ftp はプロンプトを出して、 最後の引き数が mls の出力先のターゲットファイルになっているかどうかを確認してきます。 mode [ mode-name ] FTP のファイル転送の mode を mode-name にセットします。サポートされているモードは、 stream だ けです。 modtime remote-file remote-file の最終修正時刻を表示します。 mput local-files local-files をローカルシステムからリモートシステムにコピーします。リモートファイル名は、 ntrans および nmap の設定に従って処理されたローカルファイル名と同じになります。拡張機能をオンにする と、拡張用のメタキャラクタが置き換えられます。 Section 1-488 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 ftp(1) ftp(1) newer file-name 現在のシステムにあるファイルより、リモートファイルの修正時刻の方が新しい場合に限って、ファ イルが読み込まれます。該当するファイルが現在のシステムに存在しない場合は、リモートファイル の方が newer (新しい) とみなされます。これ以外の場合は、 get と同じになります。 nlist [ remote-directory ] [ local-file ] remote-directory の簡略リストを local-file に出力します。 remote-directory を省略すると、現在のワーク ディレクトリがリストされます。対話型のプロンプトがオンになっている場合、 ftp はプロンプトを出 して、最後の引き数が nlist の出力先のターゲットファイルになっているかどうかを確認してきます。 nmap [ inpattern outpattern ] ファイル名マッピングの機構を設定、または解除します。引き数を省略すると、ファイル名マッピン グの機構が解除されます。一方、引き数を指定すると、リモートファイル名は、リモートターゲット ファイル名なしで入力された mput コマンドおよび put コマンドの実行中に、マッピングされます。 また、引き数を指定した場合、ローカルファイル名も、ローカルターゲットファイル名なしで入力さ れた mget コマンドおよび get コマンドの実行中に、マッピングが行われます。このコマンドは、ファ イル名のネーミング規約や用法が異なる UNIX 以外のリモートコンピュータに接続している場合に利 用することができます。マッピングは、 inpattern および outpattern で設定したパターンに従って行わ れます。 inpattern は、入力ファイル名のテンプレートとして使用されます (すでに ntrans および case の設定に従って処理されている場合もあります)。可変のテンプレートは、 inpattern に $1, $2, . . ., $9 のシーケンスを入れれば、設定できます。 $ の特殊文字としての解釈を避ける場合は、 \ を使用しま す。これ以外の文字はすべて、リテラルとして使用して、 nmap の inpattern の変数値を決定します。 たとえば、 inpattern が $1.$2 で、リモートファイル名が mydata.data の場合、 $1 の値は mydata、$2 の値は data になります。 outpattern はマッピングされた結果のファイル名を決定します。 $1, $2,. . ., $9 のシーケンスは、 inpattern テンプレートから得られる結果の値に置き換えられます。 $0 シーケン スは、もとのファイル名に置き換えられます。また、 [seq1,seq2] のシーケンスは、 seq1 がヌル文字列 でなければ seq1 に置き換えられ、 seq1 がヌル文字列であれば seq2 にそれぞれ置き換えられます。た と え ば、 コ マ ン ド が nmap $1.$2.$3 [$1,$2].[$2,file] の 場 合、 入 力 ファ イ ル 名 myfile.data お よ び myfile.data.old については、 myfile.data の出力ファイル名が使用されます。また、入力ファイル名 myfile については出力ファイル名 myfile.file、さらに入力ファイル名. myfile については出力ファイル 名 myfile.myfile がそれぞれ使用されます。 outpattern には空白を入れることができます。たとえば、 nmap $1 | sed "s/ *$//" > $1. の指定が可能です。 $, [, ], および , の特殊文字としての解釈を避ける場合 は、 \ を使用します。 ntrans [ inchars [ outchars ] ] ファイル名に用いられる文字の変換機構を設定、または解除します。引き数を省略すると、ファイル 名文字変換の機構が解除されます。一方、引き数を指定すると、リモートファイル名の文字は、リ モートターゲットファイル名なしで入力された mput コマンドおよび put コマンドの実行中に、変換 されます。また、引き数を指定した場合、ローカルファイル名も、ローカルターゲットファイル名な しで入力された mget コマンドおよび get コマンドの実行中に、ローカルファイル名の文字が変換され ます。このコマンドは、ファイル名のネーミング規約や用法が異なる UNIX 以外のリモートコン HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-489 ftp(1) ftp(1) ピュータに接続している場合に利用することができます。 inchars の文字に一致したファイル名の文字 は、 outchars の対応する文字に置き換えられます。 inchars の文字数が outchars より長い場合、該当す る文字はファイル名から削除されます。 open server-host [ port-number ] port-number (指定されている場合) を使用して、 server-host との接続を確立します。 auto-login が可能 ならば、 ftp はそのサーバーホストにログインします。 passive 受動転送モードのオン/オフを切り換えます。デフォルトの場合、受動転送モードは使用不能になって います。このコマンドはサーバーにftp転送用データポートの指定をできるようにします。 prompt 対話型プロンプトのオン/オフを切り換えます。デフォルトの場合、 ftp は複数のファイルを対象とし たコマンド実行時に、各出力ファイルごとにプロンプトを出してユーザーの応答 (yes または no) を要 求してきます。対話型プロンプトを使用不能にすると、 ftp は指定した全ファイルを対象としてコマン ドを実行します。 proxy ftp-command 二次制御の接続に対して ftp コマンドを実行します。このコマンドにより、2つのリモート FTP サー バーへの接続が同時に設定され、2つのサーバー間でファイルを転送できるようになります。二次制 御の接続を設定するためには、最初の proxy コマンドとして open を使用します。次に、 proxy ? コマ ンドを入力して、二次接続上でその他の FTP コマンドが実行可能かどうかを確認します。これ以降の コマンドは、それぞれ前に proxy を置くと異なる形式で実行されます。たとえば、 open では、自動ロ グインプロセス中に新しいマクロが定義されません。 close では、既存のマクロ定義が消去されませ ん。また、 get および mget は、一次制御の接続を設定されたホストから二次制御接続のホストにファ イルを転送します。さらに、 put, mput, および append は、二次制御の接続を設定したホストから一次 制御接続のホストにファイルを転送します。第三者のファイルの転送は、二次制御接続のサーバーが FTP プロトコルの PASV コマンドをサポートしているかどうかによって異なります。 put local-file [ remote-file ] local-file を remote-file にコピーします。 remote-file を省略すると、 ftp は ntrans または nmap の設定に 従って処理した local-file 名を remote-file 名に割り当てます。 pwd リモートワークディレクトリの名称を stdout に出力します。 quit bye と同義です。 quote arguments arguments をそのままサーバーホストに送信します。 ftpd(1M) を参照してください。 recv remote-file [ local-file ] get と同義です。 Section 1-490 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 ftp(1) ftp(1) reget remote-file [ local-file ] get とほとんど同じように動作します。ただし、 local-file が存在していて、そのサイズが remote-file よ り小さい場合、 local-file は remote-file の一部を転送したコピーとみなされて、エラーの地点から転送 が続行されます。このコマンドは、接続が切断される可能性のあるネットワークで大きなファイルを 転送する際に利用することができます。 rhelp [ command-name ] サーバーホストからヘルプを要求します。 command-name を指定すると、引き数はサーバーに送られ ます。 ftpd(1M) を参照してください。 rstatus [ file-name ] 引き数を省略すると、リモートマシンのステータスが表示されます。 file-name を指定すると、リモー トマシンにある file-name のステータスが表示されます。 rename remote-from remote-to remote-from (ファイルまたはディレクトリ) の名称を remote-to に変更します。 reset 応答キューをクリアします。このコマンドにより、コマンド/ 応答のシーケンスがリモート FTP サー バーとの同期を取りなおします。再同期は、リモートサーバーが FTP プロトコルを違反した場合に、 必要になることがあります。 restart marker 指定された marker の位置からただちに get または put を再起動します。 UNIX システムでは、通常、 マーカーはファイルに対するバイトのオフセットで表します。 rmdir remote-directory remote-directory を削除します。 remote-directory は空のディレクトリでなければなりません。 runique ローカルファイルに、一意のファイル名でファイルを保存するかどうかについて、その設定を切り換 えます。 get または mget のコマンドでターゲットローカルファイル名と同じ名称のファイルがすでに 存在していた場合は、ファイル名の後に .1 が付加されます。さらに、このファイル名が別の既存ファ イルと同じ名称となる場合は、もとのファイル名の後に .2 が付加されます。この処理が .99 まで続い た場合は、エラーメッセージがプリントされ、転送は行われません。 ftp は一意のファイル名を報告し ます。なお、 runique は、シェルコマンドで生成されたローカルファイルには影響を与えることはあ りません (下記参照)。デフォルト値は、 オフです。 send local-file [ remote-file ] put と同義です。 sendport PORT コマンドの使用について、その設定を切り換えます。デフォルトの場合、 ftp は PORT コマン ドを使用して、各データ転送に必要な接続を設定します。 PORT コマンドが正常に実行されない場 合、 ftp はデフォルトのデータポートを使用します。 PORT コマンドの使用を不能にすると、 ftp は HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-491 ftp(1) ftp(1) データ転送について PORT コマンドは使用しなくなります。このコマンドは、 PORT コマンドをを無 視するように設定した特定の形式で FTP を実現している場合、誤って PORT コマンドが受け入れられ たという状況に対応する際に利用することができます。 ftpd(1M) を参照してください。 sendport をオ フにすると、コマンドの実行が遅れることがあります。 site arguments arguments をそのまま SITE コマンドとして、サーバーホストに送ります。 ftpd(1M) を参照してくださ い。 size remote-file remote-file のサイズを表示します。 status ftp の現在のステータスを表示します。 struct [ struct-name ] FTP ファイル転送のパラメータ struct を struct-name にセットします。サポートされる struct は、 file だけです。 sunique リモートマシンのファイルに、一意のファイル名でファイルを保存するかどうかについて、その設定 を切り換えます。オンにすると、リモートサーバーは一意のファイル名を報告します。デフォルトで は、 sunique は オフになります。 system リモートマシン上で動作中のオペレーティングシステムのタイプを表示します。 tenex FTP ファイル転送のパラメータ type を tenex にセットします。 type [ type-name ] FTP ファイル転送の type を type-name にセットします。 type-name を省略すると、現在の type が stdout に出力されます。現在サポートされている type は、 ASCII, binary, および tenex です。 umask [ newmask ] リモートサーバーのデフォルトの umask を newmask にセットします。 newmask を省略すると、現在の umask がプリントされます。 user user-name [ password ] [ account ] 現在接続されている (すなわち、すでにオープンされている) サーバーホストにログインします。ユー ザーのローカルインタフェースホームディレクトリにある .netrc ファイルにより、 user-name, password, およびオプションの account が提供されます。 netrc(4) を参照してください。 .netrc ファイルに この情報がない場合、 ftp はユーザーに必要な項目を入力するように要求してきます。なお、 HP-UX の FTP サーバーでは account は必要ありません。また機密保護の理由で、パスワードは必須になりま す。 ftp は、パスワードのないリモートアカウントにはログインしません。 Kerberos V5 に基づくセキュアな環境において、 ftp はパスワードを必要としません。その代わりに、 Kerberos 方式の認証と認可が sis(5) に記述されているように実行されます。他の環境では、ユーザー は、所有しているパスワードが正しければ認証されたと考えられ、リモートシステム上に account が存 Section 1-492 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 ftp(1) ftp(1) 在すれば許可されたと考えられます。 verbose 冗長出力のオン/オフを切り換えます。冗長出力をオンにすると、 ftp はサーバーホストからの応答内 容を表示します。また、ファイル転送が完了すると、その転送の処理効率に関する統計情報が報告さ れます。 ? [ command ] help コマンドと同義です。指定した command に関する ヘルプ情報をプリントします。 ファイル転送の中断 ファイル転送を中止する場合は、ターミナル割り込みキー (通常は Ctrl-C ) を使用します。転送処理はただち に停止します。 ftp は、まず FTP プロトコルの ABOR コマンドをリモートサーバーに送ることにより着信処 理を停止させます。続いて、後続の着信データをすべて破棄します。この処理速度は、リモートサーバー側で ABOR 処理をサポートしているかどうかによって異なります。リモートサーバーで ABOR コマンドがサポー トされていない場合、 ftp> プロンプトは、リモートサーバーが要求されたファイルの送信を完了するまで、表 示されません。 ターミナルの割り込みキーシーケンスは、 ftp がリモートサーバーからの応答を待っている間は、無視されま す。このモードで長時間の遅れがある場合は、原因として上記の ABOR 処理、または FTP プロトコル違反と いったリモートサーバー側での異常が考えられます。遅れの原因がリモートサーバーの異常にある場合、ロー カル ftp プログラムをユーザーが手操作で強制終了する必要があります。 ファイル名の規約 ftp コマンドの引き数として指定されたファイルは、次の規則に従って処理されます。 • • ファイル名として − を指定すると、 ftp は入力用に標準入力、出力用に標準出力をそれぞれ使用します。 ファイル名の最初の文字が | の場合 ftp は以降の引き数をシェルのコマンドとして解釈します。 ftp は、そ の引き数とともに popen(3) を使ってシェルを fork します。 stdout から読み、stdin に書きます。シェルコマ ンドに空白がある場合は、その引き数を "| ls -lt" のように引用符で囲まなければなりません。この機構を使った有用な例を次に示します。 ls . "| more" このコマンドは、現在のディレクトリに存在するファイルの一覧を、ページごとに区切って表示します。 put "| tail -20 loc_file" rem_file このコマンドは、ローカルファイル "loc_file" の末尾 20 行を、リモートシステムにファイル "rem_file" とし てコピーします。 • これ以外の場合、ファイル名の拡張機能をイネーブルにすると、 ftp は csh(1) で使用する規則に基づいて ローカルファイル名を拡張します。下記の glob コマンドを参照してください。 ftp コマンドでローカル HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-493 ftp(1) ftp(1) ファイルが1つだけ必要な場合 (たとえば、 put) は、拡張処理で最初に生成されたファイル名だけが使用 されます。 • mget および get のコマンドでローカルファイル名を省略すると、ローカルファイル名は、リモートファイ ル名と同じになります。ただし、ファイル名は case, ntrans, または nmap の設定に基づいて変更できます。 また、このファイル名は、 runique がオンであれば、さらに変更することができます。 • mput および put のコマンドでリモートファイル名を省略すると、リモートファイル名は、ローカルファイ ル名と同じになります。ただし、ファイル名は ntrans, または nmap の設定に基づいて変更できます。ま た、このファイル名は、 sunique がオンであれば、リモートサーバーによって変更することができます。 警告 コマンド実行の成否が、リモートサーバーが正しく動作しているかどうかに依存する場合が数多くあります。 診断 Error! could not retrieve authentication type. Please notify sys admin. ftp には、認証機構が2つあります。1つは、Kerberosに基づいていますが、もう1つは、Kerberos に は基づいていません。認証機構のタイプは、 inetsvcs_sec によって更新されるシステムファイルから得 られます ( inetsvcs_sec(1M) を参照)。システムファイルに既知の認証タイプがない場合に、上記のエ ラーが表示されます。 著者 ftp はカリフォルニア大学バークレイ校で作成されました。 参照 csh(1), rcp(1), ftpd(1M), inetsvcs_sec(1M), ftpusers(4), hosts(4), krb5.conf(4), netrc(4), sis(5) Section 1-494 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 ftpcount(1) ftpcount(1) 名称 ftpcount − 各クラスの現在のユーザー数を表示します。 構文 /usr/bin/ftpcount [-V] 説明 ftpcount コマンドは、ftpaccess ファイルに定義されている各クラスの現在のユーザー数 (およびその上限) を表 示します。 ftpaccess ファイルが存在しない場合、 ftpcount コマンドは何も表示しません。ただし、0 バイトの ftpaccess ファイルが存在する場合、ftpcount は以下のエラーメッセージを表示します。 ftpcount:no service classes defined, no usage count kept. -V オプションを指定すると、著作権とバージョンの情報を表示し、その後、終了します。 終了ステータス ftpcount は、以下の値を戻します。 0 正常終了 1 異常終了 著者 ftpcount はミズーリ州セントルイスのワシントン大学で開発されました。 参照 ftpwho(1)、ftpaccess(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-495 ftprestart(1) ftprestart(1) 名称 ftprestart − ftpshut ユーティリティが作成したシャットダウンメッセージファイルの削除 構文 /usr/bin/ftprestart [-V] 説明 ftprestart コマンドは、real、anonymous、virtulal の各ユーザーアカウントからすべてのシャットダウンメッ セージファイルを削除します。メッセージファイルは、ftpshut ユーティリティによって、/etc/ftpd/ftpaccess ファイルの ‘shutdown’ 指令で指定されているパスに作成されます ( 詳細は ftpshut(1) を参照)。このコマンド は、常に ftpshut コマンドが実行された後に使用されます。 注記: guest ユーザーアカウントの場合、メッセージファイルは手作業で削除しなければなりません。 ftprestart コマンドではこの削除は行われません。 -V オプションを指定すると、著作権とバージョンの情報を表示して 終了します。 終了ステータス ftprestart は、以下の値を返します。 0 正常終了 1 エラー 出力例 ftprestart: /servers/some.domain/ftp/etc/shutmsg removed. ftprestart: /servers/other.domain/ftp/etc/shutmsg removed. ftprestart: /etc/shutmsg removed. 著者 ftprestart はミズーリ州セントルイスのワシントン大学で開発されました。 参照 ftpshut(1), ftpaccess(4) Section 1-496 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ftpshut(1) ftpshut(1) 名称 ftpshut − ftp サーバーを指定時刻にシャットダウンするためのシャットダウンメッセージファイルの作成 構文 /usr/bin/ftpshut [-V] [ −l min ] [ −d min ] time [ warning-message ... ] 説明 ftpshut コマンドにより、シャットダウン手順を自動化することができます。スーパーユーザーはこの手順に 従って、ftp サーバーがシャットダウンされる時刻を ftp ユーザーに通知することができます。このコマンド は、real、anonymous、virtual の各ユーザーアカウントの /etc/ftpd/ftpaccess ファイルの ’shutdown’ 指令で指定 されているパスに、シャットダウンメッセージファイルを作成します。guest アカウントの場合、システム管理 者は real ユーザーアカウントに作成されたメッセージファイルを、手作業で guest アカウントにコピーしなけ ればなりません。サーバーはこのファイルを定期的にチェックし、いつサーバーがシャットダウンされるかを 調べます。 -V -l min このオプションを指定すると、著作権とバージョンの情報を表示し、その後、終了します。 このオプションは deny_offset として使用されます。新規の FTP アクセスはシャットダウンの ’min’ 分前に不可能になります。’min’ のデフォルト値は 10 分です。この値はユーザーが再設 定できます。 -d min このオプションは disc_offset として使用されます。現在のすべての FTP 接続はシャットダウ ンの ’min’ 分前に切断されます。’min’ のデフォルト値は 5 分です。この値はユーザーが再設 定できます。 time time は ftp サーバーがシャットダウンされる時刻です。 time が ‘now’ に設定されている場 合、シャットダウンは即座に行われます。 time は将来の時刻に設定することもできます。将 来の時刻は、 + number または HHMM の 2 つの形式のどちらかで指定できます。最初の形式 では、ftp サーバーは number 分以内にダウンします。 2 番目の形式では、ftp サーバーは 24 時間形式で指定された時刻にダウンします。 warning-message warning-message は、サーバーがシャットダウン時にクライアントに送信するメッセージで す。ユーザーは、自分の好きなメッセージを使用したり、使用可能な「マクロ」を使用でき ます。サーバーはマクロを指定された文字列で置き換えます。 warning-message は、展開され たすべてのマクロを含めて 75 文字の長さにフォーマットされます。デフォルトの警告メッ セージは "System shutdown at %s" です。以下のマクロを使用できます。 %s システムがシャットダウンされる時刻 %r 新規の接続が拒否される時刻 %d 現在の接続が切断される時刻 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-497 ftpshut(1) ftpshut(1) %C 現在のワークディレクトリ %E ftpaccess で定義されているメンテナンス担当者の電子メールアドレス %L ローカルホスト名 %M このクラスで設定可能な最大ユーザー数 %N このクラスの現在のユーザー数 %R リモートホスト名 %T ローカル時刻 (Thu Nov 15 17:12:42 1990の形式) %U ログイン時に指定されたユーザー名 警告 ftpshut に絶対時刻を使用する場合、サーバーをシャットダウンさせることができるのは現在から 23:59 までの 間だけです。 戻り値 ftpshut は、以下の値を返します。 0 正常終了。 1 エラー終了。 -1 ftpshut に不正なパラメータが渡されました。 著者 ftpshut はミズーリ州セントルイスのワシントン大学で開発されました。 参照 ftpaccess(4) Section 1-498 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ftpwho(1) ftpwho(1) 名称 ftpwho − 各 ftp ユーザーの現在のプロセス情報を表示します。 構文 /usr/bin/ftpwho [-V] 説明 ftpwho コマンドは、ftp サーバーにログインしている各ユーザーの現在のプロセス情報を表示します。 ftpaccess ファイルが存在しない場合、このコマンドは何も表示しません。ただし、 0 バイトの ftpaccess ファイルが 存在する場合、このコマンドは以下のエラーメッセージを表示します。 ftpwho: no service classes defined, no usage count kept. -V オプションを指定すると、著作権とバージョンの情報を表示し、その後、終了します。 終了ステータス ftpwho は、以下の値を戻します。 0 正常終了 1 異常終了 著者 ftpwho はミズーリ州セントルイスのワシントン大学で開発されました。 参照 ftpcount(1)、ftpaccess(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-499 gcore(1) gcore(1) 名称 gcore − 実行中のプロセスのコアイメージの取得 構文 gcore [−o filename] process-id... 説明 gcore コマンドは、指定した各プロセスのコアイメージを作成します。デフォルトでは、 process-id のコアイ メージファイルの名前は core. process-id になります。コアファイルのプロセス情報は、デバッガを使用して取 得することができます。 指定した各プロセスのコアイメージを gcore コマンドが作成する時には、そのプロセスは一時的に停止されま す。その後、コアイメージの作成が完了するとプロセスは実行を続けます。 オプション filename. process-id というファイル名でコアファイルを作成します。 process-id の値を複数指定 -o filename した場合は、 filename はすべてのコアイメージファイルで共通になります。「例」の項を参照 してください。 オペランド コアイメージファイルを作成するプロセスの ID process-id 戻り値 完了すると、 gcore は次の値のいずれかで終了します。 0 >0 コアファイルの作成に成功しました。 エラーが発生しました。この場合、コアファイルが作成されるかどうかは保証されません。エ ラーは、以下の原因で発生します。 • 指定されたプロセス ID が存在しないか、間違っている。 • 無効なオプションが指定された。 • プロセスの現在のディレクトリ、または gcore を起動したときのディレクトリに、書き込 みパーミッションがない。 • プロセスの現在の作業ディレクトリがアクセスできない。 • ファイルシステムが満杯である。 例 例1 プロセス 1030 のコアイメージを、ファイル "core.1030" にダンプします。 gcore 1030 Section 1-500 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 gcore(1) gcore(1) 例2 プロセス 1030 のコアイメージを、ファイル "test.1030" にダンプします。 gcore -o test 1030 例3 プロセス 1030 、 1031 、 1032 、 1033 のコアイメージを、ファイル "core.1030" 、 "core.1031" 、 "core.1032" 、 "core.1033"にダンプします。 gcore 1030 1031 1032 1033 例4 プロセス 1030、1031、1032、1033 のコアイメージを、ファイル test.1030、 test.1031、 test.1032、 test.1033 にダンプします。 gcore -o test 1030 1031 1032 1033 ファイル core. process-id process-id のコアイメージファイル (gcore を起動したときのディレクトリと、プロセス の現在の作業ディレクトリの両方)。 著者 gcore は、Chris Bertin (HP) によって開発されました。 参照 adb(1), gdb(1), kill(1), ttrace(2), a.out(4), core(4) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-501 gencat(1) gencat(1) 名称 gencat − フォーマットされたメッセージカタログ ファイルの生成 構文 gencat [-l] catfile msgfile ... 説明 メッセージカタログにより、プログラムが各地の慣習および言語に従って入力を処理し、出力を生成すること ができます。詳細については『Native Language Support Users Guide』を参照してください。 gencat command は各メッセージソース msgfile を、 catgets() によりアクセスできるフォーマットされたメッ セージカタログ catfile にマージします( catgets(3C) を参照)。 catfile はなければ作成されます。 catfile がある場 合、そのメッセージは新しい catfile に取り込まれます。セット番号とメッセージ番号が衝突する場合、 file の 新しいメッセージテキストが、 catfile の古いメッセージテキストに置き換わります。 msgfile は以下に説明のあ るメッセージ行、指令行、およびコメント行(すべて先行するスペースまたはタブなしの)で構成されます。こ こで、各フィールドは1文字以上のスペースまたはタブ文字で区切られます。 カタログファイルとして - を指定すると、標準出力が使用されます。 メッセージファイルとして - を指定すると、標準入力が使用されます。 $set s [comment] $set 指令は、次の $set またはファイルの終わりまで続くメッセージのセット s を指定します。セット番号 s は、1から NL_SETMAX までの符号なし整数 です。セット番号に続く文字列は、すべてコメントとして処理されます。 $set 指令を指定しなければ、メッセージはデフォルトのセット NL_SETD に 入れられます。 セット番号は、 msgfile 内では昇順でなければなりませんが、連続している 必要はありません。 $delset s [comment] $delset 指令は、既存のメッセージカタログからセット番号 s によって識別さ れるメッセージセットを削除します。セット番号に続く文字列は、すべてコ メントとして処理されます。 m message_text メッセージ行は、メッセージ番号 m および対応するメッセージテキストを指 定します。メッセージ番号 m は、1から NL_MSGMAX までの符号なし整数 です。 message_text は、スペース、タブ、および \( バックスラッシュ ) エス ケープを含むC文字列ですが、デフォルトではクォーテーションは使えませ ん(以下の $quote 指令を参照)。メッセージ番号 m は、1文字以上のスペース またはタブ文字によって message_text から区切られます。 message_text は、 セパレータに続く最初の文字から始まり、改行で終了します。追加スペース またはタブ(後続のスペースまたはタブすべてを含む)は、 message_text の一 部であると解釈されます。 Section 1-502 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 gencat(1) gencat(1) メッセージ行の message_text は、最後の $set 指令によって指定されたメッ セージ番号、 m とセット番号 s で、 catfile にストアされます。 メッセージ番号はセットの中では昇順でなければなりませんが、連続してい る必要はありません。 スペースまたはタブセパレータは、ヌルメッセージの挿入をメッセージの削 除と区別する点に注意してください。メッセージ行に番号およびセパレータ はあるのにテキストがない場合、メッセージ番号および対応するヌルメッ セージ文字列が catfile にストアされます。メッセージ行に番号はあるがセパ レータもテキストもない場合、メッセージ番号およびそれに対応するメッ セージテキストは catfile から削除されます。 -l -l オプションを指定すると、 message_text の長さは MAX_BUFLEN − 1 バイ トでなければなりません。 -l オプションを指定しなければ、 message_text の 長さは NL_TEXTMAX バイトでなければなりません。これらのルーチンに よって課されたメッセージの長さ制限に関しては、 catgets(3C), を参照して ください。 $quote [q comment] $quote 指令は、 message_text を囲み、メッセージ行で先行および後続スペー スを見ることのできる状態にするのに使用する引用文字 q を指定します。指 定した引用文字 q に続く文字列は、すべてコメントとして処理されます。デ フォルトの場合、または引用文字 q を指定しない場合は、 message_text を クォーテーションで囲んでも認識されません。 $ comment $ とその後に続くスペースまたはタブはコメントとして処理され、ファイル の任意の位置に置くことができます。ゼロ以上のスペースまたはタブからな る行はコメント行として処理されます。 NL_TEXTMAX, NL_SETMAX, および NL_MSGMAX は <limits.h> で定義されています。 NL_SETD は、 <nl_types.h> で定義されています。 MAX_BUFLEN は、 <msgcat.h> で定義されています。 多言語化対応 環境変数 LANG では、設定されていない、あるいはヌル値に設定されている場合デフォルトの値が使用されます。 LANG が設定されていない場合、あるいはヌルの場合、 "C" ( lang(5) 参照) のデフォルト値が使用されます。 言語環境変数のいずれかが不当な場合、 gencat は、多言語化対応変数が "C" ( environ(5) 参照)に設定されてい るものとして動作します。 LC_ALL, 空白以外の文字列値にセットすると、その他の全多言語対応変数に対する値が変更されます。 LC_CTYPE により、テキストをシングルバイト文字、マルチバイト文字のいずれで解釈するか、また正規表 現中の文字クラスの表現にマッチしたプリント可能の文字として分類するかどうかが決まります。 LC_MESSAGES は、標準エラーに書き込む診断メッセージ、および標準出力に書き込む情報メッセージの HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-503 gencat(1) gencat(1) フォーマットと内容を決めるロケールを指定します。 NLSPATH は、 LC_MESSAGES の処理に使用するメッセージカタログの位置を決めます。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 警告 $quote 指令は、 HP MPE および RTE オペレーティングシステムではサポートされなくなりました。 著者 gencat はHPおよびX/Open社で開発されました。 参照 dumpmsg(1), findmsg(1), insertmsg(1), catgets(3C), catopen(3C) 『Native Language Support Users Guide』 標準準拠 gencat: XPG2, XPG3 Section 1-504 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 genxlt(1) genxlt(1) 名称 genxlt − iconv変換テーブルの生成 構文 genxlt [ -f output_filename ] [ input_filename ] 説明 genxlt は、 iconv(1) および iconv(3C) で使用するのに適した、コンパイル済み読み取り不能バイナリバージョン の iconvテーブルを生成します。 input_filename または output_filename を指定しないと、標準入力および標準出 力が使用されます。 genxlt の出力はバイナリの読み取り不能ファイルであるため、 -f オプションを使用しない場合には、リダイレ クション記号 > を使用して、標準出力をファイルにリダイレクトすることもできます。 オプション genxlt は、次のオプションを認識します。 -f output_filename このオプションを選択しないと、データは標準出力に送られ、そこからファイルにリ ダイレクトすることができます。 genxlt は、決められたフォーマットのテーブルを作成し、それは iconv(3C) のデフォルトの変換ルーチンに よって解釈することができます。入力ファイルには2つの列があって、2つのコードセットの間のファイルコー ドマッピングを示しています。項目は16進値です。 入力ファイルは、2 列の16 進数で構成されたフォーマットになっていなければなりません。最初の列の文字 が、2番目の列の文字に変換されます。最初の列の先頭に # がある行は、次のキーワードの場合を除いて、す べての行でコメントとみなされて無視されます。 #Galley: および #What: ファイルコードのマッピングを定義するデータに加えて、その特定の変換について Galley 文字 (iconv(3C) を参 照)も定義されることがあります。これには、入力ファイルの先頭に行 #Galley:0xnnnn" を追加します。 nnnn は任意のマルチバイト文字です (例を参照)。 What 文字列 (what(1) を参照)も、 #What:<any_string> という項 目を使用して入力ファイル内で定義することができます。この文字列には、バージョン番号、変換のタイプ、 などの、変換には使用されない情報を入れることができます。 What 文字列を定義する場合には、 Galley 定義 よりも前に置かなければならにことに注意してください。 多言語化対応 環境変数 LANG が指定されていない場合、あるいはヌルの場合は、デフォルトとして C (lang(5) 参照) が使用されま す。国際化変数のいずれかに無効な設定値が入っていると、 genxlt はすべての国際化変数が"C"に設定されて いるものとして動作します (environ(5) を参照)。 LC_ALL を空でない文字列値に設定すると、その他のすべての国際化変数の値をオーバーライドすることにな ります。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-505 genxlt(1) genxlt(1) LC_MESSAGES は、標準エラーに書き込む診断メッセージ、および標準出力に書き込む情報メッセージの フォーマットと内容を決めるロケールを指定します。 NLSPATH は LC_MESSAGES の処理に使用するメッセージカタログのパスを指定します。 サポートされる国際的コードセット シングルバイトおよびマルチバイト文字コードセットがサポートされています。 戻り値 終了値は次のとおりです。 正常終了。 0 エラー状態発生。 >0 例 この例は iconv_input をコンパイルし、出力のバイナリを /usr/lib/nls/iconv/tables/roma8=iso81 に入れます。そ の後の iconv 文が roma8=iso81 テーブルを使用して、 data_file をコードセット roman8 からコードセット iso8859-1 に変換します。 % genxlt iconv_input > /usr/lib/nls/iconv/tables/roma8=iso81 % iconv -f roma8 -t iso81 data_file これは入力ファイルの例です。 #What: CodesetA to CodesetB: version 1.0 #Galley: 0xffff # the conversion data is as follows: 0x01 0x01 0x02 0x42 ... 0xff87 0x4567 ... etc. 警告 genxlt は既存のテーブルに上書きするため、 genxlt を使用する前には、既存のテーブルを別のファイルに保管 しておくのがよい方法です。 入力ファイル内に正しくないデータが入っていても、警告は出されません。 /usr/lib/nls/iconv/tables 内にファイルをインストールするには、スーパーユーザー特権が必要です。 ファイル /usr/lib/nls/iconv/tables すべてのテーブルをこのディレクトリにインストールしなければ なりません。 Section 1-506 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 genxlt(1) genxlt(1) 参照 dmpxlt(1), iconv(1), iconv(3C) 標準準拠 genxlt: XPG4 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-507 get(1) get(1) 名称 get − SCCSファイルのバージョンの取得 構文 get [−r SID] [−c cutoff ] [−e] [−b] [−i list] [−x list] [−k] [−l[p] ] [−p] [−s] [−m] [−n] [−g] [−t] [−w string] [−a seq-number] file ... 説明 get コマンドは、 − で始まるオプションの引き数によって与えられた指定に従い、それぞれの指定 SCCS ファ イルから ASCII テキストファイルを生成します。引き数は任意の順序で指定できますが、すべてのオプション の引き数は指定した SCCS ファイルすべてに適用されます。ディレクトリを指定した場合、 get は、ディレク トリの各ファイルが名称を付けられたファイルとして指定されたものとして動作します。ただし、例外として 非 SCCS ファイル(パス名の最後の構成要素が s. から始まらない。)および読み出し不能ファイルは表示が行わ れることなく無視されます。 − のファイル名を指定すると標準入力が読み込まれ、標準入力の各行はそれぞれ 処理される SCCS ファイルの名前であると仮定されます。上記と同様に、非 SCCS ファイルおよび読み出し不 能ファイルは、表示が行われることなく無視されます。 生成されたテキストは、通常、その名前から s. プレフィックスを単に削除することによって SCCS ファイル 名から得られる g-file と呼ばれるファイルに書き込まれます (以下の 「ファイル」を参照)。 オプション 以下のオプションの引き数の説明は、ただ1つの SCCS ファイルの処理に基づきます。複数の SCCS ファイル を処理する際は、オプションの引き数の効果はそれぞれの指定ファイルごとに独立に適用されます。 −rSID 読み出される SCCS ファイルのバージョン ( デルタ ) の S CCS IDentification 文字列 (SID)。表1に、最も有用な場合として、指定した SID の関数として SCCS ファイルの どのバージョン(また、 −e オプションも使用していれば、 delta によって最終的に作 成されるバージョンの SID も)が読み出されるかを示します (delta(1) を参照)。 −ccutoff cutoff 日時を以下の形式で表示します。 YY[MM[DD[HH[MM[SS] ] ] ] ] 指定した cutoff 日時後に作成した SCCS ファイルへの変更( デルタ) は、生成された ASCII テキストファイルに含まれません。デフォルトでは、日時から単位を省略する と可能な最大値になります。つまり、 −c7502 は −c750228235959 に等価です。任意個 数の非数値文字でさまざまな2桁ごとの cutoff 日時を区切ることができます。この特 徴により、 -c77/2/2 9:22:25 の形式で cutoff 日付を指定できます。これは、コマンド 内でネストした get の %E% および %U% 識別キーワードを使用できることを意味 するということに注意してください (下記を参照)。 ˜!get "-c%E% %U%" s.file −e get は、 delta を以降に使用することによって SCCS ファイルを編集するか、または ファイルに変更を加える ( デルタ) 目的のためであることを暗示します。 SCCS ファ Section 1-508 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 get(1) get(1) イルの特定バージョンに対して get で使用する −e オプションは、 delta が実行される か、または j (ジョイントエディット)フラグが SCCS ファイル内で設定されるまで get が同一の SID でエディットすることを防止します (admin(1) を参照)。異なる SID で get −e を同時に使用することは常に許されますが、同時に get −e を行うことを認めら れるのは1人のユーザーだけだということに注意してください (admin(1) を参照)。 −e オプションを使用して、 get によって生成された g-file がエディットの過程で偶然 に破壊されても、それは −e オプションの代わりに −k オプションを使用した get コマ ンドを再実行することにより再生成できます。 −e オプションを使用すると、 SCCS ファイル (admin(1) を参照) に記憶された上限、 下限、および認可ユーザーのリストによって指定される SCCS ファイル保護が強要さ れます。 −b −e オプションとともに使用し、新しいデルタには、表1で示したような新しい分岐の なかに SID が必要であることを指示します。このオプションは、 b フラグがファイル にないか (admin(1) を参照)、または読み出された delta がリーフ delta でなければ無視 されます。 (リーフ delta とは、 SCCS ファイルツリー上で継承がないものです。) 注記: 分岐 delta は、常に非リーフ delta から作成できます。 -ilist 生成されるファイルの作成において取り込まれる ( 強制的に適用される ) デルタの list 。 list の構文は以下のとおりです。 list ::= range list , range range ::= SID SID − SID SID、つまりデルタの SCCS 識別は、表1の「指定される SID」のカラムで示される任 意の形式が可能です。部分的な SID は、表1の「読み出される SID」のカラムで示さ れるように翻訳されます。以下の 「警告」を参照してください。 -xlist 生成されるファイルの作成から除外される(強制的に適用されない)デルタの list 。 list のフォーマットについては、 −i オプションを参照してください。 −k 読み出されたテキストの識別キーワード(以下を参照)とその値との置換えを抑止しま す。 −k オプションは −e オプションによって暗示されます。 −l[p] デルタ要約が l-file に書き込まれます。 −lp を使用すると、 l-file は作成されません。 この場合は、デルタ要約は標準出力に書き出されます。 l-file のフォーマットについ ては、「ファイル」を参照してください。 −l オプションを使用するためには、ユー ザーに s-file の読み出しパーミッションがなければなりません。 −p SCCS ファイルから読み出されるテキストが標準出力に書き出されます。 g-file は作 成されません。 −s オプションを使用しない限り、通常標準出力に向けられる出力は すべてファイル記述子2(標準エラー)に向けられます。 −s オプションを使用した場合 は消失します。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-509 get(1) get(1) 通常、標準出力に書き出される出力をすべて抑止します。ただし、致命的エラーメッ −s セージ(常にファイル記述子2に出力される)は影響を受けません。 SCCS ファイルから読み出される各テキスト行の前に SCCS ファイルのテキスト行を −m 挿入したデルタの SID が置かれます。フォーマットは、 SID、次に水平タブ、そして テキスト行が続きます。 生成されるテキスト行の前に %M% 識別キーワード値( 以下を参照) が置かれます。 −n フォーマットは、 %M% 値、次に水平タブ、そしてテキスト行が続きます。 −m お よび −n の両方のオプションを使用する際には、フォーマットは %M% 値、次に水平 タブ、そして −m オプションの生成したフォーマットです。 SCCS ファイルからのテキストの実際の読み出しを抑止します。これはおもに l-file を −g 生成するため、または特定の SID の存在を確認するために使用します。 指定したリリース(たとえば −r1)、またはリリースおよびレベル(たとえば −r1.2) にお −t いて最後に作成した(「最上位の」)デルタにアクセスするのに使われます。 -w string −aseq-number ファイルを取得する際に、 @%M% のすべての条件を string で置き換えます。 読み出される SCCS ファイルデルタ(バージョン)のデルタシーケンス番号 (sccsfile(4) を参照)。このオプションは、 comb コマンド (comb(1) を参照) によって使用されま す。これは一般に有効なオプションではないので、回避しなければなりません。 −r および −a オプションの両方を指定すると、 −a オプションが使用されます。 −e オプ ションと合わせて −a オプションを使用する際は注意が必要です。これは、作成され るデルタの SID が、期待するものではない可能性があるからです。 −r オプションは −a および −e オプションとともに使用して、作成されるデルタの SID の命名を制御で きます。 処理されるファイルごとに、 get は、アクセスしようとしている SID および SCCS ファイルから読み出される 行番号で(標準出力に)応答します。 −e オプションを使用した場合、作成されるデルタの SID は、アクセスされる SID の後および生成される行番 号の前に現れます。複数の指定ファイルがある場合、あるいはディレクトリまたは標準入力を指定した場合、 処理される前に(改行が前に付いて)各ファイル名がプリントされます。 −i オプションを使用した場合、含まれ たデルタは表記 "Included" に続いてリストされます。 −x オプションを使用した場合、除外されたデルタは表 記 "Excluded" に続いてリストされます。 Section 1-510 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 get(1) get(1) 表1. SCCS識別文字列の決定 指定される −b オプション 他の 読み出される 作成するデルタの の使用 % 条件 SID SID なし %% しない RのデフォルトはmR mR.mL mR.(mL+1) なし %% する RのデフォルトはmR mR.mL mR.mL.(mB+1).1 SID* R しない R > mR mR.mL R.1*** R しない R = mR mR.mL mR.(mL+1) R する R > mR mR.mL mR.mL.(mB+1).1 R する R = mR mR.mL mR.mL.(mB+1).1 R − R < mR and hR.mL** hR.mL.(mB+1).1 R.mL R.mL.(mB+1).1 Rは存在しない R − リリース> R における幹継承番号 およびRが存在 R.L しない 幹継承なし R.L R.(L+1) R.L する 幹継承なし R.L R.L.(mB+1).1 R.L − リリース≥ R R.L R.L.(mB+1).1 R.L.B しない 分岐継承なし R.L.B.mS R.L.B.(mS+1) R.L.B する 分岐継承なし R.L.B.mS R.L.(mB+1).1 R.L.B.S しない 分岐継承なし R.L.B.S R.L.B.(S+1) R.L.B.S する 分岐継承なし R.L.B.S R.L.(mB+1).1 R.L.B.S − 分岐継承 R.L.B.S R.L.(mB+1).1 における幹継承 表1の注記 * "R", "L", "B", および"S" は、それぞれSID の「リリース」、「レベル」、「分岐」、および 「シー ケ ン ス」 の 構 成 要 素 で す。 "m" は 「最 大」 を 意 味 し ま す。 し た がっ て、 例 え ば"R.mL"は、「リリースR内の最大レベル番号」を意味し、 "R.L.(mB+1).1"は、「リリース R内のレベルLの新しい分岐上の最初のシーケンス番号(つまり最大分岐番号に1を加えたも の)」を意味します。指定するSID が"R.L", "R.L.B", または"R.L.B.S" の形式ならば、それぞ れの指定した構成要素がなければならないことに注意してください。 ** "hR"は、指定した 存在しないリリースRより下位で最高の 既存のリリースです。 *** これは 新規リリースにおいて first デルタの作成を強制するのに使用されます。 # 継承 % −b オプションは、 b フラグ (admin(1) を参照) がファイル内に存在する場合のみ有効で す。 − のエントリーは、「不適切」を意味します。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-511 get(1) get(1) d ( デフォルト SID) フラグがファイルに 存在しない場合、このケースが適用されます。 d %% フラグがファイルに 存在する場合、 d フラグから得られた SID はコマンド行で指定された 場合と同様に解釈されます。したがって、この表の他の場合のいずれかが適用されます。 識別キーワード 識別情報は、「識別キーワード」をすべてその値と交換することによって SCCS ファイルから読み出されるテ キストに挿入されます。 SCCS ファイルに記憶されるテキストで使用できるキーワードは以下のとおりです。 キーワード %M% 値 モジュール名: ファイルにある m フラグの値 (admin(1) を参照)、または存在しなければ、先 行する s. を削除した SCCS ファイル名 %I% 読み出されるテキストの SCCS 識別 (SID) (%R%.%L%.%B%.%S%) %R% リリース %L% レベル %B% 分岐 %S% シーケンス %D% 現在の日付 (YY/MM/DD) %H% 現在の日付 (MM/DD/YY) %T% 現在の時刻 (HH:MM:SS) %E% 最新の適用デルタが作成された日付 (YY/MM/DD) %G% 最新の適用デルタが作成された日付 (MM/DD/YY) %U% 最新の適用デルタが作成された時刻 (HH:MM:SS) %Y% モジュールタイプ: SCCS ファイルにある t フラグの値 (admin(1) を参照) %F% SCCS ファイル名 %P% 完全に修飾された SCCS ファイル名 %Q% ファイルの q フラグの値 (admin(1) を参照) %C% 現在の行番号。このキーワードは、 "this should not have happened" などのプログラムによる メッセージ出力を識別するためのものです。シーケンス番号を与えるために各行に使用するよ うに意図したものではありません。 %Z% what (what(1) を参照) により認識できる4文字の文字列 @(#) %W% HP-UX システムプログラム ファイル用に what 文字列を構成するための略記法 Section 1-512 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 get(1) get(1) %W%=%Z%%M%horizontal-tab%I% %A% 非 HP-UX システムプログラム ファイル用に what 文字列を構成するための別の略記法 %A% = %Z%%Y% %M% %I%%Z% 多言語化対応 環境変数 LC_CTYPE は、シングルまたはバイト文字あるいはその両方としてテキストを解釈するか決定します。 LC_MESSAGES はメッセージの表示言語を決定します。 LC_CTYPE あるいは LC_MESSAGES を環境で指定しないか、または空の文字列に設定すると、 LANG の値 は、それぞれ未指定、または空の変数のデフォルトとして使用されます。 LANG が未指定か、または空の文字 列に設定されている場合、デフォルトの"C" (lang(5) を参照)が LANG の代わりに使用されます。多言語対応変 数の内容が無効な設定である場合、多言語対応変数がすべて"C"に設定されたものとして get は動作します。 environ(5) を参照してください。 サポートされる国際的コードセット シングル/マルチバイト文字コードセットがサポートされています。 診断 説明については、 sccshelp を使用してください。 警告 有効ユーザーが SCCS ファイルのあるディレクトリの書き込みパーミッションを(明示的にまたは暗示的に)所 有しているが、実際のユーザーは所有していない場合は、 −e オプションを使用すると、1つのファイルのみを 指定することができます。 (おそらく不用意に)削除されて、続けてファイルに再挿入されたファイルのセクションに対して −i オプション を使用して変更をマージすると、予期しない結果が発生します。 −g を使用すると、 l-file を生成することはできません。つまり、 −g −l は動作しません。 ファイル 複数の補助ファイルが get によって作成できます。これらのファイルは、一般的に g-file, l-file, p-file, z-file で す。ハイフンの前の文字はタグと呼ばれます。補助ファイル名は、 SCCS ファイル名から形成されます。すべ ての SCCS ファイル名の最後の構成要素は、形式 s.module-name でなければなりません。補助ファイルは先行 する s をタグで置き換えることによって名前が作成されます。 g-file は、このスキームの例外です。つまり、 g-file は s. プレフィックスを削除することによって名前が作成されます。例えば、 s.xyz.c では、補助ファイル 名はそれぞれ xyz.c, l.xyz.c, p.xyz.c, および z.xyz.c です。 生成されたテキストを内容とする g-file は、 (−p オプションを使用しない限り)カレントディレクトリに作成さ れます。 g-file は、テキスト行が get によって作成されたかどうかにかかわらず、すべてのケースで作成され ます。これは実際のユーザーによって所有されます。 −k オプションを使用するか、または暗示される場合、 そのモードは644です。そうでなければ、モードは444です。実際のユーザーだけがカレントディレクトリの書 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-513 get(1) get(1) き込みパーミッションを所有する必要があります。 l-file の内容は、読み出されるテキストを作成する際に、どのデルタが適用されたかを示すテーブルです。 −l オプションを使用すると、 l-file はカレントディレクトリに作成されます。そのモードは444であり、これは実 際のユーザーによって所有されます。実際のユーザーだけがカレントディレクトリの書き込みパーミッション を所有する必要があります。 l-file における行のフォーマットは以下のとおりです。 1. デルタが適用された場合、空白文字 * そうでなければ 2. デルタが適用されるか、または適用されずに無視された場合、空白文字 * デルタが適用されずに無視されなかった場合は 3. デルタが適用された、または適用されなかった「特別な」理由を示すコード I: 含まれている。 X: 除外されている。 C: (−c オプションにより)停止。 4. 空白 5. SCCS ID (SID) 6. タブ文字 7. 作成日時(形式 YY/MM/DD HH:MM:SS) 8. 空白 9. delta を作成した個人のログイン名 以降の行にコメントおよび MR データが、1文字の水平タブ文字分字下げして続きます。ブランク行は 各エントリーを終了させます。 p-file は、 −e オプションの get が原因で発生する情報を delta に渡すのに使用されます。その内容は、 delta が 実行されるか、またはジョイントエディット フラグ j (admin(1) を参照)が SCCS ファイルで設定されるまで、 同じ SID に対して −e オプションによる get の連続実行を防止するためにも使われます。 p-file は SCCS ファイ ルがあるディレクトリで作成され、また有効ユーザーはそのディレクトリに書き込みパーミッションがなけれ ばなりません。そのモードは644であり、それは有効ユーザーによって所有されます。 p-file のフォーマットは 取得された SID, 空白、新しいデルタが作成された際に持つ SID, 空白、実際のユーザーのログイン名、空白、 get が実行された日時、空白、および存在すれば −i オプション引き数、空白、および存在すれば −x オプショ ン定数、改行となります。 p-file は随時任意個数の行が可能です。同じ新規デルタ SID を2行に持たせることは できません。 z-file は同時にアップデートすることをを防止する lock-out メカニズムとして機能します。その内容は、それを 作成したコマンド (つまり get) の2進 (2バイト) プロセス ID です。 z-file は get の実行中に SCCS ファイルがあ Section 1-514 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 get(1) get(1) るディレクトリで作成されます。 p-file と同様の保護制約が、 z-file にも適用されます。 z-file はモード444で作 成されます。 参照 admin(1), delta(1), prs(1), sccshelp(1), what(1), sccsfile(4) 標準準拠 get: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-515 getaccess(1) getaccess(1) 名称 getaccess − (単一または複数の)ファイルに対するアクセス権のリスト 構文 getaccess [-u user ] [-g user ] group [, group ] ... ] [-n] file ... getaccess -r [-n] file ... 説明 getaccess は指定されたファイルに対して呼び出し元の有効なアクセス権のリストを示します( つまり、有効 ユーザー ID 、有効グループ ID 、および補助グループのリストを示します)。デフォルトでは、コマンドは名前 付きファイルに対するユーザーのアクセス権のシンボリック表現を出力します。出力は、 r または - (読み込み 可/読み込み不可)、 w または - (書き出し可/書き出し不可)、 x または - (実行可/実行不可(デイレクトリの場合 は検索可/検索不可))、ファイル名と続きます。 オプション getaccess は以下のオプションおよびコマンド行の引き数を認識します。 -u user 呼び出し元ではなく指定ユーザーのアクセスのリストを示します。 user は、ファイル の所有者 ID を表す、既知のユーザー名、有効な ID 番号、@が指定できます。複数の ファイルに関する情報が要求された場合、@の値はそれぞれのファイルで異なること があります。 このオプションはユーザー ID のみを設定します。 -g も指定されない限り、呼び出し 元の有効グループ ID および補助グループ ID でアクセスチェックが行われます。 -g group [, group ] ... ] 呼び出し元の有効グループ ID および補助グループのリストの代わりに(単一または複 数の) 指定されたグループのアクセスのリストを示します。 group は、ファイルのグ ループ ID を表す、既知のグループ名、有効な ID 番号、@ が指定できます。複数の ファイルに関する情報が要求された場合、@の値はそれぞれのファイルで異なること があります。 -r 有効な ID 値の代わりに呼び出し元の実際のユーザー ID 、グループ ID 、および補助 グループのリストを使用してアクセスのリストを示します。 -n 要求された各ファイルごとにアクセス権のリストを数で示します( rwx ではなく8進数 字 0..7 )。ビット値 R_OK, W_OK, および X_OK はファイル <unistd.h> で定義されま す。 アクセス制御リストを使用したアクセスのチェックは、 acl(5) に説明があります。 さらに、読み出し専用ファイルシステム上のファイルまたは実行中の共用テキストプログラムの書き込みビッ トはクリアされます。実行ビットは、書き込みオープンされているファイルが共用テキストプログラムである かどうかを確かめることができないため、書き込みオープンされている共用テキストプログラムでオフにされ ません。 Section 1-516 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 getaccess(1) getaccess(1) 適切な特権があるプロセスは、すべてのファイルに対して読み書きアクセス権があります。ただし、読み出し 専用ファイルシステム上のファイルまたは実行中の共用テキストプログラムへの書き込みアクセスは拒否され ます。実行アクセスは、ファイルが通常ファイルでない場合、または実行ビットが任意のファイルの ACL エン トリーで設定されている場合に限り許されます。 正常に getaccess を使用するには、呼び出し元は file のパス名の各ディレクトリ構成要素に検索アクセスをしな ければなりません。指定ユーザーおよびグループ ID とは関係なく呼び出し元の有効 ID を使用して、 getaccess は最初に検索アクセスを確認します。これは、呼び出し元がパスを検索する場合とは異なりますが、アクセス がチェックされるユーザーはファイルにアクセスできません。 注記: - のファイル名引き数は getaccess に対して特殊な意味(標準入力などの)はありません。 多言語化対応 環境変数 LANG は、メッセージの表示言語を決定します。 LANG が指定されない場合、または空の文字列に設定された場合は、 LANG ではなく"C"( lang(5) を参照)のデ フォルトが使用されます。多言語対応変数が無効な設定値を含む場合、 getaccess は多言語対応変数がすべ て"C"に設定されたものとして動作します。 environ(5) を参照してください。 戻り値 getaccess は、以下の値のいずれかを戻します。 0 正常終了 1 getaccess が不正に起動されたか、または未定義のユーザーまたはグループ名が出現しました。適 切なメッセージが標準エラーにプリントされます。 2 ファイルが存在しないか、または(呼び出し元により)検索不能です。 getaccess は標準エラーに適 切なメッセージをプリントして続行し、完了時に値2を戻します。 例 以下のコマンドは、呼び出し元の有効グループ ID およびグループリストではなくファイルのグループ ID を使 用して file1 に対する呼び出し元のアクセス権をプリントします。 getaccess -g@ file1 以下にグループ red および 19 のユーザー ggd によるカレントディレクトリにある全ファイルへのアクセスを チェックする方法を示します。アクセス権は8進数で表示します。 getaccess -u ggd -g red, 19 -n .* * 以下に mydir 下の全ファイルに対するアクセス権のリスト方法を示します。 find mydir -print | sort | xargs getaccess HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-517 getaccess(1) getaccess(1) 作成 getaccess はHPで開発されました。 ファイル /etc/passwd /etc/group 参照 chacl(1), lsacl(1), getaccess(2), glossary(9) Section 1-518 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 getacl(1) getacl(1) 名称 getacl − ファイルのアクセス制御リスト(ACL)の取得(JFSファイルシステムのみ) 構文 /usr/bin/getacl [-ad] file... 説明 引き数が通常のファイル、スペシャルファイル、または名前付きパイプの場合は、 getacl は所有者、グルー プ、およびアクセス制御リスト(ACL)を返します。引き数がディレクトリの場合は、 getacl は所有者、グルー プ、およびACLとデフォルトACLの両方(またはそのどちらか)を返します。デフォルトACLは、ディレクトリ の場合にのみ存在します。 -a オプションを指定すると、ファイル名、所有者、グループ、およびファイルのACLが返されます。 -d オプ ションを指定すると、ファイル名、所有者、グループ、およびファイルのデフォルトACL(存在する場合)が返 されます。オプションを指定しなければ、ファイル名、所有者、グループ、およびACLとデフォルトACL(存在 する場合)の両方が返されます。 このコマンドは、ACL をサポートしないファイルシステム上でも実行できます。この場合はパーミッション ビットに基づいて、所有ユーザー、所有グループ、クラス、およびその他エントリーのみで構成されるACLが 返されます。 コマンド行に複数のファイルを指定した場合は、各ファイルのACLが空白行で区切られて示されます。各ACL の形式は以下のとおりです。 オプション getacl コマンドは、次のオプションを認識します: −a ファイル名、オーナー、グループ、デフォルトACLを表示します。 −d ファイル名、オーナー、グループ、もし存在すればデフォルトACLを表示します。 オペランド getacl は、次のオペランドを認識します: file getacl がどこからアクセス制御情報を取得すればいいかのファイルまたはディレクトリ。 ACL フォーマット ACLのフォーマットは以下のとおりです。 # file: filename # owner: uid # group: gid user:: perm user:uid: perm group:: perm group:gid: perm HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-519 getacl(1) getacl(1) class: perm other: perm default:user:: perm default:user:uid: perm default:group:: perm default:group:gid: perm default:class: perm default:other: perm 最初の3行はファイル名、ファイル所有者、およびファイルの所有グループを示します。 -d オプションのみを 指定した場合に、そのファイルにデフォルトACLがなければ、この3行のみが表示される点に注意してくださ い。 ユーザーIDを含まない user エントリーのパーミッションは、ファイルの所有者に与えられます。 1つまたは複 数の追加の user エントリーがある場合は、指定されたユーザーにパーミッションが与えられることを示しま す。グループIDを含まない group エントリーのパーミッションは、ファイルの所有グループに与えられます。 1つまたは複数の追加の group エントリーがある場合は、指定されたグループにパーミッションが与えられる ことを示します。 other エントリーのパーミッションは、その他ユーザーに与えられます。 default エントリー (default:user、 default:group、および default:other) はディレクトリの場合にのみ存在し、 そのディレクトリ内に作成されるファイルに追加されるデフォルトのユーザー、グループ、およびその他エン トリーを示します。 uid にはログイン名が示されます。または、システムのパスワードファイル内にこの uid のエントリーがない 場合はユーザーID が示されます。同様に、 gid にはグループ名が示されます。または、システムのグループ ファイル内にこの gid のエントリーがない場合はグループIDが示されます。 perm は3つの文字から構成され、 それぞれの文字は以下の任意のアクセス権を表します。 r (読み取り)、 w (書き込み)、 x (実行/検索)、または プレースホルダ文字列である − 。 perm は、 rwx の順番に示されます。そのACL エントリーで与えられない パーミッションについては、プレースホルダ文字列が示されます。 ACLエントリーは、アクセスチェック時に評価される順番に並んでいます。ディレクトリの場合はデフォルト ACLエントリーが存在する可能性がありますが、アクセスチェックには関係ありません。 ファイル所有者に対するパーミッションビットは、所有ユーザーエントリーが持つアクセス権を示していま す。ファイルグループ クラスのパーミッションビットは、追加のユーザーエントリー、追加のグループエント リー、または所有グループエントリーが与えることができる最大のアクセス権を示しています。ファイルのそ の他パーミッションビットは、その他エントリーが持つアクセス権を示しています。 chmod コマンドを使って ファイルグループ クラスのパーミッションビットを変更すると、追加のACLエントリーで与えられるアクセス 権が制限される可能性があります。 ファイルグループ クラスのパーミッションビットによりACLエントリーが制限されている場合は、 getacl では 影響を受けるエントリーの後に、 #effective: perm形式のテキストを付加して、このことを示します。 perm に は、実際に与えられているパーミッションのみが示されます。 Section 1-520 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 getacl(1) getacl(1) 例 6つのエントリーから構成されるACLを持つ filea ファイルの場合、コマンド $ getacl filea を実行すると、以下の内容がプリントされます。 # file: filea # owner: fletcher # group: us user::rwx user:spy:--user:archer:rwgroup::r-class:rwother:--また6つのエントリーから構成されるACLを持つ filea ファイルについて、コマンド chmod 700 filea を実行した 後に、コマンド $ getacl filea を実行すると、以下の内容がプリントされます。 # file: filea # owner: fletcher # group: us user::rwx user:spy:--user:archer:rw- #effective:--group::r-- #effective:--class:--other:--デフォルトエントリーを含んだACLを持つ fileb ディレクトリについて、コマンド $ getacl -d fileb を実行すると、以下の内容がプリントされます。 # file: fileb # owner: fletcher # group: us default:user::rwx default:user:spy:--default:group::r-HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-521 getacl(1) getacl(1) default:other:--また、この fileb ディレクトリについて、コマンド $ getacl fileb を実行すると、以下の内容がプリントされます。 # file: fileb # owner: fletcher # group: us user::rwx user:spy:--user:archer:rwgroup::r-other:--default:user::rwx default:user:spy:--default:group::r-default:other:--- 注意 getacl の出力結果は、 setacl コマンドに渡すのに適した形式になっています。 getacl の出力結果をファイルに リダイレクトすると、そのファイルを setacl の入力データとして使用できます。このようにすると、あるファ イルのACLを別のファイルに簡単に割り当てることができます。 ファイル /etc/passwd ユーザーID用 /etc/group グループID用 参照 chmod(1), ls(1), setacl(1), acl(2), aclsort(3C) Section 1-522 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 getconf(1) getconf(1) 名称 getconf − システム設定値の取得 構文 getconf [-v specification ] system_var getconf [-v specification ] system_var pathname 説明 getconf コマンドは、 confstr(3C), pathconf (2), sysconf (2) ライブラリルーチンおよびシステムコールに対するイ ンタフェースを与えます。 system_var 引き数は、 confstr(), pathconf(), sysconf() に必要な構成値を指定します。 (以下の第1のテーブルの) confstr() または sysconf() を必要とする問い合わせには、最初の構文形式を使用します。 (以下の第2のテーブ ルの) pathconf() を必要とする問い合わせには、2番目の構文形式を使用します。 pathconf() に関する問い合わ せでは、 pathname オペランドを指定する必要があります。 オプション getconf のオプションは、次のとおりです。 -v specification HP-UX でサポートしている特別なコンパイル環境に対応する設定値を返します。 -v オプションを指定しなかった場合は、 specification は、XBS5_ILP32_OFF32をデ フォルトとします。仕様と意味については、以下のテーブルを参照してくださ い。 long pointer XBS5_ILP32_OFF32 Specification int 32 32 32 32 XBS5_ILP32_OFFBIG 32 32 32 >=64 XBS5_LP64_OFF64 32 64 64 64 >=32 >=64 >=64 >=64 XBS5_LPBIG_OFFBIG off_t 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定され ている場合、 LANG の代わりに Cがデフォルトとして使われます (lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 getconf はすべての国際化変数が"C"に設定されているように振 る舞います。 environ(5) を参照してください。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-523 getconf(1) getconf(1) 戻り値 getconf によって戻されるエラーコードは以下のとおりです。 0 正常終了しました。オペランドに対応する値が戻されました。 1 単一または複数のオペランドが存在していません。 2 オペランドは認識されませんでした。 3 パス名が無効か、またはアクセスできませんでした。 例 1秒あたりの間隔数を要求します。 getconf CLK_TCK ファイルのリンクカウントの最大値を要求します。 getconf LINK_MAX /etc/passwd 複数のローカリティドメインがサポートされているシステムでの問い合わせ: getconf CCNUMA_SUPPORT getconf は、以下のように出力します。 1 複数のローカリティドメインがサポートされている場合 undefined 複数のローカリティドメインがサポートされていない場合 以下についての問い合わせがサポートされています。 ARG_MAX BS_SCALE_MAX CHAR_BIT CHILD_MAX CPU_CHIP_TYPE CS_PATH HW_CPU_SUPP_BITS INT_MIN LINE_MAX LONG_MIN MACHINE_SERIAL NL_ARGMAX NL_NMAX NZERO PATH Section 1-524 Hewlett-Packard Company _BC_BASE_MAX BC_STRING_MAX CHAR_MAX CLK_TCK CS_MACHINE_IDENT CS_MACHINE_SERIAL HW_32_64_CAPABLE IPMI_INTERFACE LONG_BIT MACHINE_IDENT MB_LEN_MAX NL_LANGMAX NL_SETMAX OPEN_MAX _POSIX_ARG_MAX −2− BC_DIM_MAX CHARCLASS_NAME_MAX CHAR_MIN COLL_WEIGHTS_MAX CS_PARTITION_IDENT EXPR_NEST_MAX INT_MAX KERNEL_BITS LONG_MAX MACHINE_MODEL NGROUPS_MAX NL_MSGMAX NL_TEXTMAX PARTITION_IDENT _POSIX_JOB_CONTROL HP-UX 11i Version 3: February 2007 getconf(1) getconf(1) _POSIX_NGROUPS_MAX _POSIX_SSIZE_MAX _POSIX_VERSION POSIX_JOB_CONTROL POSIX_MAX_INPUT POSIX_OPEN_MAX POSIX_SAVED_IDS POSIX_TZNAME_MAX POSIX2_BC_DIM_MAX POSIX2_C_BIND POSIX2_CHAR_TERM POSIX2_EXPR_NEST_MAX POSIX2_LINE_MAX POSIX2_SW_DE PSET_SUPPORT SCHAR_MAX SHRT_MIN RE_DUP_MAX UCHAR_MAX USHRT_MAX XOPEN_XCU_VERSION XOPEN_XPG4 _POSIX_OPEN_MAX _POSIX_STREAM_MAX POSIX_ARG_MAX POSIX_LINK_MAX POSIX_NAME_MAX POSIX_PATH_MAX POSIX_SSIZE_MAX POSIX_VERSION POSIX2_BC_SCALE_MAX POSIX2_C_DEV POSIX_CHILD_MAX POSIX2_FORT_DEV POSIX2_LOCALEDEF POSIX2_UPE SC_PASS_MAX SCHAR_MIN SSIZE_MAX TMP_MAX UINT_MAX WORD_BIT XOPEN_XPG2 XBS5_ILP32_OFF32_CFLAGS XBS5_ILP32_OFF32_LIBS XBS5_ILP32_OFFBIG_CFLAGS XBS5_ILP32_OFFBIG_LIBS XBS5_LP64_OFF64_CFLAGS XBS5_LP64_OFF64_LIBS _POSIX_SAVED_IDS _POSIX_TZNAME_MAX POSIX_CHILD_MAX POSIX_MAX_CANON POSIX_NGROUPS_MA POSIX_PIPE_BUF POSIX_STREAM_MAX POSIX2_BC_BASE_MAX POSIX2_BC_STRING_MAX POSIX2_C_VERSION POSIX2_COLL_WEIGHTS_MAX POSIX2_FORT_RUN POSIX2_RE_DUP_MAX POSIX2_VERSION SC_XOPEN_VERSION SHRT_MAX STREAM_MAX TZNAME_MAX ULONG_MAX XOPEN_VERSION XOPEN_XPG3 XBS5_ILP32_OFF32_LDFLAGS XBS5_ILP32_OFF32_LINTFLAGS XBS5_ILP32_OFFBIG_LDFLAGS XBS5_ILP32_OFFBIG_LINTFLAGS XBS5_LP64_OFF64_LDFLAGS XBS5_LP64_OFF64_LINTFLAGS 第2パラメータを指定しなければならない問い合わせは、次のとおりです。 LINK_MAX NAME_MAX _POSIX_CHOWN_RESTRICTED _POSIX_MAX_INPUT _POSIX_PATH_MAX POSIX_CHOWN_RESTRICTED HP-UX 11i Version 3: February 2007 MAX_CANON PATH_MAX _POSIX_LINK_MAX _POSIX_NO_TRUNC _POSIX_PIPE_BUF POSIX_NO_TRUNC −3− MAX_INPUT PIPE_BUF _POSIX_MAX_CANON _POSIX_NAME_MAX _POSIX_VDISABLE POSIX_VDISABLE Hewlett-Packard Company Section 1-525 getconf(1) getconf(1) 注記 getconf でサポートされるすべてのパラメータのリストについては、 sysconf() 、 pathconf() 、および confstr() のマンページを参照してください。 著者 getconf はHPおよび POSIX で開発されました。 参照 pathconf(2), sysconf(2), confstr(3C) 標準準拠 getconf: POSIX.2, XPG4 Section 1-526 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 getopt(1) getopt(1) 名称 getopt − コマンドオプションの構文解析 構文 getopt optstring args 説明 getopt は、シェルプロシージャにより簡単な構文解析のためにコマンド行のオプションを分割し、正当なオプ ションかどうかをチェックするのに使用します。 optstring は、認識されたオプションの英字の文字列です( getopt(3C) を参照)。英字の後にコロンがある場合、オプションには引き数があるものとされます。引き数に は、空白で区切られるものと区切られないものがあります。 シェルの位置パラメータ ($1, $2, ...) はリセットされるため、各オプションは、前に − が付き独自の位置パラ メータ内にくるようになります。各オプションの引き数も、独自の位置パラメータに構文解析されます。 getopt は、オプションの終端を区切る2つのハイフン (−−) を認識します。ハイフンがない場合、 getopt はオプ ションの終端に −− を置きます。 getopt の最も一般的な使い方は、シェルの set コマンド(以下の例を参照)内で、 getopt がコマンド行を変換し て、より簡単に構文解析した形式にするという使い方です。 getopt は、修正したコマンド行を標準出力に書き 出します。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示言語を決定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変 数に対して LANG の値がデフォルトとして使われます。 LANG を指定しない場合、または空の文字列に設定した場合、デフォルトの"C"( lang(5) を参照)を LANG 変数 の値として使用します。多言語対応変数に無効な設定値が含まれる場合、 getopt はすべての使用言語環境変数 を"C"に設定した場合と同様に動作します。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイト文字コードセットがサポートされています。 診断 optstring に含まれないオプションの英字が出現すると、 getopt はエラーメッセージを標準エラーにプリントし ます。 例 以下のコード例では、オプション a または b 、および引き数を必要とするオプション o を取得できるコマンド の引き数を処理します。 set -- ‘getopt abo: $*‘ if [ $? -ne 0 ]; then HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-527 getopt(1) getopt(1) echo $USAGE exit 2 fi while [ $# -gt 0 ]; do case $1 in -a | -b) FLAG=$1 shift ;; -o) ARG=$2 shift 2 ;; --) shift break ;; esac done このコードは、等価物として以下のいずれかを受け付けます。 cmd -aoarg file file cmd -a -o arg file file cmd -oarg -a file file cmd -a -oarg -- file file 警告 getopt オプションの引き数に、ヌル文字列またはブランク文字は使えません。 参照 getopts(1), sh(1), getopt(3C) Section 1-528 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 getopts(1) getopts(1) 名称 getopts −ユーティリティ(コマンド)オプションの構文解析 構文 getopts optstring name [ arg ... ] 説明 getopts は、パラメータのリストからオプションおよびオプションの引き数を読み出すのに使用されます。 getopts は、起動されるたびに次のオプションの値を name オペランドにより指定されるシェル変数に、また処 理される次の引き数のインデックスをシェル変数 OPTIND に代入します。シェルが起動されると、必ず OPTIND は1に初期化されます。 オプションにオプションの引き数が必要な場合は、 getopts はそれをシェル変数 OPTARG に代入します。オプ ションが見つからない場合または検索されたオプションに引き数がない場合、 OPTARG は設定されません。 optstring オペランドに含まれないオプション文字がオプション文字のあるべき場所で検索された場合、 name により指定されるシェル変数は疑問符 (?) 文字に設定されます。この場合 optstring の最初の文字がコロン (:) ならば、シェル変数 OPTARG は検索されたオプション文字に設定されますが、出力を標準エラーには書き出 しません。それ以外の場合、シェル変数 OPTARG は設定されず、診断メッセージは標準エラーに書き出され ます。この状態は、引き数がアプリケーションを起動するように示される場合に検出されたエラーであると解 釈されますが、 getopts 処理においてはエラーではありません。 オプションの引き数がない場合は以下のとおりです。 • optstring の最初の文字がコロンの場合、 name により指定されるシェル変数はコロン文字に設定さ れ、シェル変数 OPTARG は検索されたオプション文字に設定されます。 • それ以外の場合、 name により指定されるシェル変数は疑問符文字に設定され、シェル変数 OPTARG は設定されず、また診断メッセージは標準エラーに書き出されます。この状態は、引き 数がアプリケーションを起動するように示される場合に検出されたエラーであると解釈されます が、 getopts 処理においてはエラーではありません。前述のとおり診断メッセージは書き出されま すが、終了ステータスはゼロです。 オプションの終端が出現すると、 getopts はゼロより大きな戻り値で終了します。シェル変数 OPTIND は、最 初の非オプションの引き数のインデックスか値 $# + 1に設定されます。前者の場合、最初の - - 引き数は、その 前に非オプションの引き数がなければ、オプションの引き数になります。値 $# + 1になるのは、非オプション の引き数がない場合です。 name 変数は、疑問符文字に設定されます。オプションの終端を識別するのは、特 殊オプション - - 、 - から始まらない引き数、エラーの出現です。 シェル変数 OPTIND および OPTARG は、 getopts の呼び出し元に対してローカルであり、デフォルトではエ クスポートされません。 name オペランドにより指定されるシェル変数 OPTIND および OPTARG は、現在のシェル実行環境に影響を 与えます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-529 getopts(1) getopts(1) オペランド 以下のオペランドがサポートされています。 optstring getopts を起動するユーティリティにより認識されるオプション文字を含む文字列。文 字の後にコロン (:) がある場合、オプションには引き数があるものと判断します。こ のオプションの引き数は、別の引き数として指定されます。アプリケーションでオプ ション文字とそのオプションの引き数を別々の引き数として指定する必要がありま す。 getopts は、引き数を必要とするオプション文字の後の文字を1つの引き数として 解釈します。明示的なヌルオプションの引き数は、 getopts の実行時に独自の引き数 として指定されない場合は認識されません。疑問符 (?) およびコロン (:) 文字は、ア プリケーションでオプション文字として使用してはなりません。英数字以外の他のオ プション文字を使用すると、予期せぬ結果を引き起します。オプションの引き数がオ プション文字とは別の引き数として指定されない場合は、 OPTARG の値からオプ ション文字およびハイフン (-) が取り除かれます。 optstring の最初の文字は、未知の オプション文字が指定されたり、あるいはオプションの引き数が指定されなかった場 合の getopts の動作を決定します。 getopts により検索されたオプション文字に設定されるシェル変数の名前 name getopts は、デフォルトでは起動するシェルプロシージャに渡される位置パラメータを構文解析します。 args を与える場合、位置パラメータに代わり構文解析します。 多言語化対応 環境変数 以下の環境変数は、 getopts ユーティリティの実行に影響を与えます。 OPTIND 処理する次の引き数のインデックスとして getopts により使用されます。 エラー エラーが検出され、 optstring オペランドの最初の文字がコロン (:) でないときはいつでも、診断メッセージが 不特定のフォーマットで次のような情報とともに標準エラーに書き込まれます。 • 実行するプログラム名がメッセージ中に確認されます。実行するプログラム名は、 getopts ユー ティリティが実行される時のシェル特殊パラメータ0 の値です。以下と等価な名前が使用されま す。 basename "$0" • optstring に指定されていないオプションが発見されると、このエラーが確認され、無効なオプショ ン文字がメッセージ中に確認されます。 • オプション引き数を必要とするオプションで、オプション引き数が発見されないと、このエラーが 確認され、無効なオプション文字がメッセージ中に確認されます。 Section 1-530 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 getopts(1) getopts(1) 例 getopts は現在のシェル実行環境に影響を与えるため、一般にそれは組込みのシェルレギュラーとして提供され ます。サブシェルまたは次のいずれかのように別のユーティリティ実行環境で呼び出された場合、 (getopts abc value "$@") nohup getopts ... find -exec getopts ...\; それは呼び出し元環境のシェル変数に影響を与えません。 位置パラメータが変更されるとしても、シェル関数は OPTIND を呼び出しシェルと共有する点に注意してくだ さい。引き数の構文解析に getopts を使用する関数では、開始時に OPTIND の値をセーブし、戻る前にリスト アしなければなりません。ただし、関数は呼び出しシェルの OPTIND を変更しなければならない場合もありま す。 以下の例スクリプトでは、その引き数を構文解析して表示します。 aflag= bflag= while getopts ab: name do case $name in a) aflag=1;; b) bflag=1 bval="$OPTARG";; ?) printf "Usage: %s: [-a] [-b value] args\n" $0 exit 2;; esac done if [ ! -z "$aflag" ] ; then printf "Option -a specified\n" fi if [ ! -z "$bflag" ] ; then printf "Option -b "%s" specified\n" "$bval" fi shift $(($OPTIND -1)) printf "Remaining arguments are: %s\n" "$*" HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-531 getopts(1) getopts(1) 参照 getopt(1), ksh(1), sh-posix(1), sh(1), getopt(3C) 標準準拠 getopts: XPG4, POSIX.2 Section 1-532 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 getprivgrp(1) getprivgrp(1) 名称 getprivgrp − グループの特殊属性の取得 構文 getprivgrp [-g group_name ] 説明 getprivgrp は、 setprivgrp によって設定された特権グループのアクセス特権のリストを示します ( setprivgrp(1M) を参照)。 group_name を与えると、そのグループのアクセス特権だけがリスト表示されます。呼び出 し元が group_name のメンバーでなければ、情報は表示されません。 -g を使用すると、 getprivgrp は、すべて のグループに与えられたアクセス特権のリストを示します。使用しない場合、アクセス特権は呼び出し元が所 属するすべての特権グループに関してリスト表示されます。 スーパーユーザーは、すべてのグループのメンバーです。アクセス特権には、 RTPRIO, RTSCHED, MLOCK, CHOWN, LOCKRDONLY, SETRUGID, FSSTHREAD, SPUCTL, PSET, MPCTL および SERIALIZE がありま す。これらのアクセス特権の機能についての説明は、 setprivgrp(1M) を参照してください。 著者 getprivgrp はHPで開発されました。 参照 setprivgrp(1M), getprivgrp(2), privgrp(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-533 gprof(1) gprof(1) 名称 gprof − 呼び出しグラフ プロファイルデータの表示 構文 gprof [ options ] [ a.out [ gmon.out ... ] ] 説明 gprof コマンドは、C++、C、および FORTRAN プログラムの実行プロファイルを作成します。呼び出された ルーチンの効果は、各呼び出し元のプロファイルに組み込まれます。プロファイルデータは、 aCC、 cc、お よび f90 の G オプションを付けてコンパイルされた、呼び出しグラフ プロファイルファイル (デフォルトでは gmon.out ) から取得されます。また、このオプションは、プロファイル用にコンパイルされているライブラリ ルーチンの各バージョン間でリンクも行います。 Itanium(R) ベース システム上で gprof(1) は、複数の共有ライブラリのプロファイルをサポートします。 PARISC 上で gprof は、単一の共有ライブラリのプロファイルをサポートします。詳細は以下の 「共有ライブラ リのプロファイリング」の項を参照してください。 プロファイル用のロードモジュールのシンボルテーブルは、呼び出しグラフ プロファイルファイル (gmon.out) から読み取られて関連付けられます。完全な呼び出しグラフを得るには、シンボルテーブルを分割しないでく ださい。つまり、コンパイル時に -x オプションを使わないでください。複数のプロファイルファイルを指定す ると、 gprof 出力は、与えられたプロファイルファイルにおける全プロファイル情報を示します。 最初に、 prof ( prof (1) を参照) によって与えられたのと同様のフラットプロファイルが与えられます。このリ ストには、プロファイル対象のロードモジュールにおける関数ごとの全実行時間および呼び出しカウントが、 降順で示されます。 Itaniumベース システムでは、関数が定義されているロードモジュールを示す、各関数の モジュールインデックスも報告されます。 次に、これらの時間は、呼び出しグラフの辺に沿って伝播されます。 gprof は、呼び出しグラフですべてのサ イクルを発見します。サイクルになったすべての呼び出しは、そのサイクルの時間を共有します。第2のリス トには、呼び出しグラフ子孫の時間を含む、時間に従ってソートされた関数が示されます。各関数エントリー の下には、その (直接) 呼び出しグラフ子孫とその時間がこの関数に伝播される方法が示されます。この関数の 上の同様のディスプレイには、この関数の時間およびその子孫の時間がその (直接) 呼び出しグラフ親に伝播さ れる方法が示されます。 サイクルも、サイクル全体のエントリーおよびサイクルのメンバーのリストとともに示され、それぞれ、サイ クルの時間および呼び出しカウントに関連しています。 Itaniumベース システムでは、最後にすべてのモジュールインデックスとモジュール名のマッピングが示されま す。プロファイルされなかったモジュールは、出力の最上部に報告されます。 共有ライブラリのプロファイリング 共有ライブラリの gprof プロファイリングは、32 ビットと 64 ビットの Itaniumベース システムでサポートさ れています。 PA-RISC では 32 ビットの共有ライブラリのプロファイリングのみがサポートされています。 Section 1-534 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 gprof(1) gprof(1) Itaniumベース システム 環境変数 LD_PROFILE はプロファイル対象のモジュールを決定します。 LD_PROFILE=ALL を設定 すると、全てのロードモジュールをプロファイルの対象とします。これによって a.out を含むすべての ロー ド モ ジュー ル の、 タ イ ミ ン グ 情 報 と 呼 び 出 し カ ウ ン ト 情 報 が 報 告 さ れ ま す。 LD_PROFILE=ldm1:ldm2 を設定すると、ロードモジュール ldm1 と ldm2 だけをプロファイルの対象とします。 ldm1 と ldm2 は絶対パスではなく、実行可能ファイル内に記述されているもので、 chatr(1) で表示する ことができます。 LD_PROFILE が設定されていない場合 gprof は、 LD_PROFILE=ALL と同じよう な動作をします。 環境変数 LD_PROFILEBUCKET_SIZE はプロファイルカウンタのサイズを制御します。この変数に設 定できる値は、16 か 32 です。 +profilebucketsize オプションを使うと、コンパイル時にカウンタサイ ズを指定することもできます。実行時に値を指定すると、コンパイル時の値は無効になります。カウ ンタサイズに16 および 32 以外の値を設定すると、警告が出力されます。この場合は、コンパイル時 の値が使われます。このカウンタのデフォルト値は 16 です。正しい値が指定されなかった場合は、デ フォルトの値が使われます。詳細については、 cc(1) の +profilebucketsize オブションを参照してくだ さい。 プログラムの終了時、 gprof ライブラリはすべてのプロファイル情報をモジュールごとのベースで gmon.out にダンプします。 gprof コマンドはこの情報を読み取り、ロードモジュール内の対応する関 数と照合します。 PA-RISC 共有ライブラリをプロファイル対象とするには、環境変数 LD_PROFILE にプロファイル対象とする 共有ライブラリのパスを設定します。 ( 『HP-UX リンカー & ライブラリ オンライン ユーザーズガイ ド』を参照。) 共有ライブラリをプロファイル対象とするプログラムをコンパイルする場合、 -G オプ ションは使用しないでください。実行可能ファイルに gcrt0.o や mcrt0.o をリンクしないでください。 そうすると、共有ライブラリのプロファイルと互換性のない a.out がプロファイル対象になってしまい ます。実行可能ファイルと共有ライブラリはそれぞれプロファイル対象にできますが、両方を同時に プロファイル対象とすることはできません。 LD_PROFILE を、 shl_load を呼び出す正確な文字列に設定します。そのライブラリが暗黙的にロード される場合は、 LD_PROFILE は、 a.out 内でエンコードされたパスに一致しなければなりません。そ の値は、実行可能ファイルに対して ldd コマンドを実行して得ることができます。 プログラムの終了時に、実行時ライブラリによって、共有ライブラリの名前を付加したプロファイル ファイルが生成されます。完全なリストを得るためには、 gprof コマンドの引き数に、共有ライブラ リ名と共有ライブラリのプロファイルファイルを渡します。 オプション gprof コマンドが認識するオプションは以下のとおりです。 -a 静的に宣言された関数の出力を抑止します。このオプションを与えると、 (時間サン プル、他の関数への呼び出し、および他の関数からの呼び出しなどの) 静的な関数に HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-535 gprof(1) gprof(1) 関する当該情報はすべて、 a.out ファイルにおける静的な関数の直前にロードされる 関数に所属します。 -b プロファイルにおける各フィールドの説明の出力を抑止します。 -e name ルーチン name およびすべてのその子孫の(抑止されないその他の祖先がない限り) グ ラフ プロファイルエントリーの出力を抑止します。複数の -e オプションを与えるこ とができます。各 -e オプションで1つの name のみを与えることができます。 -E name ルーチン name (およびその子孫) のグラフ プロファイルエントリーを上記の -e とし て出力するのを抑止し、全体およびパーセンテージ時間計算から、 name (およびその 子孫)に費やされる時間も除外します -E mcount -E mcleanup はデフォルトです。 -f name 指定されたルーチン name およびその子孫のグラフ プロファイルエントリーのみを出 力します。複数の -f オプションを与えることができます。各 -f オプションに1 つの name のみを与えることができます。 -F name ルーチン name およびその子孫のグラフ プロファイルエントリーのみを(上記の -f と して) 出力し、全時間およびパーセンテージ計算で出力されたルーチンの時間のみを 使用します。複数の -F オプションを与えることができます。各 -F オプションに1つ の name のみを与えることができます。 -F オプションは -E オプションに置き換わり ます。 -p -s prof が生成するような、簡単なプロファイルだけを出力します ( prof (1) を参照)。 指定された全プロファイルファイルにおける、全プロファイル情報を表すプロファイ ルファイル gmon.sum を作成します。この要約プロファイルファイルは、 gprof (でき る限り -s オプションを付けて) の次の実行に与えて a.out ファイルを何回も実行し て、プロファイルデータを蓄積することができます。 LD_PROFILE には、すべての 実行時に同じ文字列が設定されていなければなりません。 -t gprof の静的出力だけを生成します。このオプションは、テストのために使います。 このオプションを使うと、通常の gprof の出力にあるタイミング情報がすべて削除さ れ、呼び出しカウント情報だけが報告されます。 -z (呼び出しカウントおよび蓄積された時間によって示されるように) 使用されていない ルーチンを表示します。 環境変数 GPROFDIR は、プロファイルされるプログラムによって作成されるファイルの名前を制御します。 GPROFDIR が設定されていない場合、プログラムが終了時に gmon.out が現在のディレクトリ内に作成されま す。 GPROFDIR=string の場合、 string/ pid.progname が作成されます。 progname は argv[0] からパスプレ フィックスを削除したもので pid はプログラムのプロセス ID です。 GPROFDIR が null 文字列に設定されて いる場合、プロファイリング出力は作成されません。 Section 1-536 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 gprof(1) gprof(1) 多言語化対応 環境変数 LD_PROFILE プロファイル対象のモジュールを決定 LD_PROFILEBUCKET_SIZE プロファイルカウンタのサイズを制御 パスと、プロファイル対象のプログラムによって作成されるファイル名を制御 GPROFDIR 例 Itaniumベース システムの a.out と libtest.so のプロファイルを行うには、次のコマンドを使います。 $ cat > test.c void a() { printf("I in a\n"); } $ cc -c +Z -G test.c $ ld -b -o libtest.so.1 test.o $ ln -s ./libtest.so.1 libtest.so $ cat > main.c extern void a(); main() { printf("Hello world\n"); a(); } $ cc -G main.c -L. -ltest $ export LD_PROFILE=a.out:libtest.so $ export LD_PROFILEBUCKET_SIZE=16 $ ./a.out hello world I in a $ unset LD_PROFILE $ unset LD_PROFILEBUCKET_SIZE $ ls gmon.out gmon.out HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-537 gprof(1) gprof(1) $ gprof PA-RISC の libc.sl のプロファイルを行うには、次のコマンドを実行します。 $ cat > test.c main() { printf("hello world\n"); } $ cc test.c -lc $ ldd a.out /usr/lib/libc.2 => /usr/lib/libdld.2 => /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libdld.2 /usr/lib/libc.2 $ export LD_PROFILE=/usr/lib/libc.2 $ ./a.out hello world $ unset LD_PROFILE $ ls libc.2.profile libc.2.profile $ gprof /usr/lib/libc.2 libc.2.profile 警告 量子化エラーに注意してください。サンプリングの粒度が示されますが、統計に基づいたものにすぎません。 関数の各実行時間は、関数の全時間を関数呼び出し回数で割った数で表すことができると仮定されます。した がって、呼び出しグラフ円弧に沿ってその関数の親に伝幡された時間は、円弧のトラバース回数に正比例しま す。 プロファイル化されない親は、プロファイル化された子の時間を伝幡しますが、呼び出しグラフリストでは自 発的に呼び出されるようであり、その時間をさらに伝播しません。また、シグナルキャッチャーは、たとえプ ロファイル化されていても、自発的であるようです(理由は不明瞭ですが)。シグナルキャッチャーのすべての プロファイル化された子は、シグナルキャッチャーがプロファイリングルーチンの実行時に呼び出されない限 り、その時間を適切に伝播しなければなりません。実行時に呼び出されない上記の場合には、すべてが失われ ます。 PA-RISC の gprof 共有ライブラリには次のような制約があります。 • Section 1-538 ローカル、静的、隠し関数はプロファイリング対象になりません。 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 gprof(1) gprof(1) • -B symbolic によって作成される共有ライブラリはプロファイリング対象になりません。 • ライブラリ イニシャライザによって呼び出された関数は収集されません。 制約 gprof は、動的にリンクした実行可能プログラムとともに使用することはできません。 (HP-UX 10.20 以前のリ リースでは、 ld -A による)。 著者 gprof はカリフォルニア大学バークレイ校で開発されました。 ファイル a.out* デフォルトオブジェクトファイル gmon.out* デフォルトの動的な呼び出しグラフおよびプロファイル gmon.sum* 要約された動的な呼び出しグラフおよびプロファイル /usr/lib/gprof.callg* 呼び出しグラフの説明 /usr/lib/gprof.flat* フラットプロファイルの説明 /usr/lib/hpux32/libgprof.so Itaniumベース システムの gprof 32 ビット共有ライブラリ /usr/lib/hpux64/libgprof.so Itaniumベース システムの gprof 64 ビット共有ライブラリ /usr/lib/libgprof32.sl PA-RISC の gprof 32 ビット共有ライブラリ /usr/lib/pa20_64/libgprof.sl PA-RISC の gprof 64 ビット共有ライブラリ 参照 aCC(1), cc(1), cc_bundled(1), f90(1), ld(1), prof(1), exit(2), profil(2), sprofil(2), monitor(3C), smonitor(3C), crt0(3) gprof: A Call Graph Execution Profiler; Graham, S.L., Kessler, P.B., McKusick, M.K. Proceedings of the SIGPLAN ’82 Symposium on Compiler Construction; SIGPLAN Notices; Vol. 17, No. 6, pp. 120-126, June 1982. 『HP-UX リンカー & ライブラリ オンライン ユーザーズガイド』 (ld +help オプションを参照)。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-539 grep(1) grep(1) 名称 grep, egrep, fgrep − ファイルのパターン検索 構文 パターンによる単純な呼び出し grep [-E -F] [-c -l -q] [-bhinsvwx] pattern [ file ... ] 複数の −e パターンによる呼び出し grep [-E -F] [-c -l -q] [-bhinsvwx] -e pattern ... [-e pattern ] ... [ file ... ] −f ファイルによる呼び出し grep [-E -F] [-c -l -q] [-bhinsvwx] [-f pattern_ file ] [ file ... ] 旧形式 egrep [-cefilnsv] [ expression ] [ file ... ] fgrep [-cefilnsvx] [ strings ] [ file ... ] 説明 grep コマンドは入力テキストファイル file (デフォルトは標準入力) を検索して、パターンに一致する行を捜し ます。通常は、該当する行が見つかるごとに、これが標準出力にコピーされます。 grep は、基本正規表現の 構文をサポートしています (regexp(5)参照)。また、 -E オプション (egrep) は、拡張正規表現 (ERE) の構文をサ ポートしています (regexp(5)参照)。さらに、 -F オプション (fgrep) は、Boyer-Moore 高速文字列検索アルゴリ ズムに基づいて固定の strings を検索します。 -E および -F オプションは、 pattern の途中に含まれる改行を代 替文字として扱います。ヌルの式または文字列はすべての行に一致することになります。 下位互換の目的で、 egrep および fgrep の構文も提供されています。ただし、今後の移植性を考慮して、 -E お よび -F のオプションを使用するようにしてください。 オプション -E 拡張正規表現。指定したパターンはそれぞれ、 1 つ以上の ERE で構成される シーケンスになります。 ERE は改行文字で区切ることも、また -e expression オ プションでそれぞれ個別に指定することもできます。パターンは、指定した シーケンス中のいずれかの ERE が入力行の内容 (ただし、後続の改行文字を除 く) にマッチすると、一致していることになります。 egrep でも同じ機能が実行 されます。 -F 固定文字列。指定したパターンはそれぞれ、1つ以上の文字列になります。文字 列は改行文字で区切ることも、また -e expression オプションでそれぞれ個別に指 定することもできます。パターンは、指定したシーケンス中にいずれかの文字 列がその行に入っている場合に一致します。 fgrep でも同じ機能が実行されま す。 -b 各行の先頭に、その行が見つかった位置のブロック番号を付けます。これは、 コンテキストによってディスクのブロック番号を検出する場合に利用できま Section 1-540 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 grep(1) grep(1) す。なお、ブロック番号は、ファイルから読み取ったバイト数を 512 で割り、 その結果を切り捨てる方法で計算されます。 -c 一致した行の行数だけをプリントします。 -e expression 単純な expression だけの引き数と同じです。ただし、 expression がハイフン (−) で開始している場合に、利用できます。複数の -e オプションを使用して、複数 のパターンを指定することもできます。入力行は、指定したパターンのいずれ かに一致すると、選択されます。 -f pattern_ file 正規表現 expression (grep および grep -E) または文字列 strings のリスト (grep -F) を pattern_ file から読み取ります。 -h 複数のファイルを検索する時に、ファイル名を表示しません。 -i 比較処理の際に、大文字/小文字の区別を無視します。 -l 一致した行のあるファイルの名称を (1回だけ) 改行で区切ってリストします。標 準入力を検索の対象とする場合、POSIX 環境ではパス名として (standard input) が書き込まれます。 他の環境では (standard input) の代わりに、その環境に適切 なパス名が書き込まれます。 -n 各行の先頭に、ファイル内の相対行番号 (最初の行を1とします) を付けます。 この行番号は、検索対象のファイルごとにリセットされます。このオプション は、 -c, -b, -l, または -q を指定すると、無視されます。 -q (メッセージ表示なし) 一致した行の有無にかかわらず、標準出力には何も出力 されなくなります。一致する行を最初に検出した時点で、戻り値 0 で終了しま す。このオプションを指定すると、出力を生成するオプションは、すべて無視 されます。 -s ファイルが存在していない場合、またはファイルが読み取れない場合に生成さ れるエラーメッセージを抑制します。 -v -w 一致する行以外の行をすべてプリントします。 ワード全体を形成する一致を含む行だけを選択します。一致する副文字列は行 頭にあるか、あるいは非ワード構成文字が前にあるかを検査します。同様に、 行の末尾にあるか、非ワード構成文字が後ろに続くかを検査します。ワードの 構成文字は、英字、数字、および下線です。 -x (文字列全体の一致) 入力行全体が固定の文字列、または正規表現にマッチした 場合に限って、一致とみなされます。 複数の入力ファイルがある場合に、出力が生成されるときは必ず、ファイル名が出力されます。また、 expression の中で $, *, [, ˆ, |, (, ), および \ の文字を使用するときは、これらの文字がシェルに対して特殊な意味を持つ ので、注意が必要です。この場合は、 expression 引き数全体を単一引用符で囲む (’...’). のが安全な方法です。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-541 grep(1) grep(1) 多言語化対応 環境変数 LC_ALL および対応する環境変数(先頭が LC_ で始まる)がロケール変数を指定しない場合、 LANG がロケー ルカテゴリで使われるロケール変数を決定します。 LANG が設定されていないか空白文字列に設定されている 場合、 C がデフォルトとして使われます( lang(5) を参照)。 LC_ALL は、 LANG または先頭が LC_ で始まる環境変数によって設定されたロケールカテゴリ値に代わるロ ケール変数を決定します。 LC_COLLATE により、正規表現の評価に使用する照合順序が決定されます。 LC_CTYPE により、テキスト、英文字の分類、 -i オプションに対する大文字/小文字の情報、および正規表現 に使用するキャラクタクラスの式をシングルバイト、またはマルチバイトのいずれの文字で解釈するかを決定 します。 LC_MESSAGES により、メッセージの表示に使用する言語を決定します。 インターナショナル変数のいずれかの設定が不適当な場合には、コマンドはすべてのインターナショナル変数 が C に設定されているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 戻り値 grep は終了時に、次のいずれかの値を返します。 0 1つ以上の一致する行が検出された場合 1 一致する行が検出されない場合 2 構文エラーまたはファイルにアクセスできない場合 (一致する行が検出された場合も含む) 例 POSIXシェル (sh(1)) の場合、2つのファイルを検索し、4つの文字列のいずれかを含む行を捜します。 grep -F ’if then else fi’ file1 file2 grep -F に対して、文字列の最後とファイル名の先頭の位置を指示する場合、単一引用符が必要になります。 Cシェル ( csh(1) 参照 ) の場合、次のコマンドを使用することができます。 grep -F ’if\ then\ else\ fi’ file1 file2 次の内容を含む address という名前のファイルを検索する場合、 Ken 112 Warring St. Apt. A Judy 387 Bowditch Apt. 12 Section 1-542 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 grep(1) grep(1) Ann 429 Sixth St. 次のコマンドを使用すると、 grep Judy address 以下の結果が出力されます。 Judy 387 Bowditch Apt. 12 ファイルを検索して、 Dec または Nov のいずれかの文字列を含む行を捜す場合は、次のコマンドのどちらか を使用します。 grep -E ’[Dd]ec|[Nn]ov’ file egrep -i ’dec|nov’ file 現在のディレクトリのすべてのファイルを検索して、文字列 xyz を探します。 grep xyz * 現在のディレクトリのサブツリーのすべてのファイルを検索して、文字列 xyz を探し、その際、ファイル名展 開によってシステム引き数リスト制限を超えるエラーが発生しないようにします。 find . -type f -print |xargs grep xyz 前の例では、文字列 xyz のあるファイルの名称をプリントしません。 grep にファイル名をプリントさせるに は、コマンド行の grep コマンド部分に2番目の引き数を追加します。 find . -type f -print |xargs grep xyz /dev/null この形式では、最初のファイル名は find が生成するものであり、2番目のファイル名はヌルファイルです。 警告 (XPG4 専用) -q オプションを指定すると、エラーが検出された場合でも、入力ファイルを選択すると戻り値は ゼロとなります。指定しない場合は、デフォルトのアクションが取られます。 -w オプションが非ワード構成文字とともに指定されている場合、出力は予測不能です。 参照 sed(1), sh(1), regcomp(3C), environ(5), lang(5), regexp(5) 標準準拠 grep: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 egrep: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 fgrep: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-543 groups(1) groups(1) 名称 groups − グループメンバー権の表示 構文 groups [-p] [-g] [-l] [ user ] 説明 groups は、呼び出し元またはオプションで指定した user が所属するグループを示します。 groups を引き数な しで起動する場合、 getgroups() によって戻された現在のアクセスリストをプリントします( getgroups(2) を参 照)。 各ユーザーは、パスワードファイル /etc/passwd で指定したグループに所属し、ファイル /etc/group および /etc/logingroup で指定した他のグループに所属する可能性もあります。ユーザーは、ログイン時に /etc/passwd および /etc/logingroup で指定したグループのパーミッションを取得することができます。 /etc/group で指定し たグループのパーミッションは、 newgrp の使用についてのみ正常に利用できます( newgrp(1) を参照)。ユー ザー名をオプションなしで指定する場合、 groups はグループすべてをプリントします。 -p, -g, および -l オプションは、それぞれ /etc/passwd, /etc/group, および /etc/logingroup で指定したグループに プリントされたリストを制限します。ユーザー名をこれらのオプションのいずれかで指定しない場合、 cuserid() が呼び出されてデフォルトユーザー名を決定します( cuserid(3S) を参照)。 プリントされたグループのリストは、昇順の照合順序で並び換えられます(以下の環境変数を参照)。 多言語化対応 環境変数 LC_COLLATE は出力の並び換え順序を決定します。 LC_COLLATE がその環境で設定されていないか、または空の文字列に設定されている場合は、 LANG の値は デフォルトとして使用されます。 LANG が未指定か、または空の文字列に設定されている場合、デフォルトの ‘‘C’’( lang(5) を参照)が LANG の代わりに使用されます。多言語対応変数の内容が無効な設定である場合、多 言語対応変数がすべて‘‘C’’に設定されたものとして groups は動作します( environ(5) を参照)。 例 ファイル /etc/logingroup をチェックし、ユーザー tim が所属するグループをすべて表示します。 groups -l tim 著者 groups はカリフォルニア大学バークレー校で開発されました。 ファイル /etc/group /etc/logingroup /etc/passwd Section 1-544 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 groups(1) groups(1) 参照 id(1), newgrp(1), getgroups(2), initgroups(3C), cuserid(3S), group(4) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-545 head(1) head(1) 名称 head − 最初の数行のプリント 構文 head [-c -l] [-n count ] [ file ... ] 旧版 head [-count ] [ file ... ] 説明 head は、指定したそれぞれのファイルまたは標準入力の最初の count 行を標準出力にプリントします。 count を省略した場合、デフォルトは10になります。 複数の file を指定すると、 head は、それぞれのファイルの前に以下の形式の行を出力します。 ==> file <== オプション -c -count 出力量はバイト単位です。 出力のユニットの数。このオプションは逆互換性(以下の -n を参照)のために提供され、その 他すべてのオプションと互いに相容れません。 -l -n count 出力量は行単位となります。これはデフォルトです。 行( デフォルト)、またはバイト出力の数。 count は符号なし10 進整数です。 -n ( または、 -count) を与えなければ、デフォルトの量は10です。このオプションは、 -count オプションと 同じ機能を提供しますが、こちらの方が標準的です。システム間の移植性が重要な場合には、 -n オプションの使用をお勧めします。 多言語化対応 環境変数 LC_CTYPE ファイル内のテキストをシングルあるいはマルチバイトキャラクタとして解釈することを決定し ます。 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_CTYPE または LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定 または空白の各変数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白 文字列に設定されている場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 head は全ての国際化変数が"C"に設定されているように振る舞 います。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 Section 1-546 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 head(1) head(1) 警告 入力行の長さは、 {LINE_MAX} バイト以内に制限されています。 参照 tail(1), cat(1), more(1), pg(1) 標準準拠 head: SVID3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-547 hostname(1) hostname(1) 名称 hostname − 現在のホストシステム名の設定または表示 構文 hostname [name_of_host] 説明 hostname コマンドは、 gethostname() システムコール ( gethostname(2) を参照)で与えられるのと同様に現在の ホスト名を表示します。適切な特権を有するユーザは、引き数 name_of_host を指定してホスト名を設定するこ とができます。これは通常起動スクリプト /sbin/init.d/hostname で行います。引き数 name_of_host は、 <sys/param.h> で定義される MAXHOSTNAMELEN 文字数に限定されます。 ネットワーク製品がサポートされている場合、システムは別の名称で認識される場合もあります。該当するシ ステムのノード管理者のマニュアルを参照してください。 警告 引き数 name_of_host を指定した場合、その結果として行われるホスト名の変更が有効なのは、システムがリ ブートされるまでに限られます。ホスト名を永久に変更するには、特殊な初期化スクリプトの /sbin/set_parms を実行してください。 HP-UXでは各種のネットワクサービスをサポートしていますが、サービスによって割り当てシステム名と命名 規則が異なります。システムの動作を確実にするため、各種ネットワーキング機能が互いに作用する場合にシ ステム名 (ホスト名またはノード名とも呼ぶ) が競合しないように割り当てる必要があります。 システムは特定の場所にある単一のシステム名には依存しません。これは、以下に説明するようにサービスが 異なるとシステム名形式も異なるためです。 hostname および uname コマンドは、以下のようにシステム名を 割り当てます。 ノード名 コマンド name フォーマット 使用 インタネット名 hostname name sys[.x.y.z...] ARPA/NFS サービス UUCP 名 uname -S name sys uucp /関連プログラム ここで、 sys は割り当てシステム名を表します。 sys にはすべてのコマンドおよび場所で同じものを使用して ください。オプションの .x.y.z... は、特定の ARPA/NFS 環境の規定表記法に従います。 インタネット名は、ホスト名またはドメイン名と呼ぶこともあります (これはNSFのドメイン名とは異なりま す)。インタネットの命名規則の詳細については、 hostname(5) を参照してください。 上記のいずれかのコマンドまたはファイルでシステム名を変更する場合は、つねに他のすべての場所でも変更 しなければなりません。上記のファイルやコマンド以外にも ( uname を回避するために使用する場合の /etc/uucp/Permissions など)、システム名を含んでいたり変更するものがあります。正しい動作のためには、そ れらのコマンドやファイルにも同じシステム名を使用する必要があります。 システム名は、通常、起動時に /sbin/init.d/hostname スクリプトで割り当て、それ以外で変更してはいけませ Section 1-548 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 hostname(1) hostname(1) ん。 適切な構成オプションが有効になっている場合に限り、64バイトを超えるホスト名を設定できます。そのよう なホスト名を設定する前に、すべての関連ドキュメントの説明を完全に理解しておくことを強く推奨します。 64バイトより長いホスト名を使用すると、 hostname コマンドや gethostname() システム関数を使用してその名 前にアクセスするアプリケーションで、予期しない動作や不正な動作を引き起こす可能性があります。 著者 hostname は、カリフォルニア大学バークレー校で開発されました。 参照 uname(1), gethostname(2), sethostname(2), uname(2), hostname(5), nodehostnamesize(5). Using Your HP Workstation HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-549 hp(1) hp(1) 名称 hp − HP 2640およびHP 2621シリーズターミナルの特殊機能の操作 構文 hp [-e] [-m] 説明 hp は、多くの nroff 出力の正確な表示を生成することを第一の目的として、HP社 HP 2640、および HP 2621シ リーズのターミナルの特殊関数をサポートします。典型的な使用例は、以下のとおりです。 nroff -h files ... | hp ターミナルのハードウェアオプションとは関係なく、 hp は、アンダーラインおよび逆ラインフィードを適切 に処理しようとします。ターミナルが「表示修飾」機能を持つ場合は、下付き文字および上付き文字を異なる 方法で表示できます。ターミナルが「数学記号機能」を持つ場合は、ギリシア語および他の特殊文字が表示さ れます。 オプション hp が認識するオプションは以下のとおりです。 -e ターミナルには表示修飾機能があり、追加された表示モードを最大限に使用できることを 指定します。重ね打ち文字はアンダーラインモードで示されます。上付き文字は半輝度 モードで、下付き文字はアンダーラインモードで示されます。このフラグが省略される と、 hp は、ターミナルには「表示修飾機能」がないものと仮定します。この場合、すべて の重ね打ち文字、下付き文字、および上付き文字は反転表示モード、つまり黒地に白では なく、白地に黒で表示されます。 -m 改行を削除することにより、出力に圧縮を要求します。連続3回以上改行しても、連続2回 の改行に変換されます。つまり、連続した空白行は1行の空白出力行のみを生成します。こ れにより、実際のテキストをより多く画面上に保持できます。 診断 line too long 行の表現が1,024文字を超過しています。 戻り値 hp は、正常終了で0を、すべてのエラーで2を戻します。 警告 「重ね打ちシーケンス」は、後にバックスペースとまたその後に別のプリント文字が続くプリント文字として 定義されます。そのようなシーケンスでは、いずれかのプリント文字がアンダースコアならば、もう一方のプ リント文字はアンダーライン付きか、または反転表示で示されます。そうでなければ、最初のプリント文字だ けが示されます(これもアンダーライン付きか、または反転表示で示されます)。バックスペースが ASCII 制御 文字の前後にある場合は、何も特殊なことは行われません。制御文字(例えば、逆ラインフィードやバックス ペース)のシーケンスは、テキストを「消去」することができます。特に、縦のけい線がある tbl によって生成 Section 1-550 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 hp(1) hp(1) された表は、 hp に対する入力が col からパイプで送られない限り垂直行の「足となる部分」を内容とするテ キスト行をしばしば欠落します( col(1) を参照)。 ターミナルによっては上付き数字をサポートしますが、それらを表示する試みは行われません。 参照 col(1), neqn(1), nroff(1), tbl(1) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-551 hyphen(1) hyphen(1) 名称 hyphen − ハイフン付きのワードの検索 構文 hyphen [ files ] 説明 hyphen は、 files 内の行末のハイフン付きのワードをすべて探し出し、標準出力にプリントします。引き数を 与えなければ、標準入力が使用されます。したがって、 hyphen はフィルタとして使用できます。 例 textfile の nroff のハイフン付き校正ファイルを作成します。 mm textfile | hyphen 警告 hyphen はハイフン付きの italics ( つまりアンダーライン付きの) ワードに対処できません。しばしば、完全に ワードを欠落したり、台無しにすることもあります。 hyphen はときどき混乱状態になりますが、派生的な追加出力以外の悪影響は伴いません。 参照 mm(1), nroff(1) Section 1-552 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 iconv(1) iconv(1) 名称 iconv − コードセット変換 構文 iconv [-cs] −f frommap −t tomap [ file]... iconv [-cs] −f fromcode [-t tocode] [ file]... iconv [-cs] −t tocode [-f fromcode] [ file]... iconv −l 説明 iconv コマンドは、入力ファイルの文字のコードをあるコードセットから別のコードセットに変換し、その結 果を標準出力に書き出します。入力ファイルを与えないと、 iconv は標準入力から読み込みます。入力ファイ ル名として - が現われると、 iconv コマンドはその時点で標準入力を読み込みます。 - - は、オプションの終端 を区切るのに使用できます (getopt(3C) を参照)。 オプション iconv コマンドが認識するオプションは以下のとおりです。 -c 入力ファイルのコードセットでの無効な文字を削除し、出力しません。これはデフォ ルトです。 -f fromcode オプションの引き数 fromcode に対応するコードセットを、入力の変換前のコードセッ トとして識別します。オプションの引き数 fromcode にはスラッシュ文字を使うことは できません。このオプションが指定されない場合、現在のロケールのコードセットが 使われます。 -f frommap オプションの引き数 frommap にはスラッシュ文字が含まれていなければいけません。 charmap ファイルのパス名として解釈されます。 charmap ファイルに定義済みのコー ドセット名が解析され決定されます。 -l サポートされているすべての fromcode と tocode を標準出力に書き出します。これら は iconv 設 定 ファ イ ル /usr/lib/nls/iconv/system.config.iconv あ る い は /usr/lib/nls/iconv/config.iconv で定義されています。詳細は、 iconv(3C) を参照してくだ さい。 -s 標準エラーに出力される、無効な文字に関するエラーメッセージを抑止します。 -s の 指定の有無は iconv の終了ステータスには影響しません。 -t tocode オプションの引き数 tocode に対応するコードセットを、入力の変換後のコードセット として識別します。オプションの引き数 tocode にはスラッシュ文字を使うことはでき ません。このオプションが指定されない場合、現在のロケールのコードセットが使わ れます。 -t tomap オプションの引き数 tomap にはスラッシュ文字が含まれていなければいけません。 charmap ファイルのパス名として解釈されます。 charmap ファイルに定義済みのコー HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-553 iconv(1) iconv(1) ドセット名が解析され決定されます。 fromcode お よ び tocode の 名 前 に は、 iconv 設 定 ファ イ ル、 /usr/lib/nls/iconv/system.config.iconv お よ び /usr/lib/nls/iconv/config.iconv にリストされている任意のベース名とエイリアス名を使用できます。詳細は iconv(3C) を参照してください。サポートされているコードセット名のリストは設定ファイルを参照してくださ い。 多言語化対応 環境変数 LANG は、未設定またはヌルである言語変数にデフォルト値を設定します。 LANG が未設定またはヌルであ る場合は、"C" (lang(5) 参照) のデフォルト値が使用されます。使用する言語変数のいずれかに無効な値が入っ ていた場合は、 iconv コマンドはすべての関係する環境変数が"C"に設定されているとして動作します。 environ(5) を参照してください。 LC_ALL に空ではない文字列の値を設定すると、他のすべての言語変数の値は無視されます。 LC_CTYPE は、テキストをシングル/マルチバイト文字として解釈するか、プリント可能として文字を分類す るか、および文字が正規表現での文字クラス表現に一致するかを決定します。ファイルの変換時に、この変数 は fromcode オプション引き数に置き換えられます。 LC_MESSAGES は、標準エラーに書き込まれる診断メッセージと標準出力に書き込まれる情報メッセージの フォーマットと内容を決定するために使用される場所を決定します。 NLSPATH は、 LC_MESSAGES を処理するためのメッセージカタログの位置を決定します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 iconv は次の値を返します。 正常に終了しました。 0 エラーが発生しました。 >0 例 foo ファイルの内容をコードセット Roman8 から ISO 8859/1 に変換し、ファイル bar に結果を記憶します。 iconv -f roman8 -t iso8859_1 foo > bar 警告 入力文字に -t オプションにより選択されるコードセット("to"コードセット)に有効な対応がない場合、その変 換用に「Galley 文字」が定義されていれば、その Galley 文字にマッピングされます (genxlt(1) と iconv(3C) を参 照)。 入力文字が -f オプションにより選択されるコードセット("from"コードセット)に所属しない場合、コマンドは 終了します。 Section 1-554 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 iconv(1) iconv(1) ファイル /usr/lib/nls/iconv/config.iconv /usr/lib/nls/iconv/system.config.iconv ユーザーがカスタマイズ可能な iconv 設定ファイル システムの iconv 設定ファイル、オペレーティングシステムでサ ポートされるコードセット名が登録されています。 著者 iconv コマンドはHPで開発されました。 参照 getopt(3C), iconv(3C) 標準準拠 iconv: XPG2, XPG3, XPG4, UNIX 2003 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-555 id(1) id(1) 名称 id − ユーザーおよびグループの ID および名前のプリント 構文 id [-u] [-nr] [user] id [-g] [-nr] [user] id [-G] [-n] [user] id [-P] 説明 id コマンドは、メッセージを標準出力に書き出し、ユーザー ID とグループ ID と、プロセスの名前を与えま す。有効 ID と実 ID が異なる場合は、両方ともプリントされます。 プロセスに補助グループ (groups(1) を参照) があれば、補助グループ集団も作成されます。 user オペランドを指定し、プロセスが適切な権限を持っていれば、選択したユーザーのユーザー ID およびグ ループ ID が書き出されます。この場合、有効 ID は実 ID と同じであるものと仮定されます。指定されたユー ザーがグループデータベースに記述された複数のグループに属する場合、そのグループ情報も書きだされま す。 オプション 以下のオプションは、上記の動作を変更します。 -g グループ ID のみを表示します。デフォルトは有効グループ ID です。変更するには、 -r オプ ションを使用します。プロセスに有効グループ ID (または -r オプションを使用している場合 は、実 ID) とは異なる補助グループ集団がある場合、同じ行にそれぞれの集団を表示します。 デフォルトは 10 進数フォーマットです。変更するには、 -n オプションを使用します。 -G 異なる有効グループ ID、実グループ ID および補助グループ ID をすべてフォーマット"%u\n" を使用して出力します。別個のグループ集団が複数ある場合、それぞれの集団をフォーマッ ト" %u"を使用して出力します。集団の後には、それぞれ<newline>を出力します。 -n -u、 -g、または -G で、ID 番号の代わりに ID 名を表示します。 -r -u 、 -g または -G により、有効 ID ではなく実 ID を表示します。 -u ユーザー ID のみを表示します。デフォルトは有効ユーザー ID です。変更するには、 -r オプ ションを使用します。デフォルトは 10 進フォーマットです。変更するには、 -n オプションを 使用します。 -P プロセスのプロセスリソースグループ ID を、ユーザーおよびグループ の ID と名前ととも に、表示します。 -P オプションを指定すると、ユーザーを引数として指定しても無視されま す。「制約」の項にある HP プロセスマネージャの説明を参照してください。 Section 1-556 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 id(1) id(1) 戻り値 id から戻されるエラーコードは、以下のとおりです。 0 1 正常終了。 ユーザーが存在しないか、オプションが間違っているか、またはオプションの組合せが間違って います。 2 -P オプションを指定しましたが、PRM がサポートされていないかまたは構成されていません。 例 現在のユーザーおよびグループデータを表示させるには、 id のように入力すると、以下の結果が出力されます。 uid=1834(allanp) gid=20(users) 現在のプロセスのグループ ID 番号を表示させるには、 id -g のように入力すると、以下の結果が出力されます。 20 現在のプロセスのグループ名を表示させるには、 id -gn のように入力すると、以下の結果が出力されます。 users 別のユーザーのユーザーデータとグループデータを表示させるには、 id ralford のように入力すると、そのユーザーが適切な特権を持っている場合は以下の結果が出力されます。 uid=329(ralford) gid=20(users) 現在のプロセスの PRM グループ ID を表示させるには、 id -P のように入力すると、以下の結果が出力されます。 uid=329(ralford) gid=20(users) prmid=1(OTHERS) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-557 id(1) id(1) 制約 HP プロセスリソースマネージャ -P オプションでは、オプションの HP プロセスリソースマネージャ (PRM) ソフトウェアがインストールおよび 設定されていることが必要です。HP PRM の設定方法については prmconfig(1) を、プロセスリソースグループ についての詳細は prmconf (4) を参照してください。 著者 id は HP および AT&T で開発されました。 参照 groups(1)、logname(1)、getuid(2) HP プロセスリソースマネージャ : HP Process Resource Manager User’s Guide の prmconfig(1)、prmconf(4) 標準準拠 id: SVID2、SVID3、XPG2、XPG3、XPG4、POSIX.2 Section 1-558 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ident(1) ident(1) 名称 ident − RCS でのファイルの識別 構文 ident file ... 説明 ident は指定ファイルから、パターン $keyword:...$ のすべての出現箇所を検索します。その際の keyword は以 下のうちのどれかです。 Author Log Date Revision Header Source Locker State これらのパターンは通常 RCS co コマンドによって自動的に挿入されますが、マニュアルでも挿入できます( co(1) を参照)。 ident はテキストファイルおよびオブジェクトファイルに対して処理を行います。例えば、ファイル f.c のCプ ログラムの内容が以下のようなもので、 char rcsid[] = "$Header: Header information $" ; さらに、 f.c が f.o にコンパイルされる場合、コマンド ident f.c f.o は以下をプリントします。 f.c: $Header: Header information $ f.o: $Header: Header information $ 著者 ident はWalter F. Tichyによって開発されました。 参照 ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(5), rcsmerge(1), rlog(1), rcsfile(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-559 idlookup(1) idlookup(1) 名称 idlookup − 特定のTCP接続のユーザーの識別 構文 idlookup host-or-ip-number local-port foreign-port 説明 idlookup を使用して TCP 接続のリモート終端のユーザーを識別することができます。この時、反対側のホス トがサーバを実行しているものとみなします。 host-or-ip-number は、接続の反対側のホスト名またはそのIPアドレスです。 local-port と foreign-port は、ポート番号、または接続の両終端のポートのサービス名です。 警告 local-port と foreign-port に関する記述はRFC931の用語に従っており、ユーザーではなく サーバの観点であるこ とに注意してください。 著者 idlookup の原点は Peter Eriksson が作成したものです。マニュアルページの原作者は Dave Sheild です。 参照 sendmail(1M), identd(1M), RFC931 Section 1-560 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ied(1) ied(1) 名称 ied − 対話型プログラムの入力エディタおよびコマンド履歴 構文 ied [−dirt] [−h file] [−k charmap] [−p prompt] [−s size] utility [arguments]... 説明 ied ユーティリティコマンドは、ユーザーと bc , bs またはシェルなどの対話型プログラムとの間のインタ フェースとして機能することを意図しており、コーンシェルにあるほとんどのラインエディットおよび履歴機 能があります。 ied は、 utility の名前を実行対象のコマンドとして解釈し、 arguments を引き数としてユー ティリティに渡します。そして、 utility に対する以降の入力で、ほとんど ksh と同様のエディットおよび履歴 関数にアクセスします。 ied は、コマンドを実行するために使用するptyの状態をモニタし、アプリケーションを実行すると必ず ied が 起動したときのtty の状態から ied が「透過」になるよう状態を変更します。これにより、プログラムはスク リーン指向のプログラムにシェルエスケープすることができます。一般に、 ied は、フロントエンドを提供す る対象のプログラムがとるアクションを絶対に妨害してはなりません。これには、コーンシェル自体も含まれ ます。この場合、 ied は ksh により実行された任意のアプリケーションの履歴を提供し、 ksh は独自の独立し た履歴を提供します。便利で極端な例では、 ied はログインシェルのフロントエンドとして使用できます( ksh または csh とすることが可能です)。この場合、通常のラインエディットを使用するアプリケーションはすべ て、ラインエディットおよび履歴を得て、1つの履歴を共有します。シェルは、そのようなメカニズムの場合 は独自の独立した履歴をとり続けます。 ied が透過モードの場合、履歴はセーブされません。特に、 vi の ex モードは通常のラインエディットを使用せ ず(シミュレートします)、この場合 ied は履歴を提供できません。また、mailxの主題ヘッダ部およびアドレス ラインも ied でエディットできません。 オプション ied の動作を制御するオプションおよびコマンド行引き数がいくつかあります。 −d デバッグモードプログラムの動作に関する情報をプリントします。プログラムが思い かけず ied を透過モードにしたかどうかを判定するのによく使用します。 −h filename 履歴を filename という名前のファイルに保存します。その名前のファイルがすでに存 在し、またそれが履歴ファイルならば、その後半を( −s オプションにより指定した最 後の size 行)履歴の初期値として使用されます。 −h オプションを使用しないと、環境 変数 IEDHISTFILE が名前として使用されます。どちらも存在しない場合、無名のテ ンポラリファイルを使用して、初期値は与えられません。 −i 対話モードを強行します。通常 ied は、標準入力がttyでない場合、フロントエンドと なるように要求したコマンドを単に exec するだけです(これにより、動作を妨害する ことなくシェルで使用するコマンドにエイリアスを使用できます)。このオプション により、 ied は強制的にフロントエンドとされます。エディット機能はすべて有効で す。これにより、対話モードおよびバッチモードで異なる動作をするユーティリティ HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-561 ied(1) ied(1) を対話モードでパイプまたはファイルから駆動することができます。これは、この区 別を行うコマンドのテストに特に有効です。 −k charmap charmap は、256行以下のファイルです。ファイルの行番号は ied による入力そのもの の文字の番号であり、その行にある文字は出力として生成される文字です( また、エ ディト文字として使用されます)。これにより、Dvorak キーボードと同様に( 通常の) キーを再マッピングすることができます。文字は各行の1カラムから始まり、1∼4文 字とその後のスペースまたは次行の改行文字として表さなければなりません。スペー スの後の文字は、コメントとして無視されます。 1文字のエントリーは、それ自体を 表します。最初の文字が脱字符号 (ˆ) である2文字のエントリーでは、2番目の文字を 対応する制御文字に変換します。最初の文字がバックスラッシュ (\) である2 文字の シーケンスでは、C言語規約を使用します。 \n \\ \r \t \b newline escape return tab \s \0 \f \v space null form feed vertical tab backspace 3文字および4文字のシーケンスは、文字の8進値で \nn または \nnn, でなければなりま せん。 charmap は長さが256 行未満の場合、残りの文字はそれ自体にマップされま す。 −p prompt 多くのコマンドは、入力の準備が整っている場合にプロンプトを出しません。 ied は、そのようなコマンドのプロンプトメカニズムに類似しています。これはつねに まったく正常に行なわれるとは限りませんが、多くのコマンドで役立ちます。最悪の 場合、プロンプトが誤った位置で出力されます。 prompt は printf() ( printf (3S) を参 照) へのフォーマット引き数で使用される文字列です。含めることが可能な唯一の % 変換は、コマンドの連番に変換される %d の1インスタンスまで、およびリテラルの % 文字として処理される %% の任意の数の出現箇所です。 ied が透過モードで動作 する際、プロンプトは抑止されます。 −r これは、「非raw」モードを設定します。通常、 ied は単純なテキストを読み込む際 は独自のエディット機能を使用します。これにより、ほとんどの場合 ied はttyの行規 則を使用します。デフォルトモードの欠点は、より多くのコンテクストスイッチおよ び汎用処理が要求されることです。長所は、 ied がより透過ということです。例え ば、特に非rawモードでファイルの終端を送るには、ファイルの終端文字(通常Ctrl-D) の後にキャリッジリターンがあることが必要です。また、「リテラルネクスト」関数 (Ctrl-V)は、行削除および行消去の機能を非rawモードでエスケープさせることはでき ません。 Section 1-562 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ied(1) ied(1) −s size このオプションは、履歴バッファのサイズを指定します。 ied が既存の履歴ファイル で起動された場合、おおよそ最後の size 行は履歴メカニズムで利用可能です( 行数 は、 size ちょうどとなるとは保証されません)。ファイルの他の行は、 ied がその履 歴ファイルで起動され、サイズが約4Kバイトを超過するまで保持されます。そして、 その時点で ied は、サイズが4KBに近くなるまで、古いエントリーをファイルの先頭 から廃棄します。これは起動時のみに行われるため、履歴ファイルは再起動までの間 に非常に大きくなる可能性があります。 size の値を大きくすると、プロセスイメージ も大きくなります。 −s を指定しないと、環境変数 IEDHISTSIZE の値が使用されます。どちらも指定しな いと、デフォルトが使用されます。 −t 透過モードを設定します。これにより永久に、 ied は( 上記のように) 強制的に透過 モードとなります。自動化された処理のクラスによっては、主に −i が便利です。特 に、 ied がエディット文字として解釈するものをコマンドが入力として取得する場 合、コマンドを駆動するのに便利です。したがって、 −i および −t を適切に組み合わ せることにより、 vi などのエディタまたはスクリーン指向のアプリケーションをバッ チファイルから駆動することが可能です。 ied で異常が生じると、通常 SIGQUIT シグナルを3回繰り返して ied を打ち切ります。例外は、完全な透過ア プリケーションの場合で、 ied は別のウィンドウまたはターミナルから終了しなければなりません。これは、 動作させたプロセスにそれ自体を終了するよう指示する方法がない場合のみに適用されます。 ied のエディット機能は、本質的に ksh にあるものです。 ksh と異なるものは以下に説明します。 ksh と同 様、エディットのスタイルは環境変数の VISUAL 、または VISUAL を指定しない場合は EDITOR から決定し ます。調べられる値は、エディタタイプを指定する vi, emacs, または gmacs でなければなりません。そうでな い場合、 ied は何らエディットを行わず、また履歴にアクセスできません。 vi モード J 行を結合します。最後にエディットされた行( 行がアプリケーションに送られた直後 は空) が履歴の「最終行」であると考えると、履歴から表示されている現在の行はそ の最終行の終わりに追加され、履歴での位置は最終行になるようリセットされ、それ が表示されます。最終行の古いテキストと新しいテキストとの間にはスペースが挿入 されます。カーソルは、そのスペース上にあります。 ied は行の継続を最小で理解す るため、長い文をエディットするのに便利です。 v サポートされません。 V サポートされません。 # アプリケーションには何も送りませんが、履歴に行を挿入します( 履歴ファイルにコ メントを追加するのに便利です)。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-563 ied(1) ied(1) ESC,*,= (ファイル名の展開) サポートされません。 @ マクロ展開は、サポートされません。 ただし、 ksh には、あまり使用しない機能 _ があり、前行からワードを置き換えるこ とができます(これは、マクロの $_ ではなく、エディタコマンドです)。前の count が 与えられた場合、最終行の count 番目のワードを使用します。これは ied で非常に有 効です。 emacs/gmacs モード M-*, M-=, M-ESC (ファイル名の展開) サポートされません。 コマンド M-. (および同義語 M-_ )では、 vi モードの _ コマンドと同じ機能があるこ とに注意してください。 マクロ展開 サポートされません。 サポートされますが、つねに正しく画面に表示されるとは限りません。 ˆL コマンド ˆO は行を再描画するのに使用できます。プロンプトについては、以下を参照してくださ い。 例 bc コマンドに対話型エディットを追加します。 ied bc script から得られるコマンドを使用して testfile に対して vi を実行します。 cat script | ied -i -t vi testfile ied を使用しないと、 vi はその標準入力がターミナルデバイスではないために誤った動作をすることに注意し てください。この場合、 vi がそれ自体をrawモードにするため −t は必要ではありませんが、それを行わないア プリケーションでは −t は必要です。 コマンド行 ied -i -t grep ’ˆx:’ data_file | tee x_lines は、ファイル data_file から x: で始まる行を検索し、以下のコマンド行のように、コピーをターミナルとその 次にファイル x_lines に送ります。 grep ’ˆx:’ data_file | tee x_lines 相違点は、 ied のないコマンド行では grep は直接パイプに書き込み、その出力をバッファすることです。 data_file が非常に大きく、またあまりパターンに一致する行がない場合、ターミナルへの出力は遅延します。 ied を使用して、 grep の出力を代わりにptyに送ります。これにより、 grep は準備が整った各行を出力できま す。 Section 1-564 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 ied(1) ied(1) 警告 ied はあらゆるアプリケーションに対応できるとは限らないため、タイミングかプロンプトのいずれかが、ア プリケーションで不適切となる可能性があります。 ied は必須ではないため、アプリケーションをさらに利用 するのに ied が必要かどうかを判断するのはユーザーの選択によります。しかし、一般に ied を混乱させない プログラムは大きな利益を得ることができます。 ied は、それ自体でプロンプトが与えない場合に現在アクティブなプロンプトを知ろうとします。ただし、つ ねに成功するとは限りません。正常終了した場合でも、 ied とサービスを受けるコマンドのタイミングは、出 力を乱す可能性があります。 emacs および vi モードにおける ˆL コマンドは、エディット行を再描画します。 これは一定の規則性があるので次のコマンドを作成するのに利用できます。 著者 ied はHPで開発されました。 参照 bc(1), bs(1), csh(1), ex(1), grep(1), ksh(1), vi(1), printf(3S) HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-565 insertmsg(1) insertmsg(1) 名称 insertmsg − findstr(1)出力を使用してcatgets(3C)の呼び出しを挿入 構文 insertmsg [-h] [-nnumber ] [-iamount ] [-snumber ] stringlist 説明 insertmsg は、ローカライズする必要のないすべての文字列を削除済みの findstr の出力と仮定されるファイル stringlist を、検査します( findstr(1) を参照)。 -h オプションを指定すると、 insertmsg は以下の行を stringlist で 指定された各ファイルの先頭に置きます。 #ifndef NLS #define catgets(i,sn,mn,s) (s) #else NLS #define NL_SETN number #include <nl_types.h> #endif NLS ただし、 number は -s オプションにより定義されるセット番号で、デフォルトは 1 です。 stringlist の各文字列 ごとに、 insertmsg は対応するファイルの文字列を以下の形式の式で囲みます。 (catgets(catd,NL_SETN,msg_num,"default string")) default string は stringlist の行により参照される元の文字列であり、 msg_num はその文字列に割り当てられる メッセージ番号で置き換えられます。割り当てられたメッセージ番号は、 -n オプションで定義した番号から始 まり、 -i オプションで定義した分だけ増加されます。デフォルトは、開始メッセージ番号および増加分ともに 1 です。 name.c が stringlist ファイル内で指定された修正ファイルの場合、 insertmsg は修正されたソースを nl_name.c に置きます。ユーザーは次に、ファイル nl_name.c をマニュアルでエディットし、以下の文を挿入し なければなりません。 nl_catd catd; catd = catopen("appropriate message catalog",0); データ型 nl_catd の定義は <nl_types.h> にあり、 catd は stringlist から各文字列に挿入される catgets の呼び出 しに対するパラメータです。 また、 insertmsg は gencat に対する入力として使用できるファイルを標準出力に送ります( gencat(1) を参照)。 多言語化対応 環境変数 LC_CTYPE は、テキストの解釈をシングルバイトおよびマルチバイト文字、またはそのどちらかに決定しま す。 LC_MESSAGES はメッセージ表示の言語を決定します。 LC_CTYPE または LC_MESSAGES を環境で指定しない場合、または空の文字列に設定した場合、 LANG の Section 1-566 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 insertmsg(1) insertmsg(1) 値は、各未指定または空の変数のデフォルトとして使用されます。 LANG を指定しない場合、または空の文字 列に設定した場合、 LANG ではなく"C"のデフォルトを使用します( lang(5) を参照)。国際変数に無効な設定値 が含まれる場合、 insertmsg はすべての国際変数が"C"に設定されているものとして動作します。 environ(5) を 参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされます。 診断 insertmsg で、文字列ファイルのオープンまたはクローズに必要な二重引用符が見つからない場合、 insertmsg exiting : lost in strings file をプリントして打ち切ります。このような場合、そこで保持されていた行が変更され ていないことを確認するために、文字列ファイルをチェックしてください。 警告 -h オプションを使用しない場合、 insertmsg により作成されるファイルに、以下の文をマニュアルで追加する 必要があることもあります。 #include <nl_types.h> insertmsg は、呼び出しごとにオーバライトされる、静的な領域へのポインターを挿入します。 insertmsg はHP独自のコマンドです。異機種のシステムへは移植できません。HP-UXの将来のリリースではサ ポートされません。 著者 insertmsg は、HPで開発されました。 参照 findstr(1), gencat(1), catgets(3C), catopen(3C) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-567 iostat(1) iostat(1) 名称 iostat − I/O 統計情報のレポート 構文 iostat [−t] [−L] [ interval [ count ] ] 説明 iostat は I/O 統計情報をシステム上のアクティブな各ディスクごとに繰り返してレポートします。ディスクデー タは4段フォーマットで編成されます。 カラムヘッダ 説明 device デバイス名 bps 秒当たり転送Kバイト sps 秒当たりシーク数 msps 平均シーク当たりミリ秒 2基以上のディスクがある場合、各ディスクごとに、連続する行にレポートされます。この情報を計算するに は、シーク、データ転送の完了、および、転送ワード数を各ディスクごとにカウントします。また、各ディス クの状態も( <sys/param.h> で定義されるように)1秒間に HZ 回ずつ検査され、ディスクがアクティブならば計 算が行われます。これらの数値は(各装置ごとの平均シーク当たりミリ秒を判定するために)各装置の転送レー トと合わせることができます。 データストライピング(1度のデータ転送で複数のディスクにデータを渡すもの) などの新技術の採用により、 平均シークごとにかかる時間の計算を正確に行うことは難しくなりました。システムのその時点の条件により 大幅に異なる可能性があり、近似値としての意味しか持たなくなっています。このため、この平均シーク当た りミリ秒 (msps) の値は、以前のシステムとの互換性を保持するため 1.0に固定されています。 オプション iostat は以下のオプションおよびコマンド行の引き数を認識します。 −t ターミナル統計情報およびディスク(またはlunpath)統計情報をレポートします。 −L オプ ションと共に使用すると、lunpathとターミナルの統計情報が表示されます。ターミナル 統計情報には以下のようなものがあります。 tin ターミナルから読み出される文字数 tout ターミナルに書き出される文字数 us システム ( アクティブプロセッサ) がユーザーモードに費やした時間のパーセン テージ ni システム (アクティブプロセッサ) が低い優先順位 (nice された) のプロセスを実 行するユーザーモードに費やした時間のパーセンテージ sy システム ( アクティブプロセッサ) がシステムモードに費やした時間のパーセン テージ Section 1-568 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 iostat(1) iostat(1) id システム (アクティブプロセッサ) がアイドリングに費やした時間のパーセンテー ジ interval 最後の interval 秒間にわたる要約を連続した行で表示します。レポートされる最初の行は リブート以降の時間のもので、それより後の各行は最後の間隔のもののみです。 count −L 統計情報を count 回繰り返します。 アクティブな lunpath 統計情報をレポートします。 −t オプションと共に使用した場合、 lunpath と ターミナル両方の統計情報がレポートされます。 lunpathは特定の順番では表示 されず、将来のリリースでこの順番が変わることがあります。 lunpath データは4列の フォーマットで並べられます : lunpath lunpath の記号名は diskm_lunpathn の形式になります。ここで m は LUN の イ ン ス タ ン ス 番 号、 n は lunpath の イ ン ス タ ン ス 番 号 で す。 例 え ば、 disk47_lunpath7 では m は 47 で n は7です。 LUN と lunpath のインスタン ス番号は、 ioscan に −N オプションをつけて実行すれば表示されます。 LUN と lunpath のハードウェアパスについては intro(7) を参照してくださ い。 bps 1秒あたりの転送 K バイト。 sps 1秒あたりのシーク数。 msps 平均シークあたりのミリ秒。 lunpath が複数ある場合、データはアクティブな lunpath ごとに連続した行で表示されま す。アクティブな lunpath が無い場合、空白行が表示されます。 例 全ディスクの現在の I/O 統計情報を示します。 iostat INTERRUPT または QUIT が押されるまで、全ディスクの I/O 統計情報を 10秒ごとに表示します。 iostat 10 全ディスクの I/O 統計情報を10秒ごとに表示し、5回読み出した後終了します。 iostat 10 5 全ディスクの I/O 統計情報を10秒ごとに表示し、また、ターミナルとプロセッサーの統計情報も表示します。 5回読み出した後終了します。 iostat -t 10 5 すべてのアクティブな lunpath の I/O 統計情報を表示します。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-569 iostat(1) iostat(1) iostat -L INTERRUPT または QUIT が押されるまで、すべてのアクティブな lunpath の I/O 統計情報を 10 秒ごとに表示 します。 iostat -L 10 すべてのアクティブな lunpath の I/O 統計情報を 10 秒ごとに表示し、5回読み出した後終了します。 iostat -L 10 5 すべてのアクティブな lunpath の I/O 統計情報と、ターミナルとプロセッサの統計情報を 10 秒ごとに表示し、 5回読み出した後終了します。 iostat -L -t 10 5 警告 iostat を使用しているユーザーは、フィールド幅と出力のスペースに関するシステムの数値が若干正確さに欠 けることに注意してください。これらの数値はシステム、HP-UXのリリース番号、表示するデータによって異 なるからです。 著者 iostat はカリフォルニア大学バークレイー校およびHPで開発されました。 ファイル /usr/include/sys/param.h 参照 vmstat(1), ioscan(1M), intro(7). Section 1-570 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ipcrm(1) ipcrm(1) 名称 ipcrm − メッセージキュー、セマフォセット、または共用メモリ識別子の削除 構文 ipcrm [options]... 説明 ipcrm は単一または複数の指定メッセージ、セマフォ、または共用メモリ識別子を削除します。 オプション 識別子は以下の option によって指定されます。 -m shmid 共有メモリ識別し shmid を識別子から削除し、これと対応する共用メモリセグメント およびデータ構造を破壊します。 -q msqid システムからメッセージ待ち行列識別子 msqid を削除し、これと対応するメッセージ 待ち行列およびデータ構造を破壊します。 -s semid システムからセマフォ識別子 semid を削除し、これと対応するセマフォおよびデータ 構造のセットを破壊します。 -M shmkey キー shmkey で作成された共用メモリ識別子をシステムから削除します。これと対応 する共用メモリセグメントおよびデータ構造は最後のデタッチの後で破壊されます。 -Q msgkey msgkey によって作成されたメッセージキュー識別子をシステムから削除し、これと対 応するメッセージキューとデータ構造をを削除します。 -S semkey キー semkey で作成されたセマフォ識別子をシステムから削除し、これと対応するセ マフォおよびデータ構造のセットを破壊します。 削除の詳細については、 msgctl(2), shmctl(2), および semctl(2) に説明があります。識別子およびキーは ipcs を 使って探すことができます (ipcs(1) を参照)。 参照 ipcs(1), msgctl(2), msgget(2), msgop(2), semctl(2), semget(2), semop(2), shmctl(2), shmget(2), shmop(2) 標準準拠 ipcrm: SVID2, SVID3 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-571 ipcs(1) ipcs(1) 名称 ipcs − プロセス間通信機能のステータスの報告 構文 ipcs [-mqs] [-abcopt] [-C core] [-N namelist] 説明 ipcs は、プロセス間通信のアクティブな機能に関する情報を表示します。オプションが指定されない場合、 ipcs はシステム内で現在アクティブなメッセージ待ち行列、共有メモリセグメント、およびセマフォに関する 情報を短縮形式で表示します。 オプション 以下のオプションは、表示される情報を限定します。 (なし) -mqs と同じです。 -m アクティブな共有メモリセグメントに関する情報を表示します。 -q アクティブなメッセージ待ち行列に関する情報を表示します。 -s アクティブなセマフォに関する情報を表示します。 以下のオプションは、表示されるデータカラムを指定します。後述の「カラムの説明」の項を参照してくださ い。 (なし) デフォルトカラムを表示します。すべての機能に対し、以下のカラムを表示します。 T, ID, KEY, MODE, OWNER, GROUP -a -b 適切な全カラムを表示します。これは -bcopt と同じです。 最 大 可 能 サ イ ズ に 関 す る 情 報 を 表 示 し ま す。 メッ セー ジ 待 ち 行 列 に 対 し て QBYTES、共有メモリセグメントに対して SEGSZ、セマフォに対して NSEMS を表 示します。 -c すべての機能に対し、作成者のログイン名とグループ名、すなわち CREATOR と CGROUP を表示します。 -o 未 処 理 の 使 用 状 況 に 関 す る 情 報 を 表 示 し ま す。 メッ セー ジ 待 ち 行 列 に 対 し て CBYTES、 QNUM、共有メモリセグメントに対して NATTCH を表示します。 -p プロセス番号情報を表示します。メッセージ待ち行列に対して LSPID、 LRPID、共 有メモリセグメントに対して CPID、 LPID を表示します。 -t 時間情報を表示します。すべての機能に対して CTIME、メッセージ待ち行列に対し て STIME、 RTIME、共有メモリセグメントに対して ATIME、 DTIME、セマフォ に対して OTIME を表示します。 以下のオプションは、情報のソースを再定義します。 Section 1-572 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ipcs(1) ipcs(1) -C core core を /dev/kmem の代りに使用します。 core は、 savecrash または savecore によっ て作成されたディレクトリまたはコアファイルです。 -N namelist ファイル namelist または core 内の namelist を /stand/vmunix の代りに使用します。こ れはクラッシュダンプを読み取り用にオープンします。詳細は cr_open(3) を参照して ください。 カラムの説明 以下に、 ipcs が表示するカラムの見出しと各カラムの意味をあげます。各カラムは以下の順番に従って左から 右へプリントされます。 T ID KEY 機能種別 m 共有メモリセグメント q メッセージ待ち行列 s セマフォ 機能項目の識別子 機能項目を作成するため、 msgget()、 semget()、または shmget() への引き数として使 用されるキー (注記: 共有メモリセグメントのキーは、セグメントが削除されたとき、 それに結び付けられている全プロセスが切り離されるまで、 IPC_PRIVATE に変更さ れます)。 MODE 機能アクセスモードおよびフラグ。モードは、以下のように解釈される11個の文字か ら構成されます。 次に、最初の2文字をあげます。 R プロセスは msgrcv() の処理を待機中です。 S プロセスは msgsnd() の処理を待機中です。 D 関連する共有メモリセグメントは削除されました。このセグメントに結合して いた最後のプロセスが切り離されたとき、このセグメントは消滅します。 C 関連する共有メモリセグメントは、最初の結合(アタッチ)が実行されたときに、 クリアされます。 - 対応する特殊フラグが設定されていません。 次の9文字は、それぞれ3文字から成る3組のフラグとして解釈されます。最初の1組は 所有者のパーミッションを示し、次の 1 組はその機能項目のグループ内の他のユー ザーのパーミッションを示し、最後の1組はその他のパーミッションを示します。 各組の中で、最初の文字は読み取りパーミッションを示し、第 2 の文字は書き込み パーミッションまたは機能項目の変更パーミッションを示しますが、最後の文字は現 在のところ未使用です。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-573 ipcs(1) ipcs(1) r 読み取りパーミッションが付与されています。 w 書き込みパーミッションが付与されています。 a 変更パーミッションが付与されています。 - パーミッションが付与されていません。 OWNER 機能項目の所有者のログイン名。 GROUP 機能項目の所有者のグループのグループ名。 CREATOR 機能項目の作成者のログイン名。 CGROUP 機能項目の作成者のグループのグループ名。 CBYTES 関連するメッセージ待ち行列中で、現在未処理のメッセージのバイト数。 QNUM 関連するメッセージ待ち行列中で、現在未処理のメッセージの数。 QBYTES 関連するメッセージ待ち行列中で、未処理のメッセージに許される最大バイト数。 LSPID 関連するメッセージ待ち行列にメッセージを送信した最後のプロセスのプロセスID。 LRPID 関連するメッセージ待ち行列からメッセージを受信した最後のプロセスのプロセス ID。 STIME 関連するメッセージ待ち行列に msgsnd() がメッセージを最後に送信した時刻。 RTIME 関連するメッセージ待ち行列から msgrcv() がメッセージを最後に受信した時刻。 CTIME 関連する機能項目が作成または変更された時刻。 NATTCH 関連する共有メモリセグメントに結び付けられたプロセスの数。 SEGSZ 関連する共有メモリセグメントのサイズ。 CPID 共有メモリセグメントを作成したプロセスのプロセスID。 LPID 共有メモリセグメントに最後に結合または切り離しを行ったプロセスのプロセスID。 ATIME 関連する共有メモリセグメントに対し、 shmat() による結合が最後に完了した時刻。 DTIME 関連する共有メモリセグメントに対し、 shmdt() による切り離しが最後に完了した時 刻。 NSEMS OTIME セマフォエントリーと関連するセット中のセマフォの数。 セマフォエントリーと関連するセットに対し、 semop() によるセマフォオペレーショ ンが最後に完了した時刻。 警告 ipcs は、実際のシステムステータスの近似値を示すにすぎません。その理由は、 ipcs が要求された情報を収集 している間も、システムプロセスは絶えず変化しているからです。 Section 1-574 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ipcs(1) ipcs(1) 出力のフィールド幅とスペースは、使用中のシステム、HP-UXのリリース、および表示されるデータによって 異なるので、これらに基づいた処理をしてはいけません。 ファイル /dev/kmem カーネル仮想メモリ /etc/group グループ名 /etc/passwd ユーザー名 /stand/vmunix システム ネームリスト 参照 msgop(2), semop(2), shmop(2) 標準準拠 ipcs: SVID2, SVID3 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-575 join(1) join(1) 名称 join − リレーショナルデータベース演算子 構文 join [ options ] file1 file2 説明 join は、標準出力に対して、 file1 および file2 の行により指定される2つの関係の結合を形成します。 file1 ま たは file2 が - の場合、標準入力が使用されます。 file1 および file2 は、結合されるフィールドに関して照合順序(以下の環境変数を参照)が昇順に並んでいなけれ ばなりません。通常、フィールドは各行の先頭です。 出力は、同じ結合フィールドの file1 と file2 の組の行ごとに1行となります。通常、出力行は共通のフィールド とそれに続く file1 からの残りの行さらに file2 からの残りの行で構成されます。 デフォルトの入力フィールドセパレータは、スペース、タブ、または改行です。この場合、複数のセパレータ は 1 つのフィールドセパレータとして数えられ、先行するセパレータは無視されます。デフォルトの出力 フィールドセパレータはスペースです。 以下のオプションの中には、引き数 n を使用するものもあります。この引き数は file1 、 file2 によってそれぞ れ 1 または 2 となります。 オプション -a n 通常の出力に加えて、ファイル n で組にできない行ごとに1行を生成します。ただし、 n は 1 ま たは 2 です。 -e s 空の出力フィールドを文字列 s に置き換えます。 -j m 両方のファイルのフィールド m について結合を行います。引き数 m はスペース文字で区切らな ければなりません。このオプションおよび以下の2つは、逆互換のために提供されます。移植性 を考慮すると、 -1 および -2 オプション(以下を参照)を使用するようにお勧めします。 -j1 m file1 のフィールド m に対して結合を行います。 -j2 m file2 のフィールド m に対して結合を行います。 -o list 各出力行は、 list で指定されるフィールドから構成されます。ただし、その各要素には形式 n.m があり、 n はファイル番号、また m はフィールド番号です。特に要求しない限り、共通のフィー ルドはプリントされません。 -t c セパレータ(タブ文字)として文字 c を使用します。行中に c がある場合、それには意味がありま す。文字 c は、入出力でフィールドセパレータとして使用されています。 -v file_number デフォルトの出力のかわりに、 file_number において組でない行ごとにのみ1行を生成します。た だし、 file_number は 1 または 2 です。 Section 1-576 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 join(1) join(1) -1 f ファイル1のフィールド f に対して結合を行います。フィールドの番号は、1から始まります。 -2 f ファイル2のフィールド f に結合します。フィールドの番号は、1から始まります。 多言語化対応 環境変数 LC_COLLATE は、 join が入力ファイルから予測する照合順序を決定します。 LC_CTYPE は代替空白文字を入力フィールドセパレータとして決定し、ファイル内のデータをシングルバイ トおよびマルチバイトの文字、またはそのいずれかとして解釈するかを決定します。また、 LC_CTYPE は、 -t オプションにより定義されたセパレータがシングルバイトまたはマルチバイトの文字のどちらであるかを判 定します。 LC_COLLATE または LC_CTYPE が環境で指定されていないか、または空の文字列に設定された場合、 LANG の値はそれぞれ未指定または空の変数のデフォルトとして使用されます。 LANG が指定されていない か、または空の文字列に設定されている場合は、 LANG ではなく"C"( lang(5) を参照)のデフォルトが使用され ます。多言語対応変数の内容に無効な設定がある場合、 join はすべての多言語対応変数が"C"に設定されたも のとして動作します( environ(5) を参照)。 サポートされるコードセット マルチバイトの文字のファイル名がサポートされない場合を除いて、シングル/マルチバイトの文字コードセッ トがサポートされています。 例 以下のコマンド行では、数値のグループ ID に一致させ、ログイン名、グループ名、およびログインディレクト リを出力してパスワードファイルおよびグループファイルを結合します。ファイルは、グループ ID フィールド について LC_COLLATE または LANG 環境変数により定義された照合順序で並び換えられているものと仮定 します。 join -1 4 -2 3 -o 1.1 2.1 1.6 -t: /etc/passwd /etc/group 以下のコマンドでは、2つの並び換えられたファイル sf1 および sf2 で、第1フィールドが同じ行の可能なすべ ての組合わせの出力を生成します。各行は、 sorted_file1 からの第1および第3フィールド、および sorted_file2 からの第2および第4フィールドで構成されます。 join -j1 1 -j2 1 -o 1.1,2.2,1.3,2.4 sorted_file1 sorted_file2 警告 デフォルトのフィールド区切りでは、照合順序は sort -b となります。 -t がある場合、順序は単純な並び換え です。 join, sort, comm, uniq, および awk の規約は使用されません。 ファイル名をリストする直前に -o オプションを使用した場合、数値ファイル名による競合が発生する可能性が あります。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-577 join(1) join(1) 著者 join は、OSF と HP が開発しました。 参照 awk(1), comm(1), sort(1), uniq(1) 標準準拠 join: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-578 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 kdestroy(1) kdestroy(1) 名称 kdestroy − Kerberos チケットの破棄 構文 kdestroy [-q] [-c cache_filename] 説明 kdestroy ユーティリティは、Kerberos チケットを含む指定された証明書キャッシュに 0 を書き込むことによ り、ユーザーの有効な Kerberos 認証チケットを破棄します。証明書キャッシュを指定しない場合、デフォルト の証明書キャッシュが破棄されます。 オプション −q 静かに実行します。通常 kdestroy は、ユーザーのチケットの破棄に失敗すると、ビープ 音を鳴らします。 −q フラグはこの動作を抑制します。 -c cache_filename 証明書チケットキャッシュの名前および位置として cache_filename を使用します。この オプションを省略すると、デフォルトキャッシュの名前と位置が使用されます。 デフォルトの証明書キャッシュは、システムによって異なります。 KRB5CCNAME 環境変数を設定すると、 その値はデフォルトのチケットキャッシュの指定として使用されます。 通常のインストールでは、 kdestroy コマンドを .logout ファイルに記述するようにお勧めします。このように すると、ログアウト時にチケットが自動的に破棄されます。 注意 DCE 操作では、 /opt/dce/bin/kdestroy を使用します。 外部影響 環境変数 kdestroy は、次の環境変数を使用します。 KRB5CCNAME 証明書チケットキャッシュの位置 警告 指定した証明書キャッシュのチケットだけが破棄されます。 ルートインスタンスおよびパスワード変更チケットの保持には、別のチケットキャッシュが使用されます。こ れらのチケットも破棄する必要があります。 すべてのユーザーチケットを単一の証明書キャッシュに保持することをお勧めします。 ファイル /tmp/krb5cc_{uid} デフォルトの証明書キャッシュ ({uid} は、ユーザーの 10 進数の UID) 著者 kdestroy は、マサチューセッツ工科大学で開発されました。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-579 kdestroy(1) kdestroy(1) 参照 kinit(1), klist(1), kerberos(5). Section 1-580 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) 名称 kermit − モデムダイヤル呼び出し、ファイル転送および管理、ターミナル接続、キャラクターセット変換、数 字およびアルファベットでの呼び出し、およびスクリプトプログラミングの各機能をもつ、シリアルおよび ネットワーク接続用通信ソフトウェア C-Kermit 8.0 構文 kermit [ command-file ] [ options ... ] 説明 Kermit は、コロンビア大学の Kermit プロジェクトから提供されているファイル転送、管理、通信用ソフト ウェアプログラムのファミリーで、大部分のコンピュータおよびオペレーティングシステムで使用することが できます。Kermitの Hewlett-Packard 社の HP-UX用バージョンは C-Kermit と呼ばれ、シリアル接続(直接接続 またはダイヤル接続)とTCP/IP接続の両方をサポートします。 C-Kermit は、ユーザーにとって使いやすい上に強力な機能を備えた、 cu 、 uucp 、 ftp 、 telnet 、 rlogin 、 expect、そしてシェルの代わりとして使用できるソフトウェアです。ネットワーク通信とシリアル通信の両方 に1 つのパッケージで対応でき、他のパッケージには見られない自動化機能、簡易機能、および言語機能が 揃っています。また数多くの共通機能をもつ姉妹ソフトウェアも多く、他の UNIX プラットフォーム用の C-Kermit、 Windows 95、Windows 98、Windows NT、Windows 2000、OS/2 用の Kermit 95、DOS および Windows 3.X を搭載した PC 用の MS-DOS Kermit、さらにVM/CMS、MVS/TSO、CICS 用のIBM メインフレーム Kermit-370があります。 C-Kermitは、Digital VMS、Data General AOS/VS、Stratus VOS、OS-9、QNX、Plan 9、 Commodore Amiga、その他でも実行できます。 C-Kermit、Kermit 95、MS-DOS Kermit、IBM メインフレーム Kermit の 4つによって、コンピュータ間通信に一貫性のある普遍的なアプローチが可能と言えます。 C-Kermit 8.0 の版権は、ニューヨーク市にあるコロンビア大学評議会が所有しています (Copyright (C) 1985, 2001)。使用および再配布権については、C-Kermit の COPYING.TXT ファイルを参照するか、またはC-Kermit の COPYRIGHT コマンドを実行してください。 (簡単に説明すると、個人の使用では、ライセンスは必要あり ません。オープンソース オペレーティングシステムでの配布では、ライセンスは必要ありません。これ以外の 再配布では、ライセンスが必要です。) C-Kermit 8.0は、Hewlett-Packard 社とコロンビア大学のKermitプロジェクトとの提携により、HP-UX に含まれ ています。 C-Kermit 6.0 については、 Frank da Cruz および Christine M. Gianone (Digital Press, 第二版、1997)による、 Using C-Kermit という資料に詳しく説明されています。このマニュアルページの最後にある「参照」の項を参照して ください。このマニュアルページは本の代替品ではありません。C-Kermit を本格的に使用して、C-Kermit のス クリプトプログラムを特別に作成する場合は、マニュアルを購入すべきです。書籍販売は非営利的な Kermitプ ロジェクト基金の主要な資金源となります。 書籍の現行版が発行された後に新しく追加された機能については、第3版が発行されるまで、オンラインファ イ ル の ckermit2.upd を 参 照 し て く だ さ い。 ヒ ン ト お よ び 制 約 事 項 は、 ckcker.txt ( 汎 用 C-Kermit) お よ び ckuker.bwr (UNIX固有) にリストされています。「ファイル」の項を参照してください。問題報告や技術サポー トの依頼を行う場合には、その前に必ずこれらの参照情報をすべて調べるようにしてください。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-581 kermit(1) kermit(1) Kermitソフトウェアは、多数の異なるコンピュータおよびオペレーティングシステム用にコロンビア大学から 提供されています。最高のファイル転送結果を得るために、Windows 95、Windows NT用のKermit 95、DOS 3.x やWindows用のMS-DOS Kermitなど、別のコンピュータではそれに適したコロンビア大学Kermitソフトウェア を用いて、C-Kermitを使用するようにしてください。「問合せ先」の項を参照してください。 操作モード C-Kermitは、リモートとローカルの2つの「モード」で使用することができます。 リモートモードでは、デス クトップコンピュータから HP-UX システムに接続し、自分のデスクトップコンピュータと HP-UX C-Kermitと の間でファイルを転送します。その場合、接続の確立 (ダイヤル呼び出し、TELNET接続、など) は自分のデス クトップコンピュータ上のKermitプログラムで実行します。 ローカルモードでは、直接シリアル接続、モデムのダイヤル呼び出し、またはネットワーク接続によって、 C-Kermitが別のコンピュータと接続を確立します。ローカルモードでC-Kermitを使用すると、実際のターミナ ル、エミュレーター、UNIX ワークステーション ターミナルウィンドウ、あるいは特定のターミナルエミュ レーション用コンソールドライバーを用いて、リモートコンピュータとターミナル接続することができます。 C-Kermitには、通常のUNIX形式のコマンド行オプションと、プロンプトに応答する対話型入力の、2種類のコ マンドがあります。 コマンド行オプションでは小規模ですが便利なC-Kermit 機能のサブセットにアクセスで き、ターミナル接続とファイル転送の他に、ファイルを転送するために Kermit にパイプ入力したり Kermit か らパイプ出力することができます。 対話型コマンドでは、ダイヤル呼び出し、スクリプトプログラミング、キャラクタセット変換の他に、通常 は、自動機能だけでなくC-Kermit全機能の詳細制御および表示の各機能にアクセスすることができます。対話 型コマンドは、コマンドファイルまたはマクロの中にまとめて入れておくこともできます。 C-Kermit のコマン ドおよびスクリプト言語は、多くの多様なプラットフォームでポータビリティがあります。 C-Kermitの起動 C-Kermitを起動するには、 /usr/bin/kermit とタイプするか、PATHに /usr/bin が含まれている場合には kermit とだけタイプしてから、その後に必要に応じてコマンド行オプションを続けます。コマンド行に「アクション オプション」がないと (下記の説明を参照)、C-Kermitは対話型コマンドモードで起動します。その場合には開 始メッセージが表示されてから、"C-Kermit>"のプロンプトが出ます。コマンド行にアクションオプションを指 定すると、C-Kermitは指定されたアクションを実行してから、終了してUNIXに直接復帰します。いずれの場 合も、C-Kermitは他のコマンドを実行する前に、開始ファイル /usr/share/lib/kermit/ckermit.ini でコマンドを実 行します。ただし、‘ −Y ’( 大文字) コマンド行オプションを加えて開始ファイルを省略する場合、または‘ -y filename ’ オプションを加えて代替開始ファイルを指定する場合を除きます。 ファイル転送 次に、Kermitのファイル転送の最も一般的な手順を示します。他にもたくさんの方法があり、もっと便利なも のも多くありますが、この基本的な手順はあらゆる場合にあてはまります。 • ローカルコンピュータでKermitを起動し、リモートコンピュータとの接続を確立します。ローカル コンピュータ上にC-Kermit がある場合、ダイヤル呼び出しするならば SET MODEM TYPE modemname 、 SET LINE device-name 、SET SPEED bits-per-second 、DIAL phone-number という一連のコマ Section 1-582 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) ンドを使用してください。直接接続の場合には SET LINEとSPEED、ネットワーク接続の場合には SET NETWORK network-type とSET HOST host-name-or-address の各コマンドを使用します。 • 必要なその他の通信パラメータ、PARITY, DUPLEX, FLOW-CONTROLなどを、 SETで設定します。 • CONNECTコマンドを実行します。 • リモートコンピュータにログインします。 • リモートコンピュータ上でKermitを起動し、必要に応じてファイル、通信、またはプロトコル関連 のパラメータをSETで設定します。バイナリファイルを転送する場合には、バイナリファイルを送 信しているKermitプログラムに SET FILE TYPE BINARY のコマンドを送ります。 • ファイルまたはファイルグループを ダウンロードするには、リモートKermitにSENDコマンドを送 り、その後にファイル名か「ワイルドカード」ファイル指定を続けます。次に例を示します。 send oofa.txt # (一つのファイルを送信) send oofa.* # (ファイルグループを送信) ファイルまたは複数のファイルを アップロードするには、リモートKermit にRECEIVE コマンドを 送ります。送信側のKermitは受信側のKermitに対して、各ファイルの名称 (およびその他の属性) を 伝えます。 • エスケープして、ローカル (デスクトップ) コンピュータの Kermit プログラムに戻ります。ローカ ルコンピュータでC-Kermit を実行している場合は、Ctrl-\c とタイプしてください ( コントロールバックスラッシュの後に、英字’c’を続けます) (NeXTワークステーションでは Ctrl-] cを使用してく ださい)。 MS-DOS つまり Kermit 95の場合は、Alt-x を使用します (Altキーを押しながら ’x’ を押 します)。ここで、ローカルKermitプログラムのプロンプトが表示されます。 • バイナリファイルを転送する場合には、ファイルを送信している Kermit プログラムに SET FILE TYPE BINARY のコマンドを指定します。 • ファイルを ダウンロードする場合には、ローカルKermit プログラムにRECEIVE と指定します。ま た アップロードする場合には、ローカルKermitプログラムにSENDコマンドを指定し、ファイル名 またはワイルドカードファイル指定を続けます。つまり、まず最初に リモート Kermit プログラム に動作の内容をSENDまたはRECEIVEで指示してから、エスケープで ローカル Kermit プログラム に戻り、リモートプログラムに指示したものと逆の RECEIVE または SEND コマンドをローカルプ ログラムに指示します。 • ファイルの転送を完了したら、CONNECTコマンドを入力します。これで再びリモートコンピュー タ上の Kermit と通信している状態になります。リモートコンピュータのコマンドプロンプトに戻 るには、EXIT と入力してください。リモートコンピュータの使用を終えた場合には、ログアウト し、(必要があれば) エスケープでローカルコンピュータ上の Kermit に戻ります。その後、また別 のコンピュータと接続を確立するか、EXITを入力してローカルKermitプログラムを終了することが できます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-583 kermit(1) kermit(1) ファイル転送処理を簡略化するために、すべてのコマンドを一括でクライアントに渡し自動的にサーバに送る クライアント/サーバ操作や、リモートの Kermit がターミナルエミュレータを通して自動的にファイル転送を 行う autodownload (および アップロード) の方法を使うことができる点に注意してください。 C-Kermit 8.0 のデフォルトのファイル転送プロトコルは、初期のリリースと違って、(TCP/IP や、ハードウェア フロー制御を持つ誤り訂正モデム上では) 通常、接続の信頼性が高いと考えられるため、確実性よりも速さを 重視しています。ファイル転送に失敗した場合は、CAUTIOUSまたは ROBUST コマンドを使って、より確実 な( したがって遅い) プロトコル設定を選択してください。パフォーマンスをチューニングするときには、 『 Using C-Kermit』マニュアルの第12 章に説明されているように、適切なパケット長、ウィンドウサイズ、制御 文字の接頭辞を選択することができます。 Telnet を介してリモートホストの C-Kermit にアクセスしている場合、または終端から終端まで信頼性が保証さ れているような接続形態で C-Kermit を使用し、かつ両方の Kermit がプロトコルをサポート (C-Kermit 8.0) して いるという条件の場合、Kermit プロトコルの新しい 「ストリーム」 形式が自動的に使用され、ftp と同様の速 さで実行されます。 (制約要因は、リモートの Telnet または Rlogin サーバや、PTY ドライバのオーバーヘッド です。) その他の機能 C-Kermitの機能は膨大な数にのぼるので、マニュアルページではすべてを説明することができません。接続の 確立、モデムのダイヤル呼び出し、ネットワーク、ターミナル接続、キーマッピング、ロギング、ファイル転 送のオプションと機能、不具合の究明と対策、クライアント/サーバ操作、ターミナル接続およびファイル転送 中のキャラクターセット変換、ファイルの "raw" アップロードとダウンロード、マクロ構築、スクリプトプロ グラミング、簡易機能、簡易操作などの詳細、および、表、例、図に関しては、 Using C-Kermit を参照してく ださい。 ヘルプの起動 C-Kermitには、広範囲にわたる組み込みのヘルプがあります。 C-Kermit>プロンプトで ? を入力すると、どの ようなコマンドがあるかを表示できます。またC-Kermit>プロンプトにHELPと入力すれば開始メッセージが表 示され、 HELPに続けて特定のコマンド名を入力すれば、そのコマンドに関する情報が表示されます。次に例 を示します。 help send help set file コマンド内の任意の位置に? と入力すると、現在のコマンドフィールドに関する簡単なヘルプが表示されま す。また、INTROコマンドを入力するとC-Kermitに関する簡単な説明が、MANUALコマンドを入力するとこの マニュアルページ (または、他のマニュアルページ) にアクセスできます。最後に、SUPPORT コマンドを使用 すると技術サポートの入手方法を知ることができます。 コマンドの入力 対話型モードのコマンドには大文字と小文字のどちらを使用してもかまいませんが、 UNIXファイル名では大 文字と小文字が区別されることに注意してください。コマンドは、他のコマンドと区別できる範囲内であれば 省略することができます。コマンドの入力時には、以下の編集文字を使用することができます。 Section 1-584 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) 削除、バックスペース、ラブアウトは、右端の文字を消去します。 Ctrl-W は、右端の「語」を消去します。 Ctrl-U は、現在のコマンド行を消去します。 Ctrl-R は、現在のコマンドを再表示します。 Ctrl-P は、前のコマンドを再び呼び出します(コマンドバッファを後方にスクロールします)。 Ctrl-N は、後方にスクロールしたコマンドバッファを前方にスクロールします。 Ctrl-C は、現在のコマンドを取り消します。 タブ、ESC、Ctrl-Iは、現在のキーワードまたはファイル名を完成させようとします。 ? は、現在のフィールドに関するヘルプを表示します。 コマンドを入力してそれを実行するには、RETURNキーまたはENTERキーを押してください。 バックスラッシュの表記 対話型コマンドでは、 \ 文字 ( バックスラッシュ) は特殊な量を入力する場合に使用する接頭辞になります。 バックスラッシュをつけないと無効になる文字を入力する場合にも、これを使用します。行末に \ または − ( ダッシュ) を置くと、次の行が現在の行の続きになります。それ以外では、 \ の後に以下の文字を続けると、 説明にあるような特殊な意味を持ちます。 % ユーザー定義の単純 (スカラー) 変数。 \%a or \%1など。 & 配列参照。 \&a[3]など。 $ 環境変数。 \$(TERM)など。 v (または V) 組み込み変数。 \v(time)など。 f (または F) 関数。 \Fsubstring(\%a,3,2)など。 s (または S) 簡潔な部分文字列表記、マクロ名。 \s(foo[3:12])など。 : 簡潔な部分文字列表記、すべての変数。 \:(a[3:12])など。 d (または D) 10進値 (基数10) (1-3桁、0..255)。\d27など。 o (またはO) 8進値 (基数8) (1-3桁、0..377)。\o33など。 x (またはX) 16進値 (基数16) (2桁、 00..ff)。 \x1bなど。 \ バックスラッシュ文字そのもの。 b (またはB) BREAKシグナル(OUTPUTコマンドのみ)。 l (または L) 長いBREAKシグナル(OUTPUTのみ)。 n (またはN) ヌル(0)文字 (OUTPUTのみ)。 10進数 1-3桁の10進数。 \27など。 {} グループ化に使用。\{27}123など。 その他: 後続の文字はそのままに解釈されます。 数値はそのバイナリコード(0-255)をもつ文字に置き換わるので、ベル文字を表すのに \7、復帰文字を表すのに \13、改行文字を表すのに \10 を使用できることに注意してください。例えば、C-KermitがスクリーンにBELL を送信するよう指示するには、次のように入力します。 echo \7 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-585 kermit(1) kermit(1) コマンドリスト 一般的に使用され初心者に重要と思われるコマンドには、"*"がついています。 プログラム管理 BACK 直前のディレクトリに戻ります。 BROWSE Web ブラウザを起動します。 ディレクトリを変更します。 * CD 与えられたファイルのパーミッションを 664 や 775 のような 8進数のコード CHMOD で変更します。 PWD ワーキングディレクトリを表示します。 CHECK 指定された機能が構成されているかどうかを調べます。 CLOSE 接続、ログまたはその他のローカルファイルをクローズします。 COMMENT 行全体のコメントを表します。 COPYRIGHT 版権の情報を表示します。 DATE 日付と時刻を表示します。 * EXIT プログラムを終了し、UNIXに戻ります。 * HELP 指定のコマンドのヘルプメッセージを表示します。 * INTRO C-Kermitの簡単な説明を表示します。 プロンプトに対してコマンド行オプションを入力します。 KERMIT デバッグ、パケット、セッション、トランザクション用のログファイルを LOG オープンします。 PUSH ローカルシステムの対話型コマンドインタプリタを呼び出します。 QUIT EXITと同義。 REDO 直前のコマンドを再実行します。 RUN プログラムまたはシステムコマンドを実行します。 SET COMMAND コマンド関連パラメータ。バイトサイズ、バッファサイズの呼び出し。 SET PROMPT C-Kermitプログラムの対話型コマンドプロンプト。 SET EXIT 終了時のC-Kermitのアクションを設定します。(SET LINE/HOST) SHOW EXIT EXITのパラメータを表示します。 SHOW FEATURES C-Kermitに設定されている機能を表示します。 SHOW VERSIONS 各ソースモジュールのバージョン番号を表示します。 SUPPORT 技術的なサポートを得る方法を表示します。 SUSPEND Kermitを一時停止します(シェルがジョブ制御をサポートしている場合にのみ 使用)。 * SHOW SETパラメータの値を表示します。 * TAKE ファイルからコマンドを実行します。 VERSION C-Kermitプログラムのバージョン番号を表示します。 Z SUSPENDと同義。 * Ctrl-C Section 1-586 進行中のC-Kermitコマンドを中断します。 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) Ctrl-Z SUSPENDと同義。 ; または # 行全体のコメントまたは後続のコメントを表します。 ! または @ RUNと同義。 < REDIRECTと同義。 接続の確立と解放 * DIAL PDIAL * LOOKUP ANSWER * HANGUP 電話番号をダイヤル呼び出しします。 電話番号を部分的にダイヤルします。 電話番号を調べ、ダイヤル規則をテストします。 電話の呼び出しを待ち、呼び出しが来るとそれに応答します。 電話またはネットワーク接続を切断します。 EIGHTBIT すべての i/o を8ビットに設定するためのショートカット。 PAD X.25 PADのコマンド (SunOS / Solaris / VOS のみ)。 PING リモートTCP/IPホストのステータスを調べます。 REDIAL 最後にDIALで呼び出した番号をもう一度呼び出します。 LOG CONNECTIONS 接続の記録を保存します。 REDIRECT 通信接続のためにコマンドの標準入出力をリダイレクトします。 PIPE 外部のコマンドまたはプログラムを通じて接続を行います。 SET CARRIER ターミナル接続でのキャリアの処理を指定します。 * SET DIAL モデムのダイヤル呼び出しに関連するパラメータ。 * SET FLOW 通信回線フロー制御: AUTO、RTS/CTS、XON/XOFF、 など。 * SET HOST リモート ネットワークホスト名またはアドレスを指定します。 * SET LINE シリアル通信装置名を指定します。/dev/cul0p0など。 SET PORT SET LINEと同義。 * SET MODEM TYPE SET LINE装置のモデムのタイプを指定します。USRなど。 * SET NETWORK ネットワークタイプ。 X.25 (SunOS / Solaris / VOS のみ) または TCP/IP。 SET TCP TCPプロトコルオプションを指定します。(拡張) SET TELNET TELNETプロトコルオプションを指定します。 SET X.25 X.25 接続パラメータを指定します (SunOS / Solaris / VOS のみ)。 SET PAD X.25 X.3 PADのパラメータ (SunOS / Solaris / VOS のみ)。 * SET PARITY 通信のキャラクタパリティ (なし、偶数、など)。 * SET SPEED シリアル通信装置の速度。例えば、2400、9600、57600。 SET SERIAL シリアル通信のデータサイズ、パリティ、ストップビットを設定します。 SET STOP-BITS シリアル通信のストップビットを設定します。 SHOW COMM 通信の設定値をすべて表示します。 SHOW CONN 現在の接続に関する情報を表示します。 SHOW DIAL SET DIALの値を表示します。 SHOW MODEM モデムのタイプ、シグナル、などを表示します。 SHOW NETWORK ネットワーク関連の項目を表示します。 HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-587 kermit(1) kermit(1) * TELNET = SET NETWORK TCP/IP, SET HOST ..., CONNECT. RLOGIN RLOGIN 接続を行います (権限が必要)。 TELOPT TELNETオプション処理を送信します (拡張)。 CLOSE 現在の接続を切断します。 ターミナル接続 *C CONNECTの特殊な省略形 * CONNECT リモートコンピュータとターミナル接続を確立します。 LOG SESSION ターミナルセッションを記録します。 SET COMMAND C-Kermitと使用中のキーボードおよびスクリーンとの間のバイトサイズ。 * SET DUPLEX CONNECT中にどちら側がエコーするかを指定します。 SET ESCAPE CONNECT中の「エスケープコマンド」の接頭辞を指定します。 SET KEY CONNECTモードで使用するキーを再定義します。 SET TERMINAL ターミナル接続項目 (バイトサイズ、キャラクターセット、エコーなど) を指 SHOW ESCAPE 現在のCONNECTモードのエスケープ文字を表示します。 SHOW KEY キーコードと割り当て値またはマクロを表示します。 SHOW TERMINAL SET TERMINALの項目を表示します。 定します。 * Ctrl-\ CONNECTモードのエスケープ文字の後に、別の文字を続けます。 C はC-Kermit>プロンプトに戻ります。 B はBREAKシグナルを送信します。 ? は他のオプションを表示します。 ファイル転送 ADD SEND-LIST SEND-LISTへファイル詳細を追加します。 ADD BINARY-PATTERNS バイナリファイル パターンリストにパターンを追加します。 ADD TEXT-PATTERNS テキストファイル パターンリストにパターンを追加します。 ASSOCIATE ファイル キャラクタセットを転送キャラクタセットに対応付けます。 LOG SESSION エラー検査を行わずにファイルをダウンロードします。 * SEND MSEND 1 つまたは複数のファイルを送信します。 多重 SEND - スペースで区切ってファイルリストを指定できます。 MOVE SEND を行った後、成功した場合は送信元のファイルを削除します。 MMOVE 多重 MOVE - スペースで区切ってファイルリストを指定できます。 MAIL 他の Kermit にファイルを SEND し、電子メールとして配信します。 RESEND 終了していない SEND を続行します。 PSEND ファイルの一部を送信します。 * RECEIVE 他のKermitから送られてくるファイルを受動的に待ちます。 *R RECEIVEの特殊な省略形。 *S SENDの特殊な省略形。 Section 1-588 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) GET 指定したファイルを送信するように、サーバに要求します。 MGET GET と同様ですが、ファイルリストを指定できます。 REGET サーバからの終了していないダウンロードを続行します。 G GET の特殊な省略形。 FAST 高速なファイル転送を設定するショートカット。 CAUTIOUS 中程度のファイル転送を設定するショートカット。 ROBUST 確実なファイル転送を設定するショートカット。 SET ATTRIB ファイル属性の送信を制御します。 * SET BLOCK エラー検査のレベルを1、2、3のいずれかから選択します。 SET BUFFERS 送信および受信パケットバッファのサイズを指定します。 SET PREFIX ファイル転送中にどの制御文字が"接頭辞を取り外すか"を指定します。 SET DELAY 最初のパケットを送信する前に待機する長さを指定します。 SET DESTINATION ファイル着信用のディスク、プリンタ、スクリーンです。 * SET FILE 転送モード (タイプ)、キャラクターセット、衝突時のアクションなどを指定 します。 * SET RECEIVE 着信パケットのパラメータ。パケット長など。 SET REPEAT 繰り返しカウント圧縮パラメータ。 SET RETRY パケット再伝送の限界。 SET SEND 発信パケットのパラメータ。パケット長など。 SET HANDSHAKE 通信回線の半二重パケットターンアラウンド文字。 SET LANGUAGE 言語固有のキャラクターセット変換を使用可能にします。 PATTERNS ファイル名パターンに基づくテキスト/バイナリモードの切り替えをオフにし ます。 SET SESSION-LOG セッションログのファイルタイプ。テキストまたはバイナリのいずれか。 SET TRANSFER ファイル転送パラメータ。キャラクターセット、ディスプレイなど。 SET TRANSMIT コマンド TRANSMIT の実行を制御します。 SET UNKNOWN 未知のキャラクターセットの処理方法を指定します。 * SET WINDOW ファイル転送パケット ウィンドウサイズ。1-31。 SHOW ATTRIB SET ATTRIBUTEの値を表示します。 SHOW CONTROL 制御文字の接頭辞マップを表示します。 * SHOW FILE ファイル関連の設定値を表示します。 SHOW PROTOCOL プロトコル関連の設定値を表示します。 SHOW LANGUAGE 言語関連の設定値を表示します。 SHOW TRANSMIT * STATISTICS SET TRANSMITの値を表示します。 最新のファイル転送に関する統計値を表示します。 TRANSMIT エラー検査を行わずにファイルを送信します。 XMIT TRANSMITと同義。 HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-589 kermit(1) kermit(1) SEND コマンドのスイッチ /AS-NAME: 指定した名前でファイルを送信するための名前。 /AFTER: 指定された日時の後に変更されたファイルを送信します。 /BEFORE: 指定された日時の前に変更されたファイルを送信します。 /BINARY バイナリモードで送信します。 /COMMAND コマンドの標準出力からのデータを送信します。 /DELETE 送信が成功した後、ファイルを削除します。 /EXCEPT: 指定されたパターンに一致する名前のファイルを送信しません。 /FILTER: 指定されたフィルタプログラムを通してファイルの内容を送信します。 /FILENAMES: ファイル名を送信する方法を指定します。 /LARGER-THAN: 指定されたサイズよりも大きなファイルを送信します。 /LIST: 指定されたファイルに名前がリストされているファイルを送信します。 /MAIL: 指定されたアドレスへ電子メールとしてファイルを送信します。 /MOVE-TO: 送信が成功した後、指定されたディレクトリへソースファイルを移動しま す。 /NOT-AFTER: 指定された日時以前に変更されたファイルを送信します。 /NOT-BEFORE: 指定された日時以後に変更されたファイルを送信します。 /PATHNAMES: パス名を送信する方法を指定します。 /PRINT: 印刷用としてファイルを送信します。 /PROTOCOL: 指定されたプロトコルを使ってファイルを送信します。 /QUIET ファイル転送の進行状況を表示しません。 /RECOVER 中断された転送を、障害が発生した位置から復旧します。 /RECURSIVE ディレクトリツリーを送信します。 /RENAME-TO: 送信が成功した後、ファイル名を指定されたものに変更します。 /SMALLER-THAN: 指定されたサイズよりも小さいファイルを送信します。 /STARTING-AT: 指定されたバイト位置からファイルを送信します。 /SUBJECT: SEND または MAIL のサブジェクト。 /TEXT テキストモードで送信します。 GET および RECEIVE コマンドのスイッチ /AS-NAME: 指定された名前で受信ファイルを保存します。 /BINARY 転送モードが指定されていなければ、バイナリモードで受信します。 /COMMAND: 指定されたコマンドに受信ファイルのデータを送信します。 /EXCEPT: 指定された名前に一致する受信ファイルは受け付けません。 /FILENAMES: 受信ファイル名の扱い方。 /FILTER: 受信ファイルデータに対するフィルタプログラム。 /MOVE-TO: 受信成功後、ファイルを移動させる場所。 /PATHNAMES: 受信パス名の扱い方。 /PROTOCOL: 受信に用いるプロトコル (RECEIVE のみ)。 Section 1-590 Hewlett-Packard Company − 10 − HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) /RENAME-TO: 受信成功後、ファイルに付ける名前。 /QUIET: ファイル転送表示を抑制します。 /TEXT 転送モードが指定されていなければ、テキストモードで受信します。 GET に特有のスイッチ /DELETE 転送成功後、ファイルを削除することをサーバに指示します。 /RECOVER 中断されたファイル転送を、障害が発生した位置から再開します。 /RECURSIVE ディレクトリツリーの送信をサーバに指示します。 ファイル管理 * CD ディレクトリを変更します。 * PWD 現在のワーキングディレクトリを表示します。 GREP 指定されたファイルで、指定された文字列やパターンを検索します。 COPY ファイルをコピーします。 * DELETE 1つまたは複数のファイルを削除します。 * DIRECTORY ディレクトリのリストを表示します。 EDIT ファイルを編集します。 MKDIR ディレクトリを作成します。 PRINT ローカルファイルをローカルプリンタにプリントします。 PURGE バックアップファイルを削除します。 RENAME ローカルファイルの名称を変更します。 RMDIR ディレクトリを削除します。 SET ROOT 指定されたディレクトリを、ファイルアクセスのルートとして設定し、シェ ルコマンドや外部プログラムがシステムにアクセスできないようにします。 SET PRINTER プリンタ装置を選択します。 SPACE 現在のディスクスペースの使用状況を表示します。 SHOW CHARACTER-SETS キャラクターセット変換情報を表示します。 TRANSLATE ローカルファイルのキャラクターセットを変換します。 TYPE ファイルをスクリーン上に表示します。 TYPE/PAGE ファイルをスクリーン上に表示し、1 画面分表示するたびに休止します。 XLATE TRANSLATEと同義。 クライアント/サーバ操作 BYE リモートKermitサーバを終了し、そのジョブをログアウトします。 DISABLE サーバ操作中、指定した機能をアクセス不能にします。 E-PACKET エラーパケットを送信します。 ENABLE サーバ操作中、指定した機能をアクセス可能にします。 FINISH リモートKermitサーバに、終了してもログアウトしないよう指示します。 G GETの特殊な省略形 GET リモートKermitサーバからファイルを入手します。 HP-UX 11i Version 3: February 2007 − 11 − Hewlett-Packard Company Section 1-591 kermit(1) kermit(1) QUERY (REMOTE QUERYと同義) RETRIEVE GETと同様ですが、後でサーバがファイルを削除します。 REMOTE xxx サーバに > または | を使用してリダイレクトできるよう命令します。 REMOTE ASSIGN (RASG) 変数へ代入します。 REMOTE CD (RCD) リモートKermitサーバに、自身のディレクトリを変更するよう指示し ます。 REMOTE COPY (RCOPY) サーバにファイルをコピーするように指示します。 REMOTE DELETE (RDEL) サーバにファイルを削除するように指示します。 REMOTE DIR (RDIR) サーバにディレクトリのリストを要求します。 REMOTE EXIT (REXIT) サーバにプログラムを終了するように要求します。 REMOTE HELP (RHELP) サーバにヘルプメッセージを送信するように指示します。 REMOTE HOST (RHOST) サーバに、そのホストがコマンドを実行するように要求します。 REMOTE KERMIT (RKER) サーバに対話型Kermitコマンドを送信します。 REMOTE LOGIN リモートKermitサーバに自分を認証させます。 REMOTE LOGOUT 以前にLOGINしたKermitサーバからログアウトします。 REMOTE MKDIR (RMKDIR) サーバにディレクトリを作成するように指示します。 REMOTE PRINT (RPRINT) サーバのプリンターにローカルファイルをプリントします。 REMOTE PWD (RPWD) サーバに現在の (ワーキング) ディレクトリを表示するように要求し ます。 REMOTE QUERY (RQUERY) 変数値を取り入れます。 REMOTE RENAME (RRENAME) サーバにファイル名を変更するように指示します。 REMOTE RMDIR (RMDIR) サーバにディレクトリを削除するように指示します。 REMOTE SET リモートサーバにSETコマンドを送信します。 REMOTE SPACE サーバに、残っているディスクスペースの大きさを表示させます。 REMOTE TYPE サーバに、現在使用中のスクリーンにファイルを表示するよう指示します。 REMOTE WHO サーバに"who"または"finger"のリストを要求します。 SERVER Kermitサーバになります。 SET SERVER サーバ操作のパラメータ。 SHOW SERVER SET SERVER, ENABLE/DISABLEの項目を表示します。 スクリプトプログラミング ASK ユーザーにプロンプトを出し、ユーザーの応答を変数に保存します。 ASKQ ASKと同様ですが、エコーしません (パスワードに適しています)。 ASSERT 条件を評価し、SUCCESS または FAILURE を設定します。 ASSIGN 評価した文字列を変数またはマクロに割り当てます。 CLEAR 通信装置の入力バッファまたは他の項目を消去します。 CLOSE 接続、ログファイルまたはその他のファイルをクローズします。 DECLARE 配列を宣言します。 DECREMENT 変数から1(またはその他の数)を差し引きます。 Section 1-592 Hewlett-Packard Company − 12 − HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) DEFINE 変数またはマクロを定義します。 DO マクロ実行します("DO" は省略できます)。 ECHO スクリーン上にテキストを表示します。 ELSE IFとともに使用します。 END コマンドファイルまたはマクロ。 EVALUATE 算術式。 FAIL FAILURE を設定します。 FOPEN ローカルファイルをオープンします。 FREAD FOPEN でオープンされたファイルから読み込みます。 FWRITE FOPEN でオープンされたファイルに書き込みます。 FSEEK FOPEN でオープンされたファイルの中の指定位置までシークします。 FCLOSE FOPEN でオープンされたファイルをクローズします。 FOR カウント付きループでコマンドを繰り返し実行します。 FORWARD 先行指示内のみで使用する GOTO です。 GETC プロンプトを出し、キーボートから1文字の入力を引き出します。 GETOK 質問を出し、Yes またはNo の返答を得て、SUCCESS またはFAILURE を設定 します。 GOTO コマンドファイルまたはマクロ内のラベル付きのコマンドに進みます。 IF 以降のコマンドを条件付きで実行します。 INCREMENT 変数に1(またはその他の数)を加えます。 INPUT 別のコンピュータからの文字と指定のテキストを、一致するかどうか比較し ます。 LOCAL マクロ内でローカル変数を宣言します。 MINPUT INPUTと同様ですが、複数の一致文字列を使用できます。 MSLEEP 指定のミリ秒数だけスリープします。 OPEN ローカルファイルを読み取りまたは書き込み用にオープンします。 OUTPUT 別のコンピュータにテキストを送信します。 O OUTPUTの特殊な省略形。 PAUSE 指定の秒数だけ、何も動作しません。 READ ローカルファイルから変数に行を読み取ります。 REINPUT 別のコンピュータから以前に受信したテキストをもう一度調べます。 RETURN ユーザー定義関数から戻ります。 SCREEN クリア、カーソル位置の指定などのスクリーン操作。 SCRIPT UUCP形式のログインスクリプトを実行します。 SET ALARM IF ALARM で使用するタイマーをセットします。( SHOW ALARM でそれを 表示します。) SET CASE 文字列の比較でのアルファベットの大文字と小文字の処理を指定します。 SET COMMAND バックスラッシュ表記の解釈のオン/オフを引用します。 HP-UX 11i Version 3: February 2007 − 13 − Hewlett-Packard Company Section 1-593 kermit(1) kermit(1) SET COUNT カウント付きループのカウントを指定します。 SET INPUT INPUTコマンドの動作を制御します。 SET MACRO マクロの実行を制御します。 SET TAKE TAKEファイルの実行を制御します。 SHIFT 指定した数だけ、マクロ引き数を左にシフトします。 SHOW ARGUMENTS 現在のマクロの引き数を表示します。 SHOW ARRAYS アクティブ配列に関する情報を表示します。 SHOW COUNT 現在のCOUNT値を表示します。 SHOW FUNCTIONS 使用可能な\f()関数の名称をリストします。 SHOW GLOBALS 定義済みのグローバル変数 \%a..\%z をリストします。 SHOW MACROS 1つ以上のマクロ定義をリストします。 SHOW SCRIPTS スクリプト関連の設置値を表示します。 SHOW VARIABLES すべての \v() 変数の値を表示します。 SLEEP 指定の秒数だけスリープします。 SORT 配列をソートします (多数のオプション)。 STATUS 直前のコマンドのSUCCESS または FAILURE を表示します。 STOP 実行マクロまたはコマンドファイルを停止し、プロンプトに戻ります。 SUCCEED SUCCESS を設定します。 SWITCH 変数の値に基づいて選択されたコマンドを実行します。 TAKE ファイルからコマンドを取り出して実行します。 UNDEFINE 変数の不確定。 WAIT 指定のモデムシグナルを待ちます。 WHILE 条件が真の間、コマンドを繰り返し実行します。 WRITE マテリアルをローカルファイルに書き込みます。 WRITE-LINE ローカルファイルに1行(レコード)を書き込みます。 WRITELN WRITE-LINEと同義。 XECHO ECHOと同様ですが、最後に CRLF はありません。 XIF 拡張IFコマンド。 組み込み変数 組み込み変数は \v(name) によって参照し、任意のコマンドで使用できますが、通常はスクリプトプログラミン グで使用します。それらを変更することはできません。SHOW VARIABLESと入力すれば、現在のリストを表 示することができます。 現在のマクロの中の引き数の数。 \v(argc) \v(args) プログラムコマンド行引き数の数。 \v(blockcheck) 現在の SET BLOCK-CHECK タイプ。 \v(browser) 現在の Web ブラウザ。 \v(browsopts) 現在の Web ブラウザオプション。 Section 1-594 Hewlett-Packard Company − 14 − HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) \v(browsurl) 最後にアクセスした Web ブラウザサイト (URL)。 \v(byteorder) ハードウェアのバイト順。 \v(charset) 現在のファイル キャラクタセット。 \v(cmdbufsize) コマンドバッファのサイズ。 \v(cmdfile) 現在のコマンドファイルがあれば、その名称。 \v(cmdlevel) 現在のコマンドレベル。 \v(cmdsource) コマンドが現在どこから出ているか。マクロ、ファイルなど。 \v(cols) スクリーンカラムの数。 \v(connection) 接続の種類。シリアル、tcp/ipなど。 \v(count) 現在のCOUNT値。 \v(cps) 最新のファイル転送の速度(文字数/秒)。 \v(cpu) C-Kermitが構築されたCPUタイプ。 \v(crc16) 最新ファイル転送の16ビットCRC。 \v(ctty) コントロールターミナルのデバイス名。 \v(d$ac) SET DIAL AREA-CODE 値。 \v(d$cc) SET DIAL COUNTRY-CODE 値。 \v(d$ip) SET DIAL INTL-PREFIX 値。 \v(d$lc) SET DIAL LD-PREFIX 値。 \v(d$px) SET DIAL PBX-EXCHANGE 値。 \v(date) 8 Feb 1993の形式の日付。 \v(day) 曜日。 \v(dialcount) DIAL リトライカウンタの現在の値。 \v(dialnumber) 最後にダイヤルした電話番号。 \v(dialresult) 最後のダイヤルでモデムから返されたメッセージまたはコード。 \v(dialstatus) DIALコマンドからの戻りコード (0 = OK, 22 = BUSYなど)。 \v(dialsuffix) 現在の SET DIAL SUFFIX 値。 \v(dialtype) 最後に設定された呼び出しタイプのコード。 \v(directory) 現在またはデフォルトのディレクトリ。 \v(download) ダウンロードされていれば、現在のディレクトリ。 \v(editor) 使用したいエディタ。 \v(editfile) 最後に編集したファイル。 \v(editopts) エディタに関するオプション。 \v(errno) 現在の "errno"値(システムエラーの番号)。 \v(errstring) errno に対応するエラーメッセージ文字列。 \v(escape) CONNECT モードのエスケープ文字の 10 進数文字列。 \v(evaluate) 最新のEVALUATEコマンドの結果。 \v(exitstatus) 現在のEXITステータス (0 = 成功, ゼロ以外 = 障害発生)。 \v(filename) 現在転送中のファイルの名前。 HP-UX 11i Version 3: February 2007 − 15 − Hewlett-Packard Company Section 1-595 kermit(1) kermit(1) \v(filenumber) 現在転送中のファイルの番号 (1 から始まる)。 \v(filespec) 最新のSEND/RECEIVE/GETコマンドにあるファイル指定。 \v(fsize) 最後に転送されたファイルのサイズ。 \v(ftype) SET FILE TYPE値 (text, binary)。 \v(herald) C-Kermitのプログラムヘラルド。 \v(home) ホームディレクトリ。 \v(host) コンピュータホスト名(C-Kermitが実行されているコンピュータ)。 \v(hwparity) SET PARITY HARDWARE の設定 (ある場合)。 \v(input) 現在のINPUTバッファの内容。 \v(inchar) INPUTに最後に入力された文字。 \v(incount) 最後のINPUTで入力された文字の数。 \v(inidir) 初期化ファイルのあったディレクトリ。 \v(inmatch) 指定された \fpattern() と一致する [M]INPUT データ。 \v(instatus) 最新のINPUTコマンドのステータス。 \v(intime) 最新の INPUT が成功するのにかかった時間(ミリ秒)。 \v(inwait) 最新の [M]INPUT タイムリミット。 \v(ipaddress) C-Kermit のコンピュータのIP アドレス (分かる場合)。 \v(kbchar) PAUSE、INPUTなどに割り込んだキーボード文字。 \v(line) LINEまたはHOSTで設定された現在の通信装置。 \v(local) リモートモードの場合は0、ローカルモードの場合は1。 \v(lockdir) このプラットフォーム上の UUCP ロックファイルディレクトリ。 \v(lockpid) ポートが使用中の際にロックファイルから取り出したプロセス ID。 \v(maclevel) 現在のマクロ スタックレベル。 \v(macro) 現在実行中のマクロがあれば、その名称。 \v(math_e) 浮動小数点定数 e。 \v(math_pi) 浮動小数点定数 pi。 \v(math_precision) 浮動小数点数の精度 (桁数)。 \v(minput) 最新の MINPUTコマンドの結果。 \v(model) コンピュータハードウェア モデル (分かる場合)。 \v(modem) 現在のモデムタイプ。 \v(m_aa_off) 自動応答をオフにするモデムコマンド。 \v(m_aa_on) 自動応答をオンにするモデムコマンド。 \v(m_xxxxx) (その他の多くのモデムコマンド) \v(m_sig_xx) モデム信号 xx の値。 \v(name) C-Kermit の呼び出しに使われた名前 (kermit、wermit など)。 \v(ndate) 19930208 (yyyymmdd)の形式の現在の日付。 \v(nday) 数で表した曜日 (0 = 日曜)。 \v(newline) システム固有の改行文字またはシーケンス。 Section 1-596 Hewlett-Packard Company − 16 − HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) \v(ntime) 午前0時を基準にした現在のローカル時間の秒数(正午 = 43200)。 \v(osname) オペレーティングシステム名。 \v(osrelease) オペレーティングシステムのリリース。 \v(osversion) オペレーティングシステムのバージョン。 \v(packetlen) 現在の SET RECEIVE PACKET-LENGTH 値。 \v(parity) 現在のパリティ設定。 \v(pexitstat) 最後に fork したプロセスの終了ステイタス。 \v(pid) C-Kermit のプロセス ID。 \v(platform) 特定のマシンおよびオペレーティングシステム。 \v(program) このプログラムの名称 ("C-Kermit")。 \v(protocol) 現在選択されているファイル転送プロトコル。 \v(p_8bit) 現在の第8ビット接頭辞 (Kermit プロトコル)。 \v(p_ctl) 現在の制御文字の接頭辞 (Kermit プロトコル)。 \v(p_rpt) 現在のリピートカウント接頭辞 (Kermit プロトコル)。 \v(query) 最新の REMOTE QUERYコマンドの結果。 \v(return) 最新のRETURN値。 \v(rows) ターミナルスクリーン上の行数。 \v(sendlist) SEND-LIST のエントリー数。 \v(serial) 8N1 形式でのシリアルポートの設定。 \v(speed) 現在の速度がわかればその速度、わからない場合は"unknown"。 \v(startup) C-Kermit が起動された時点のカレントディレクトリ。 \v(status) 0 または 1 (前のコマンドの成功または失敗)。 \v(sysid) C-Kermit のコンピュータのプラットフォーム ID コード (U1=UNIX)。 \v(system) UNIX (オペレーティングシステム ファミリの名前) \v(terminal) ターミナルのタイプ。 \v(test) C-Kermit のテストバージョン (例えば、Beta.10)。 \v(textdir) C-Kermit が認識している、テキストファイルの場所。 \v(tfsize) 最後に転送されたファイルグループの合計サイズ。 \v(time) 13:45:23 (hh:mm:ss)という形式の時刻。 \v(tmpdir) 一時的なディレクトリ。 \v(trigger) CONNECT から戻るトリガになった最後の文字列。 \v(ttyfd) 現在の通信装置のファイル記述子。 \v(ty_xx) TYPE によって内部で使われます。 \v(userid) C-Kermit を実行している人のユーザー ID。 \v(version) 数で表したKermitのバージョン。例えば、501190。 \v(window) 現在のウィンドウのサイズ。(SET WINDOW 値) \v(xferstatus) 最後のファイル転送のステイタス。 \v(xfermsg) 最後の転送が終了したときのエラーメッセージ (ある場合)。 HP-UX 11i Version 3: February 2007 − 17 − Hewlett-Packard Company Section 1-597 kermit(1) kermit(1) \v(xfer_xxx) 最後のファイル転送のさまざまな統計値。 \v(xprogram) C-Kermit。 \v(xversion) \v(version) と同じ。 組み込み関数 組み込み関数は \Fname(args)によって参照し、任意のコマンドで使用できますが、通常はスクリプトプログラ ムで使用します。SHOW FUNCTIONSと入力すれば、現在のリストを表示することができます。引き数と戻り 値の説明は、"help function <名前>" と入力すると表示されます。例えば、 help function basename と入力しま す。 コマンド行オプション C-Kermit は、従来からのUNIX 形式でコマンド行のコマンド ( またはオプション) を受け入れます。アルファ ベットの大文字と小文字は区別されます。オプションはすべて、指定してもしなくてもかまいません。アク ションオプションが1つ以上含まれている場合には、Kermitはコマンド行オプションの実行後、ただちに終了 します。アクションオプションが含まれていない場合には、Kermitは対話型コマンドモードに入ります。 kermit [filename] [-x arg [-x arg]...[-yyy]...]] ここで、 filename は実行するコマンドファイルの名称、 -x は引き数が必要なオプション、 -y は引き数のないオプションです。 アクション -s files ファイルを送信します。 -s - 標準入力からファイルを送信します。 -r ファイルを受信します。 -k 標準出力にファイルを受信します。 -x サーバモードに入ります。 -O -x と同様ですが、トランザクションを 1 つ処理した後に終了します。 -f リモートサーバを終了します。 -g files サーバからリモートファイルを入手します(ワイルドカードは引用符で囲みま す)。 -G files -g と同様ですが、標準出力にファイルを送信します。 -a name 代替ファイル名。-s, -r, -gと共に使用します。 -c 接続します (ファイル転送の前)。-l または -jと共に使用します。 -n 接続します (ファイル転送の後)。-l または -jと共に使用します。 -l line 通信回線装置(シリアル接続を確立します)。 設定 Section 1-598 Hewlett-Packard Company − 18 − HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) -l n 通信装置のファイル記述子をオープンします。 -j host TCP/IPネットワークホスト名(ネットワーク接続を確立します) -J host TELNETと同様に接続します。接続がクローズすると終了します。 -l n TCP/IP接続のファイル記述子をオープンします。 -X X.25 ネットワークアドレス。 -Z X.25接続のファイル記述子をオープンします。 -o n X.25のクローズされたユーザーグループ呼び出し情報。 -u X.25受信側払い呼び出し。 -q ファイル転送中、静止します。 -I 信頼性のある接続 (TCP または X.25など)。 -8 8ビットクリーン。 -0 CONNECT モードでの 100% 透過性 (エスケープで戻れない)。 -i バイナリモードでファイルを転送します。 -T テキストモードでファイルを転送します。 -P パス(ファイル)名をそのまま送受信します。 -b bps シリアル回線速度。例えば1200。 -m name モデムタイプ。例えばhayes。 -p x パリティ。 x = e,o,m,s,nのいずれか。 -t 半二重、xon ハンドシェーク。 -e n 受信パケット長。 -v n ウィンドウサイズ。 -L 再帰的ディレクトリ転送を選択する時に -s と共に使用します。 -Q ファイル転送のクイック設定。 -w 同じ名称のファイルを上書きし、旧ファイルをバックアップしません。 -D n ファイル送信の前にn秒の遅延を入れます。 -V " マ ニュ ア ル モー ド " = SET FILE PATTERNS OFF, SET TRANSFER MODE MANUAL。 その他 -y name 代替初期化ファイル名。 -Y 初期化ファイルをとばします。 -R C-Kermitに、リモートモードでのみ使用されることを知らせます。 -d ファイルdebug.logにデバッグ情報を記録します。 -S アクションコマンドの実行後に、終了せずにとどまります。 -C "cmds" 間をコンマで区切った対話型モードコマンド。 -z 強制的にフォアグラウンドで動作させます。 -B 強制的なバックグラウンドオペレーション (バッチ) -h コマンド行オプションのヘルプスクリーンをプリントします。 = 後続のテキストをすべて無視します。 HP-UX 11i Version 3: February 2007 − 19 − Hewlett-Packard Company Section 1-599 kermit(1) kermit(1) = と同義。 -- コマンド行の例 リモートモードの例(C-Kermitが相手側にある場合) : kermit -v 4 -i -s oofa.bin ウィンドウサイズ4 (-v 4) を使用し、バイナリモード (-i) でファイル oofa.bin を送信します。 ローカルモードの例(C-Kermitで接続を確立します): kermit -l /dev/tty0p0 -b 19200 -c -r -n ログインするために、19200 bps の直接接続を /dev/tty0p0を通して確立 (-c) し、リモートのKermitプログラムを 起動させ、ファイルを送るように指示します。Kermitプログラムがファイルを受け取って (-r) 接続状態から戻 る(-n) と、終了してログアウトできます。 ダイヤルアウトには、モデムタイプを指定して、異なるデバイス名を使用しなければならない場合もありま す。 kermit -m hayes -l /dev/cul0p0 -b 2400 -c -r -n ファイル $HOME/.mykermrc 個人のC-Kermitカスタマイズファイル。 $HOME/.kdd 個人のダイヤル呼び出しディレクトリ。 $HOME/.ksd 個人のサービスディレクトリ。 /usr/share/lib/kermit/READ.ME HP-UX C-Kermitの概要。必ず読んでください。 /usr/share/lib/kermit/COPYING.TXT 版権、許可事項、免責事項。 /usr/share/lib/kermit/ckermit.ini システム規模の初期設定ファイル /usr/share/lib/kermit/ckermod.ini カスタマイズファイルの例 /usr/share/lib/kermit/ckermit.kdd ダイヤル呼び出しディレクトリの例 /usr/share/lib/kermit/ckermit.ksd サービスディレクトリの例 /usr/share/lib/kermit/ckermit2.txt "Using C-Kermit" (第二版) の改訂版。 /usr/share/lib/kermit/ckcbwr.txt C-Kermit 「注意点」ファイル(ヒント) /usr/share/lib/kermit/ckubwr.txt UNIX固有の注意点ファイル /usr/share/lib/kermit/ck*.txt その他のテキスト文書。 /usr/share/lib/kermit/ckedemo.ksc "Using C-Kermit"からのマクロ /use/share/lib/kermit/ckevt.ksc 同上。 /usr/share/lib/kermit/ckepager.ksc アルファペイジャー スクリプト /var/spool/locks/LCK..* UUCP ロックファイル personalized customizations を作成するには、 /usr/share/lib/kermit/ckermod.ini ファイルをホームディレクトリ にコピーして、必要な変更事項を入れて、 .mykermrc とリネームします。 /usr/share/lib/kermit/ckermit.kdd の例のように個人の dialing directory を作成する場合、個人のダイヤルディレ クトリは .kdd のようにホームディレクトリに格納する必要があります。また、 .knd のように個人のネット Section 1-600 Hewlett-Packard Company − 20 − HP-UX 11i Version 3: February 2007 kermit(1) kermit(1) ワークディレクトリに格納する必要があります。詳細については、 Using C-Kermit の第5章と第6章を参照して ください。 /usr/share/lib/kermit/ckermit.ksd の例のように個人の services directory を作成する場合、個人のサービスディ レクトリは .ksd のようにホームディレクトリに格納されなければなりません。指示については、 Using C-Kermit の第7章を参照してください。 デモファイルはC-Kermitのスクリプトプログラミングの構築を示しています。本の17章から19章に説明があり ます。 C-Kermit> プロンプトで適切なTAKEコマンドを入力することにより、デモファイルを実行できます。 例: take /usr/share/lib/kermit/ckedemo.ini 著者 コロンビア大学のFrank da Cruz、および世界中の数百人におよぶボランティアプログラマーの貢献によりま す。 Using C-Kermit の謝辞を参照してください。 参照 Frank da Cruz and Christine M. Gianone, Using C-Kermit , 第 二 版 , 1997, 622 ペー ジ , Digital Press / Butterworth-Heinemann, 225 Wildwood Street, Woburn, MA 01801, USA. ISBN 1-55558-164-1. ( 米国へのオーダーは、Digital Press books へ。電話番号: +1-800-366-2665 ) ハノーバーの Verlag Heinze Heise のドイツ語版もあります。 Frank da Cruz, Kermit, A File Transfer Protocol , Digital Press / Butterworth-Heinemann, Woburn, MA, USA (1987). ISBN 0-932376-88-6. Kermitファイル転送プロトコルの仕様。 Christine M. Gianone, Using MS-DOS Kermit , Digital Press / Butterworth-Heinemann, Woburn, MA, USA (1992). ISBN 1-5558-082-3. バーゼルの Heinz Schiefer & Cie のフランス語版もあります。 Kermit News , Issues 4 (1990) and 5 (1993), Columbia University. Kermitファイル転送パフォーマンスの詳細な説明が記載 されています。 診断 C-Kermit から出力される診断は、読めば診断内容がわかるように書かれています。さらに、各コマンドは SUCCESSまたはFAILUREのステータスを戻し、それを IF FAILUREまたはIF SUCCESSによってテストするこ とができます。プログラムも、正しい動作で終了すると終了ステータスコード0を戻し、各種動作のいずれか で障害が発生するとゼロ以外の終了ステータスコードを戻します。 バグ バグ、ヒントのリストに関しては、ファイル ckcker.bwr と ckuker.bwr または、ニュースグループ comp.protocols.kermit.* を参照してください。バグレポートはe-mailで [email protected]宛お送りください。 技術的サポートに関する詳細は、 http://www.columbia.edu/kermit/support.html にアクセスしてください。 HP-UX 11i Version 3: February 2007 − 21 − Hewlett-Packard Company Section 1-601 kermit(1) kermit(1) 問合せ先 Kermitのソフトウェアおよびドキュメントの詳細については、下記の Kermit Web サイトへお問い合わせくださ い。 http://www.columbia.edu/kermit/ 文書でのお問い合わせは下記の住所へお願いします。 The Kermit Project Columbia University 612 West 115th Street New York, NY 10025-7221 USA 電 子 メー ル の 宛 先 は、 [email protected] で す。 電 話 番 号 : +1-212-854-3703 、 ファッ ク ス 番 号 : +1-212-663-8202。 Section 1-602 Hewlett-Packard Company − 22 − HP-UX 11i Version 3: February 2007 keysh(1) keysh(1) 名称 keysh − コンテキスト認識型のソフトキーシェル 構文 keysh 説明 keysh は、標準のコーンシェルを拡張したものです。通常のコーンシェルの機能については、 ksh(1) を参照し てください。 keysh ではコーンシェルの機能とメニューシステムの使いやすさを組み合わせた階層形式のソフトキーメ ニューとコンテキスト認識型のヘルプが提供されるので、ユーザーはこれを利用してコマンド行を作成するこ とができます。 また、 keysh は完全なデータ駆動型として動作するので、必要に応じてメニューやヘルプを拡張することがで きます。 keysh を呼び出す場合は、環境変数 $TERM により terminfo(4) データベースの定義に従ってターミナルタイプ が指定されていなければなりません (下記の 「環境変数」参照)。 コマンド入力 keysh ではコマンド行の構文解析を逐次行うので、ソフトキーのラベルには適宜、状況に応じた 選択項目が表 示されることになります。 ユーザーは、これらのソフトキーを選択して、判読できる ソフトキーコマンドをコマンド行として作成できま す。 keysh ではソフトキーのコマンドを自動的に HP-UX の対応する コマンドに置き換えて、これを実行しま す。 また、ソフトキーをすべて無視して、通常のコーンシェルの場合と同じように、 HP-UX コマンドを直接入力 することもできます。 コマンドの入力中は通常、 keysh により画面の下の部分に状態行が表示されます。この 状態行には、ホスト 名、現在のディレクトリ、日時の情報が示されます。 keysh では、現在選択されたソフトキーの実行を完了する前に、ユーザーによる特定の入力操作が必要になっ た場合は、状態行の位置に、一時的に プロンプトメッセージを表示します。このメッセージには、ユーザーが 行うべき操作について簡単な説明が示されます。 ソフトキーの型 keysh では、次の4種類の基本ソフトキーが表示されます。 --Help-- --Help-- ソフトキーを選択すると、 keysh は次に押されたソフトキーの内容を実行す るのではなくそのキーに関するヘルプ情報を表示します。 --More-- ソフトキーの数より現在選択できる項目数が多い場合、 keysh はこれをいくつかのバ ンクに分割して、まず最初のバンクに --More-- というソフトキーを付加して表示しま す。 --More-- ソフトキーを選択すると、次のバンクのソフトキーが順次表示されま HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-603 keysh(1) keysh(1) す。この操作を続けると、バンクが一巡して最初のバンクに戻ります。 パラメータソフトキーは、一組の角かっこ <> で囲んだ形式で表示されます。パラ < param> メータ ソフトキーは、その時点でソフトキーを選択するのでなく、ユーザー指定のテ キスト (ファイル名など) をコマンド行に入力しなければならないという意味です。こ の時点で、ソフトキーを選択しても、 keysh は単に状態行にヒントメッセージを表示 するだけで、コマンド行は変更されずにそのまま残ります。 上記以外はすべて オプションのソフトキーです。これを使用して、対応するコマンド option 名またはオプション名をコマンド行に挿入することができます。 各ソフトキーは、左から右の順に選択することができます。 コマンド行の編集 keysh は、通常のコーンシェルのコマンド行編集モードをサポートしています。また keysh は、 terminfo(4) データベースの定義に基づいて、大部分のターミナルで行われるカーソル移動、および編集キーの操作を認識 します。次の編集キーを認識できます。 <Clear display> 画面とコマンド行をクリアします。画面の内容がスクロールされる場合は、カーソルの 位置からスクロールメモリの終りまでをクリアします。 <Clear line> カーソル位置からコマンド行の最後までをクリアします。 <Delete line> コマンド行全体をクリアします。 現在のコマンド行にあるソフトキーコマンドをすべて変換して、その結果を編集しま <Insert line> す。 <Delete char> カーソルの位置にある文字を削除します。 <Insert char> 挿入モードと上書きモードを切り換えます。 <Up/Down arrow> ヒストリバッファから、前のコマンド/次のコマンドを呼び出します。 <Left/Right arrow> カーソルを左/右に移動します。 <Home up/down> カーソルをコマンド行の先頭/最後に移動します。 <Tab> <Insert line> キーがなければ、 <Insert line> の機能 ( 上記参照 ) を実行します。 <Insert line> キーがある場合で、 --Help-- ソフトキーがなければ、 --Help-- の機能 ( 上記参照) を実行します。これ以外の場合は、通常のタブ機能を実行します。 <Backtab> カーソルを直前のワードの先頭に移動します。 <Ctrl-L> 画面の下の部分を表示しなおし、必要なターミナルモードを復元します。 ソフトキー表示コマンド visibles の設定オプションを使用可能にすると (下記の 設定の項参照)、 keysh は別のコマンドの入力が必要に なった時点で、必ずソフトキーラベルに設定したソフトキーコマンドのリストを表示します。これはトップレ Section 1-604 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 keysh(1) keysh(1) ベルのソフトキーメニューです。 ソフトキーコマンドのいずれかを選択すると、 keysh によりそのコマンド名がコマンド行に挿入され、次にこ のコマンドで使用できる主なパラメータとオプションを示すサブメニューが表示されます。 この時点で、オプションのソフトキーを (左から右の順に) 選択しても、またパラメータ ソフトキーの位置に テキストを入力してもかまいません。 keysh は自動的に階層構造のソフトキーメニューを進みます。このと き、ソフトキーラベルには必ず、現在選択できる一連の項目が表示されます。 なお、 keysh はコマンドセパレータ (パイプ記号やセミコロンなど) を検出すると、自動的にトップレベルのソ フトキーメニューを表示します。これにより、コマンド行に示すセパレータ以降のコマンドも同様に、ソフト キーとして使用できるようになります。 ソフトキー非表示コマンド invisibles の設定オプションを使用可能にすると (下記の 設定の項参照)、 keysh は通常の HP-UX コマンドの入 力を認識した時点でソフトキーラベルに現在選択できる項目を表示して、ソフトキーを使用できる機会を一度 だけ与えます。トップレベルのソフトキーメニューオプションと同様に、ソフトキーを無視して通常の HP-UX オプションを直接入力することができます。 バックアップ ソフトキー backups の設定オプションを使用可能にすると (下記の 設定の項参照)、 keysh はほかに表示するソフトキーが ない場合 (コマンドが実行中の場合など)は必ず、 バックアップ ソフトキーを表示して、ターミナルの該当す るファンクションキーに対応させます。バックアップ ソフトキーにより、一般によく見られる静的なソフト キーの制御が可能になります。 通常の HP-UX コマンド keysh がトップレベルのソフトキーメニューを表示しているときに、通常の HP-UX コマンドを入力すると、 keysh は単にバックアップ ソフトキーを表示するだけなので、ユーザーはそのまま処理を続けることができま す。 keysh では、これ以降、コマンドセパレータを検出すると、トップレベルのソフトキーメニューを再表示しま す。 ソフトキーコマンドの構文エラー ソフトキーコマンドの多くは、一連のソフトキーオプションを表示します。ユーザーはその中から必ず1つを ( 少なくとも1つ) 選択 しなければなりません。オプションの選択を行わないと、 keysh はこれを構文エラーと みなして、エラーメッセージを表示します。そのコマンドは、エラーを修正しない限り、受け付けられませ ん。 同様に、多くのソフトキーコマンドで、1つ以上のソフトキーパラメータが必要とされます。パラメータの入 力を行わないと、 keysh はこれを構文エラーとみなします。 ソフトキーコマンドのリダイレクション ソフトキーコマンドの後に、リダイレクション記号 (角かっこ < または > の後にファイル名を続けた指定) を 付けることができます。これらの記号は、対応する HP-UX コマンドに変換された後にも、 そのままの形式で HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-605 keysh(1) keysh(1) 付加されます。 ターミナルセッションマネージャ上での keysh の使用法 keysh をターミナルセッションマネージャ (tsm(1)参照) のもとで使用すると、バックアップ ソフトキーの代わ りに、 tsm ソフトキーが表示されます。この操作モードは、環境変数 $KEYTSM をセットすることにより、 変更できます (下記の 環境変数参照)。 また、 keysh を tsm と併用すると、状態行に tsm ウィンドウ番号が自動的に表示されます。 設定 keysh の設定機能には、トップレベルの Keysh_config ソフトキーコマンドまたは内蔵コマンド kc によりアク セスすることができます。設定の主な機能は、次のとおりです。 • ソフトキーの追加、配置、および削除 • バックアップ ソフトキーの指定 • グローバルオプションの選択 • 状態行の項目の選択 • keysh の再起動 • 設定の変更内容の書き込み • その他の設定の変更取り消し keysh の設定を変更するたびに、 keysh によりユーザーの $HOME/.keyshrc ファイルが自動的に更新されま す。これ以降に keysh を呼び出すと、既存の設定に基づいて、 keysh 自身の設定が変更されます。 ソフトキーの追加, 配置, 削除 標準ソフトキー (下記の 標準ソフトキーの定義参照) はいずれも、 kc softkey add コマンドを使用して、トップ レベルのソフトキーメニューに追加することができます。また、必要に応じて、 with_label オプションを使用 することにより、ソフトキーラベルに別の名称 (一般には、わかりにくい HP-UX コマンドの代わりに) を割り 当てることもできます。 デフォルトでは、追加されたソフトキーは、トップレベルのソフトキーメニューの最後に示す --More-- バンク の最後に置かれます。この位置は、 kc softkey add コマンドの and_place オプションまたは kc softkey move コ マンドによって、変更することもできます。 from_user または from_file のオプションを使用して、標準ソフトキー以外に、カスタム ソフトキーファイルか ら特殊なソフトキーを追加することができます。ソフトキーファイルのフォーマットについては、 softkeys(4) を参照してください。 特定のソフトキーファイルからソフトキーを追加すると、必ず残りのソフトキーもすべて自動的にロードさ れ、表示不可能のソフトキーコマンドとして提供されます。また、ファイル中のソフトキーはすべて、 kc softky add invisibles コマンドにより、表示不可能のソフトキーコマンドとしてロードすることができます。 トップレベルのソフトキーメニューで表示されるソフトキーは、 kc softkey delete コマンドにより削除するこ とができます。 Section 1-606 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 keysh(1) keysh(1) バックアップ ソフトキーの指定 バックアップ ソフトキーは、通常、ユーザーの $HOME/.softkeys ファイルに指定します。基本的なバックアッ プ ソフトキーを定義する行の形式は、次のとおりです。 backup softkey "<softkey>" literal " <string>"; ここで、 <softkey> は表示されるソフトキーラベル、 <string> はターミナルのファンクションキーを対応させ るテキスト文字列をそれぞれ表します。バックアップ ソフトキーは、計8個まで指定することができます。 バックアップ ソフトキーは、 keysh がそれをプログラムで対応させる前に kc softkey add backups コマンドに よって明示的に追加しておかなければなりません。 グローバルオプションの選択 各グローバルオプションは kc option コマンドによって、設定することができます。次のグローバルオプショ ンがあります。 backups バックアップ ソフトキーのプログラム設定を使用可能/使用不能を切り換えます。 help --Help-- ソフトキーの使用可能/使用不能を切り換えます。 invisibles 表示不可能のソフトキーコマンドを認識させるかどうかを切り換えます。 prompts プロンプトメッセージを自動的に作成するかどうかを切り換えます。使用可能にする と、 keysh は、現在選択されたソフトキーの実行を完了する際に、ユーザーによる特 定の入力操作が 必要になった場合は必ず、一時的にプロンプトメッセージを表示しま す。このメッセージは、ユーザーが行うべき操作について簡単に説明するものです。 selectors キーボードセレクタの使用について使用可能/使用不能を切り換えます。使用可能にす ると、 keysh は各ソフトキーのラベルに大文字のセレクタ文字を表示します。セレク タ大文字をコーテーションなしでタイプすると、各文字に対応するファンクション キーを押した場合と同じように、ソフトキーが選択されます。セレクタ文字をコー テーションで囲んでタイプすると、その文字の本来の意味になります。セレクタキー は、ソフトキーの数が十分にサポートされていないターミナルで使用することを目的 とするものです。 translations visibles HP-UX コマンドの変換に関する表示の使用可能/使用不能を切り換えます。 表示可能のソフトキーコマンドの表示と確認について使用可能/使用不能を切り換えま す。 状態行の項目の選択 画面の下方に表示する状態行には、 kc status_line コマンドによってさまざまな項目を設定することができま す。次の項目を設定できます。 host_name ホスト名 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-607 keysh(1) keysh(1) user_name ユーザー名 current_dir 現在のディレクトリ mail_status 環境変数 $MAIL に基づくメールステータス (No mail、 You have mail、または You have new mail)。 date 日付 time 時間 このほか、状態行の先頭には、環境変数 $KEYSH (セットされている場合)が必ず表示されます。 keysh の再開 kc restart コマンドを実行すると、 keysh は $HOME/.keyshrc ファイルを再度読み取ります。このコマンドは 通常、 keysh を別のウィンドウで指定した別の設定に更新する際に使用します。 また、 kc restart default コマンドを使用すると、 keysh は $HOME/.keyshrc ファイルを強制的に削除して、デ フォルトの設定から再起動されます。 設定変更の書き込み kc write コマンドにより、 keysh は $HOME/.keyshrc ファイルの再度書き込みます。 その他の設定変更の取り消し kc undo コマンドを使用することにより、 keysh は $HOME/.keyshrc ファイルをもとの内容で書き直す (すな わち、 keysh を呼び出して以降、加えられた変更内容をすべて取り消す) ことができます。 keysh 機能の制限 keysh の機能は、ユーザー個人の希望に応じて、その適用範囲を自由に設定することができます。 通常の HP-UX コマンド名 (コマンドオプションは必ずしも含みません) を使い慣れたユーザー、あるいは tsm ソフトキーを表示しておきたいユーザーは、 kc options visibles off コマンドにより、 keysh がコマンドの入力 待ちの間に、トップレベルのソフトキーメニューの表示を抑制することができます。この場合、 keysh は必要 に応じて、バックアップ ソフトキーまたは tsm ソフトキーを適宜表示します ($HOME/.keyshrc ファイルを編 集して、表示可能のソフトキーを記述した行を削除すれば、 keysh の起動時間が大幅に短縮されます)。 さらに、HP-UX コマンドのオプションにも慣れているユーザーの場合は、 kc options invisibles off コマンドに よって、表示不可能のソフトキーコマンドも抑制させることができます。 また、バックアップ ソフトキーが不要のユーザーについては、 kc options backups off コマンドにより、バック アップ ソフトキーのプログラミングを抑制させることができます。 なお、 visiblesk, invisibles, および backups がすべてオフになっていると、 keysh はソフトキーの処理を まった く行わなくなります。この場合、 keysh はコーンシェルに置き換わって、状態行を表示したり、カーソルの移 動や編集キーの操作を認識するようになります。 Section 1-608 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 keysh(1) keysh(1) 例 トップレベルのソフトキーメニューの最後に od (od(1) を参照) というソフトキーを追加して、 Octal_dump と いうラベルを付けます。 kc softkey add od with_label Octal_dump トップレベルのソフトキーメニューの最初に paste(1) というソフトキーを追加して、 Paste というラベルを付 けます。 kc softkey add paste and_place as_first_softkey トップレベルのソフトキーメニューにある ls (ls(1) を参照) ソフトキーの直前に、 ˜rpt/.softkeys ファイルの emacs というカスタム ソフトキーを追加します。 kc softkey add emacs from_user rpt and_place before_softkey ls 表示不可能のソフトキーをすべて、 ˜rpt/.softkeys ファイルから追加します。 kc softkey add invisibles from_user rpt $HOME/.softkeys ファイルからバックアップ ソフトキーを追加します。 kc softkey add backups トップレベルのソフトキーメニューから Edit_file ソフトキーを削除します。 kc softkey delete Edit_file --Help-- ソフトキーを使用不能に設定します。 kc options help off 状態行にユーザー名を設定します。 kc status_line user_name on 状態行に、最後に実行したコマンドの終了値を設定します。 KEYSH="\${?#0}" 現在のディレクトリにある大きい方から10個のファイルをリストします。 ls long_format | Sort_lines numerically reverse_order starting_at_field 5 | head 標準ソフトキーの定義 Copy_files, Move_files, Print_files, Set_file_attribs, Switch adjust, ar, bdf, cal, cancel, cat, cd, cdb, chatr, chgrp, chmod, chown, cmp, col, comm, cpio, cut, dd, df, diff, dircmp, disable, du, elm, enable, exit, find, fold, grep, head, jobs, kill, lp, lpstat, ls, mailx, make, man, mkdir, more, nm, nroff, od, paste, pg, pr, ps, remsh, rlogin, rm, rmdir, sdiff, set, shar, sort, tail, tar, tee, touch, tr, umask, uname, vi, wc, who, write, xd, xdb HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-609 keysh(1) keysh(1) 外部環境の影響 環境変数 TERM terminfo(4) データベースの定義に基づいて、ターミナルタイプを指定します。この変数は、 keysh 呼び出しの環境変数の一部として指定されているか、または標準コーンシェルの起動 ファイルの1つにセットされていなければなりません。 COLUMNS ターミナル画面のカラム数を指定 (terminfo(4) のデフォルトと異なる場合) します。 LINES ターミナル画面の行数を指定 (terminfo(4) のデフォルトと異なる場合) します。 PAGER ヘルプ表示の際に使用したいページプログラムを指定します。デフォルトは、 more (more(1) を参照) です。 TZ 状態行の日付と時間の表示に使用する時間帯を指定します。デフォルトは、 en_US.roman8 で す。 KEYBEL keysh がベルを鳴らす際にターミナルに送る文字列を指定します。デフォルトは、 ˆG です。 KEYENV 代替の keysh 設定ファイルを指定します。デフォルトは、 $HOME/.keyshrc です。 KEYESC 一連の文字入力をターミナルのエスケープシーケンスの一部として認識させる場合に、各文字 の入力間隔として設定する最大値 (ミリ秒単位) を指定します。デフォルトは、350 ミリ秒で す。 KEYKSH この変数をセットすると、 keysh は可能な限り、コーンシェルの仕様と同じように動作しま す。ソフトキー、状態行のいずれも表示されません。このモードは、低速モデム回線使用時に 利用できます。 KEYLOC この変数をセットすると、コマンドの入力中はターミナルのキーパッドがローカルモードに設 定されます。これは、コーンシェルの仕様を踏襲した動作です。 KEYPS1 この変数をセットすると、 $PS1, $PS2, および $PS3 は初期値にリセットされなくなります。 なお、 $PS1 は、定数文字列でなければなりません ( これは、 keysh がその文字列を認識し て、以降のソフトキー操作を支援できるようにするためです)。 KEYSH KEYSIM keysh の状態行に任意のテキストが入られるようにします。 この変数をセットすると、 keysh は HP ターミナルの内蔵ラベルを無視して、ソフトキーのラ ベルをシミュレートするようになります。 KEYTSM この変数をセットすると、 tsm の動作中に keysh は tsm ソフトキーを使用しなくなります。 この場合、 tsm ホットキー, バックアップキー,または Switch ソフトキーコマンド (上記の 標 準ソフトキーの定義参照) のいずれかを使用して、 tsm ウィンドウを切り換えることができま す。 Section 1-610 Hewlett-Packard Company −8− HP-UX 11i Version 3: February 2007 keysh(1) keysh(1) KSH との相違点 keysh は ksh(1) の拡張バージョンですが、次の点で異なります。 画面の更新 keysh 表示出力の内容を効率的に活用することにより、ターミナルで使用可能な機能を有効利用します。コー ンシェルでは、コマンド行の大半を表示しなおす場合がよくあります。これとは異なり keysh では該当する部 分だけを対象に文字の追加や削除を行うことができます。 この機能により、特に環境変数 $KEYKSH をセットしている場合など、低速モデムの回線を使用する際に、処 理速度を大幅に向上させることができます (上記の 環境変数参照)。 emacs モードの編集 新しいコマンド、 <ESC>v は、vi モードの v コマンドの機能を実行するものです。 最初の ˆN コマンドでは、前に実行されたコマンドを伴ったヒストリ行が呼び出されます。これにより、一連 のヒストリコマンドを簡単に繰り返すことができます。 gmacs の編集モードはサポートされていません。 emacs の編集モードは、 GNU emacs (18.54) の ˆT の定義に準 拠しています。 ˆ@ および <ESC> n ˆK のコマンドは、サポートされていません。 M−<letter> および M-]<letter> のエイリアス機能 (真のソフトキー支援機能としては) はサポートされていませ ん。 vi モードの編集 新しいコマンド o は、emacs モードの ˆO コマンドの機能を実行します。 最初の j コマンドでは、前に実行されたコマンドを伴ったヒストリ行が呼び出されます。これにより、一連の ヒストリコマンドを簡単に繰り返すことができます。 | コマンドはサポートされていません。 @<letter> のエイリアス機能 (真のソフトキー支援機能としては) はサポートされていません。 u コマンドは、emacs 形式のネスト化した取り消しを実行します。また、 u<space> は、通常の vi 形式の取り 消しを実行します。 警告 keysh では、環境変数 $TERM が $HOME/.profile ファイルに正しくセットされていなければなりません。ま た、標準サイズ以外のターミナルで keysh を実行する場合は、 $LINES と $COLUMNS の環境変数も必須にな ります。これらの環境変数がセットされていない場合は、エラーメッセージが出力されるか、または画面の内 容が正しく表示されなくなります。 keysh では、オプション ソフトキーは左から右の順に選択しなければなりません。コマンド行で編集する場合 は、カーソルを前に戻して、ソフトキーの順序を入れ換えることができますが、これはコマンドエラーになり ます。 HP-UX 11i Version 3: February 2007 −9− Hewlett-Packard Company Section 1-611 keysh(1) keysh(1) keysh は $PS1, $PS2, および $PS3 を初期化して、タイプを 読み取り専用に設定します (これを変更することは できません)。これ以外のステータス情報を表示させる場合は、 $KEYSH を使用します。 keysh は通常、自動的に $HOME/.keyshrc ファイルを保守します。ただし、起動時エラーが発生したり、また これが定常的に起きることがあります。この場合は、 kc restart default コマンド ( ファイルを削除して、デ フォルトの設定に戻る)、あるいは kc write コマンド (ファイルを現在の設定で更新する) のいずれかを実行し てください。 keysh では、HP-UX コマンドのエイリアスを多用しないようにする必要があります。エイリアスが多く設定し すぎると、コマンドの変換で予想外の結果が出ることがあります。 keysh はコマンド行で使用したパラメータ数を予測する場合に、コーンシェルの拡張機構の効果は考慮してい ないので、実際に指定した実際のパラメータ数より少なく見積ることがあります。 emacs モードまたは vi モー ドの編集コマンド <ESC>* を使用して、これらのパラメータを事前に拡張しておくことができます。 なお、emacs モードの編集コマンド <ESC>v または vi モードの v を使用して、事前に変換されたソフトキーを 編集することはできません (これ以降のコマンドは変換されないからです)。 keysh ではソフトキーを追加しすぎると、コーンシェルのデータサイズの制限 (1M バイト) を超えることがあ り、誤動作の原因になります。 keysh では、 terminfo(4) のエントリーで pfkey の機能として定義されたものに限って、ファンクションキーを プログラム設定できます。同様に、 keysh で使用できるターミナルのハードウェア ソフトキーのラベルも、 terminfo(4) のエントリーで pln 機能として定義されているもの (同時に lh が2に指定されているもの) だけに限 られます。 $KEYESC のデフォルト値は、ローカルおよびネットワークの環境の両方で必要な応答が得られるように設定 されています。入力した emacs モードまたは vi モードの編集コマンドを keysh が誤ってターミナルのエスケー プシーケンスとみなす場合は、この値を小さく設定してください。 バックアップ ソフトキーで使用するリテラルのキーシーケンス中に \n (改行) を指定すると、HP ターミナルで は正しく表示されなくなります。代わりに、 \r (キャリッジリターン) を使用してください。 keysh は、ソフトキーラベルをシミュレートしている場合は、 tsm のソフトキーは表示しません。 ヘルプの表示中は、ページプログラムに送られる環境変数と引き数の数には制限があります。 多言語化対応 環境変数 LANG により、ソフトキーとメッセージの表示に使用する言語が決定されます。 LC_TIME により、状態行の日付と時間に示す文字列の形式と内容が決定されます。 サポートされるコードセット シングルバイトの文字コードセットがサポートされます。 Section 1-612 Hewlett-Packard Company − 10 − HP-UX 11i Version 3: February 2007 keysh(1) keysh(1) 著者 keysh は HP および AT&T で作成されました。 ファイル /usr/bin/keysh 主要実行可能ファイル /usr/lib/keysh/builtins keysh_config ソフトキー定義ファイル /usr/lib/keysh/$LANG/softkeys 標準ソフトキー定義ファイル /usr/keysh/$LANG/keyshrc デフォルトユーザー設定ファイル /usr/lib/nls/$LANG/keysh.cat メッセージカタログ $HOME/.keyshrc ユーザー設定ファイル $HOME/.softkeys ユーザー ソフトキー定義ファイル 参照 ksh(1), tsm(1), softkeys(4), terminfo(4) HP-UX 11i Version 3: February 2007 − 11 − Hewlett-Packard Company Section 1-613 kill(1) kill(1) 名称 kill − シグナルをプロセスに送信、プロセス強制終了 構文 kill [-s signame] pid ... kill [-s signum] pid ... kill -l 旧バージョン: kill -signame pid ... kill -signum pid ... 説明 kill コマンドは、シグナルを pid プロセス識別子によって指定される各プロセスに送信します。デフォルトの シグナルは SIGTERM で、これは通常、シグナルをトラップしない、または無視するプロセスを強制終了させ ます。 オプション kill が受け付けるオプションは次のとおりです。 -l (エル) インプリメンテーションによってサポートされる signame の値をすべてリストし ます。このオプションではシグナルは送信されません。シグナルのシンボル名 (SIG プレフィックスなし) は、スペースと改行文字で区切って、標準出力に書き 出されます。 -s signame 指定したシグナル名を送信します。デフォルトは SIGTERM で、シグナル番号は 15 です。 signame は、大文字でも小文字でも指定でき、 SIG プリフィックスを付 けても付けなくてもかまいません。これらの値は、 -l オプションを使って取得す ることができます。シンボル名の SIGNULL は、シグナル値ゼロを表します。 「シグナル名とシグナル番号」を参照してください。 -s signum 指定した 10 進のシグナル番号を送信します。デフォルトは 15 で、 SIGTERM で す。「シグナル名とシグナル番号」を参照してください。 -signame -s signame と等価です。(廃止予定) -signum -s signum と等価です。(廃止予定) オペランド pid はプロセス識別子で、次のような値をもつ符号なし整数または負の整数です。 > 0 プロセス番号。 = 0 プロセスグループの ID が送信元のプロセスグループ ID と一致するような、すべてのプロセス (特殊なシステムプロセス以外)。 Section 1-614 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 kill(1) kill(1) ユーザーが適切な特権をもつ場合は、すべてのプロセス (特殊なシステムプロセス以外)。もた =-1 ない場合は、実ユーザー ID または実効ユーザー ID が送信元プロセスのユーザー ID と一致す るような、すべてのプロセス(特殊なシステムプロセス以外)。 プロセスグループの ID が pid の絶対値と等しく、その実ユーザー ID または実効ユーザー ID <-1 が送信元プロセスのユーザーと一致するような、すべてのプロセス(特殊なシステムプロセス 以外)。 プロセス番号は、 ps コマンド ( ps(1)を参照) および一部のシェルで使用可能な jobs 組み込みコマンドを使っ て探すことができます。 シグナル名とシグナル番号 次の表に、ターミナルで使用できる一般的なシグナルをいくつか示します。完全なリストと詳しい説明につい ては、ヘッダーファイルの <signal.h> およびマニュアルエントリーの signal(5) を参照してください。 signum signame 名称 説明 0 1 2 3 9 15 24 25 26 SIGNULL SIGHUP SIGINT SIGQUIT SIGKILL SIGTERM SIGSTOP SIGTSTP SIGCONT ヌル pidへのアクセスをチェック ハングアップ 終了、トラップ可能 割り込み 終了、トラップ可能 停止 コアダンプを出力して終了、トラップ可能 強制終了 強制終了、トラップ不能 終了 終了、トラップ可能 ストップ プロセスの休止、トラップ不能 ターミナルストップ プロセスの休止、トラップ可能 継続 ストップしたプロセスの実行 SIGNULL (0)はヌルシグナルで、エラーチェックを起動しますが、シグナルは実際に送信しません。 pid が存 在するかどうか、またはその妥当性をテストするために使用できます。 SIGTERM (15)は (デフォルトの) 終了シグナルで、受信側のプロセスがトラップすることによって、受信側は 確実にシャットダウンを実行するか、シグナルを完全に無視することができます。操作を確実にするには、良 い方法です。 SIGKILL (9)は強制終了シグナルで、ただちにプロセスを強制的に終了します。 SIGKILL はトラップや無視 ができないため、 SIGTERM に対して応答しないプロセスを終了させる際に有効です。 ユーザーが適切な特権をもっていない限り、受信側のプロセスは送信側のプロセスのユーザーに所属していな ければなりません。 唯一の特例として、継続シグナルの SIGCONT は、送信側のプロセスと同じセッションのメンバーであればどの プロセスにも送信できます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-615 kill(1) kill(1) 戻り値 終了すると、 kill は以下の値のいずれかで戻ります。 一致するプロセスが pid オペランドごとに少なくとも1つみつかり、指定シグナルは少なくとも 0 一致するプロセス1つに対して正常に処理されました。 エラーが発生しました。 >0 例 以下のコマンド、 kill 6135 は、プロセス番号 6135 にシグナルを送信し強制終了させます。これにより、プロセスは適切に終了すること ができます (テンポラリファイルの削除など)。 以下の等価なコマンド、 kill -s SIGKILL 6135 kill -s KILL 6135 kill -s 9 6135 kill -SIGKILL 6135 kill -KILL 6135 kill -9 6135 は、 SIGKILL シグナルをプロセスに送信することで、プロセス番号 6135 を強制終了させます。この行為は、 プロセスを即座に削除するようカーネルに指示します。 警告 プロセスは、スケジューリングされないように (I/O などの) 処理中にハングすると、実行を許可されるときま で終了できません。したがって、そのようなプロセスは強制終了の後でも消えないことがあります。同様に、 現存しないプロセス ( ps(1) を参照) はすでに実行を終了しましたが、親が現存しないプロセスを処置するまで システムに残ります ( wait(2) を参照)。 kill を使用して、現存しないプロセスにシグナルを送信しても効果は ありません。 非 HP-UX インプリメンテーションによっては、シェルの組み込みコマンドとしてのみ kill を用意しているもの もあります。 制約 本書では、外部コマンドの /usr/bin/kill およびPOSIXシェル ( sh-posix(1)を参照)の kill 組み込みコマンドについ て詳しく説明します。 Cやコーン (それぞれ csh(1) と ksh(1) を参照) など他のシェルにも、組み込みコマンド として kill が用意されています。構文や出力はこれらの組み込みコマンドと異なることもあります。 参照 csh(1), ksh(1), ps(1), sh(1), sh-posix(1), kill(2), wait(2), signal(5) Section 1-616 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 kill(1) kill(1) 標準準拠 kill: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-617 kinit(1) kinit(1) 名称 kinit − Kerberos チケット - 認証チケットの取得とキャッシュ 構文 kinit [-l life_time] [-s start_time] [-v] [-p | -P] [-f | -F] [-a | -A] [-k [-t keytab_filename] ] [-r renewable_life] [-R] [-c cache_filename] [-S service-name] [ principal] 説明 kinit は、プリンシパル ( principal) 用の初期チケット - 認証チケットを取得し、キャッシュします。 オプション -l life_time 有効期限の値が life_time で指定した値のチケットを要求します。 life_time の値には、次の区切り文字 のいずれかを後に付ける必要があります。 s 秒 m 分 h 時間 d 日 例えば、90 分は kinit -l 90m のようになります。単位を混在させることはできません。 3h30m という 値はエラーになります。 −l オプションを指定しない場合、(サイトごとに構成される) デフォルトのチケット有効期限が使用さ れます。チケット有効期限を (サイトごとに構成される) チケット有効期限の最大値より長く指定して も、有効期限の最大値を持つチケットになります。 -s start_time start_time から有効になる先付け日付チケットを要求します。 start_time の値には、次の区切り文字の いずれかを後に付ける必要があります。 s 秒 m 分 h 時間 d 日 先付け日付チケットは、 invalid フラグが設定された状態で発行され、使用する前に Kerberos KDC (Key Distribution Center) に返却する必要があります。 −v キャッシュ内の (invalid フラグが設定されている) チケット-認証チケットを有効にするために KDC に 渡すことを要求します。チケットが要求された時間範囲内の場合、キャッシュは有効にされたチケッ トに置換されます。 −p Section 1-618 代理可能なチケットを要求します。 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 kinit(1) kinit(1) −P 代理可能なチケットを要求しません。(Kerberos 4 は適応外) −f 転送可能なチケットを要求します。 −F 転送可能なチケットを要求しません。(Kerberos 4 は適応外) −a ローカルアドレスを持ったチケットを要求します。 −A アドレスを持たないチケットを要求します。(Kerberos 4 は適応外) -r renewable_life 総有効期限が renewable_life の更新可能なチケットを要求します。 renewable_life の値は、次の区切り 文字のいずれかを後に付ける必要があります。 −R s 秒 m 分 h 時間 d 日 チケット- 認証チケットの更新を要求します。チケットが更新可能期間内であっても、期限切れのチ ケットは更新できないことに注意してください。 −k [-t keytab_filename] ローカルホストの keytab ファイル内のキーから得られるホストチケットを要求します。 keytab ファイ ルの名前と位置は、 −t keytab_filename オプションで指定できます。指定しない場合、デフォルトの名 前と位置が使用されます。 -c cache_filename 証明書チケットキャッシュの名前と位置として、 cache_filename を使用します。このオプションを省 略すると、デフォルトの名前と位置が使用されます。 デフォルトの証明書キャッシュは、システムによって異なります。 KRB5CCNAME 環境変数を設定 すると、その値はデフォルトのチケットキャッシュの指定として使用されます。キャッシュの既存の 内容は、 kinit によって破棄されます。 -S service_name 初期チケットの取得時に使用する代替サービス名を指定します。 principal 既存のキャッシュが存在する場合、そのプリンシパル名を使用します。 kinit は [appdefaults] セクションをサポートします。ここで指定されている関係はコマンド行オプションで オーバーライドできます。 kinit の [appdefaults] セクションでは、以下の関係がサポートされています。 forwardable ユーザーが転送可能なチケットを持つ場合、この関係を指定します。設定可能な有効値 は: true, false, yes, y, no, n, on, off。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-619 kinit(1) kinit(1) ユーザーが代理可能なチケットを持つ場合、この関係を指定します。設定可能な有効値 proxiable は: true, false, yes, y, n, on, off。 この関係は取得するチケットの有効期限を指定します。有効期限の単位は秒、分、時 tkt_lifetime 間、日のいずれかです。 renew_lifetime この関係は取得するチケットの更新可能有効期限を指定します。有効期限の単位は秒、 分、時間、日のいずれかです。 注意 DCE操作では、 /opt/dce/bin/kinit を使用します。 外部影響 環境変数 kinit は、次の環境変数を使用します。 KRB5CCNAME 証明書チケットキャッシュの位置 著者 kinit は、マサチューセッツ工科大学で開発されました。 ファイル /tmp/krb5cc_{uid} デフォルトの証明書キャッシュ ({uid} は、ユーザーの 10 進数の UID) /etc/krb5.keytab ローカルホストの keytab ファイルのデフォルト位置 参照 kdestroy(1), klist(1), libkrb5(3), kerberos(5). Section 1-620 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 klist(1) klist(1) 名称 klist − キャッシュされた Kerberos チケットのリスト 構文 klist [-e] [ [-c] [-f] [-s] [-a [-n] ] [cache_filename] ] [-k [-t] [-K] [keytab_filename] ] 説明 klist は、証明書キャッシュに保持された Kerberos プリンシパルと Kerberos チケット、または keytab ファイル に保持されたキーをリストします。 オプション −e セッションキーおよび証明書キャッシュ内の各証明書のチケットの暗号化タイプ、または keytab ファイル内の各キーを表示します。 −c 証明書キャッシュに保持されたチケットをリストします。 −c と −k のどちらも指定していない場合 には、これがデフォルトです。 −f −s 証明書内に存在するフラグを次の略語で表示します。 F 転送可能 f 転送済み P 代理可能 p 代理 D 先付け日付可能 d 先付け日付済み R 更新可能 I 初期 i 無効 A 事前認証 H ハードウェア認証 T 通過フィールドチェック済み O サーバー委任可 a 匿名チケット klist 出力なしで実行しますが、証明書キャッシュが見つかったかどうかに従って、終了状態を設定 します。 klist が証明書を見つけた場合、終了状態は ‘0’ で、見つからなかった場合には ‘1’ になり ます。 −a 証明書のアドレスリストを表示します。 −n アドレスを名前でなく数字で表示します。 −k keytab ファイルに保持されたキーをリストします。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-621 klist(1) −t klist(1) keytab ファイルの各 keytab エントリーについて、タイムエントリーのタイムスタンプを表示しま す。 −K keytab ファイル内の keytab エントリーの暗号化キーの値を表示します。 cache_filename や keytab_filename を省略すると、 klist は、デフォルトの証明書キャッシュまたは keytab ファイ ル内の証明書を表示します。 KRB5CCNAME 環境変数を設定すると、その値はデフォルトのチケットキャッ シュの指定として使用されます。 注意 DCE 操作では、 /opt/dce/bin/klist を使用します。 外部影響 環境変数 klist は、次の環境変数を使用します。 KRB5CCNAME 証明書 (チケット) キャッシュの位置 著者 klist は、マサチューセッツ工科大学で開発されました。 ファイル /tmp/krb5cc_{uid} デフォルトの証明書キャッシュ ({uid} は、ユーザーの 10 進数の UID) /etc/krb5.keytab keytab ファイルのデフォルト位置 参照 kdestroy(1), kinit(1), kerberos(5). Section 1-622 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 kpasswd(1) kpasswd(1) 名称 kpasswd − ユーザーの Kerberos パスワードの変更 構文 kpasswd [ principal] 説明 kpasswd コマンドは、Kerberos プリンシパルのパスワードを変更するために使用します。 kpasswd は、現在の Kerberos パスワードの入力を促します。このパスワードは、ユーザーの Kerberos レルム (realm) の KDC (Key Distribution Center) から、 changepw チケットを取得するために使われます。 kpasswd が、 changepw チケット を正常に取得した場合、ユーザーは新しいパスワードの入力を 2 度促され、パスワードが変更されます。 プリンシパルが新しいパスワードに必要な文字クラスの長さや数を指定する方針で管理されている場合、新し いパスワードはその方針に適合させる必要があります。 5 つの文字クラスは、小文字、大文字、数字、区切り 記号、およびその他の文字です。 オプション principal Kerberos プリンシパルのパスワードを principal に変更します。既存のキャッシュにプリンシ パル名がある場合、 kpasswd は、そのプリンシパル名を使用します。そうでない場合、プリ ンシパルは、 kpasswd コマンドを実行したユーザーの身元から生成されます。 注意 kpasswd は、まず現在のレルムの下で、 krb5.conf ファイルの [realms] セクション内の kpasswd_server = host:port を探します。これが見つからない場合、 kpasswd は、admin_server エントリーを探し、ポートを 464 に置き換えます。 著者 kpasswd は、マサチューセッツ工科大学で開発されました。 ファイル /etc/krb5.conf Kerberos の構成ファイル 参照 krb5.conf(4), kerberos(5). HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-623 ksh(1) ksh(1) 名称 ksh, rksh − シェル、標準または制限付きコマンドプログラミング言語 構文 ksh [−aefhikmnoprstuvx] [+aefhikmnoprstuvx] [−o option]... [+o option]... [-c string] [arg]... rksh [−aefhikmnoprstuvx] [+aefhikmnoprstuvx] [−o option]... [+o option]... [-c string] [arg]... 説明 ksh は、ターミナルまたはファイルから読み取ったコマンドを実行するコマンドプログラミング言語です。 rksh は、コマンドインタプリタ ksh の制限付きバージョンで、標準シェルより機能を制限した実行環境を持つ ログ名の設定に使用されます。コマンド行オプションと引き数の詳細については、後述の「ksh の実行」と 「特殊コマンド」の項 (特に set コマンドの説明) を参照してください。 定義 メタキャラクタ 以下のいずれかです。 ; & ( ) | < > 改行 スペース タブ 空白 タブまたはスペースのことです。 識別子 英字またはアンダースコアで始まる、英字、数字、またはアンダースコアのシーケンスです。 識別子は、関数および 名称付きパラメータの名称として用いられます。 ワード 引用符で囲まれていない1つ以上のメタキャラクタによって分離された文字の並びです。 コマンド シェル言語の構文に従った文字の並びです。シェルは各コマンドを読み取り、目的のアクショ ンを直接または別のユーティリティを呼び出して実行します。 特殊コマンド 別のプロセスを生成せずにシェルが実行するコマンドです。「組み込みコマンド」とも呼びま す。説明されている副作用を除けば、ほとんどの特殊コマンドを別のユーティリティとして実 現することができます。 # # 文字はコメントの始まりとして解釈されます。後述の「引用」の項を参照してください。 コマンド 単純コマンドは、空白で区切られたワードのシーケンスで、その前にパラメータ割り当てリストを指定できま す (後述の「環境」の項を参照)。最初のワードは、実行するコマンドの名称を指定します。残りのワードは、 下記に示された要素を除いて、実行するコマンドに引き数として渡されます。コマンド名は0番目の引き数と して渡されます (exec(2) を参照)。単純コマンドの値は、コマンドが正常終了した場合には終了ステータス、異 常終了した場合には (8 進数の) 200+ ステータスとなります ( ステータス値のリストについては signal(5) を参 照)。 パイプラインは、| で区切られた1つ以上の コマンドのシーケンスです。最後のコマンドを除く各コマンドの標 準出力は、パイプ ( pipe(2) を参照) によって次のコマンドの標準入力に連結されます。各コマンドは別個のプ Section 1-624 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) ロセスとして実行され、シェルは最後のコマンドの終了を待ちます。パイプラインの終了ステータスは、パイ プラインの最後のコマンドの終了ステータスです。 リストは、;, &, &&, または || で区切られ、オプションの ;, &, または |& で終わる1つ以上のパイプラインの シーケンスです。これらの5つの記号のうち、;, &, および |& の優先順位は同じです。 && および || の優先順 位は同じであり、他のものより上位になります。記号セミコロン (;) は、前のパイプラインを逐次実行しま す。アンパサンド (&) は、その前のパイプラインを非同期的に実行します (つまり、シェルはこのパイプライ ンの実行の終了を待ちません)。記号 |& は、親シェルに対して双方向のパイプを設定した形でその前のコマン ドまたはパイプラインを非同期的に実行します (コプロセスと呼びます)。親シェルは、生成したコマンドの標 準入力への書き込みや標準出力からの読み取りを、後述の特殊コマンド read と print の -p オプションを用い て実行することができます。記号 && ( ||) は、前のパイプラインが戻した値がゼロ (ゼロ以外) の場合にのみ、 その後の リストを実行します。 リストの中には、コマンドの区切りとして、任意の数の改行をセミコロンの代 わりに指定することができます。 コマンドは、単純コマンドであるか、または以下のいずれかです。特に説明がない限り、コマンドが戻す値 は、そのコマンドの中で最後に実行された単純コマンドが戻す値になります。 for identifier [ in word ... ] do list done for コマンドが実行されるたびに、identifier には in word リスト中の次の word が設定されま す。 in word ... を省略すると、for コマンドは、設定されている各位置パラメータにつき1回 ずつ do list が実行されます (後述の「パラメータの置換」の項を参照)。実行は、リスト中に ワードがそれ以上なくなると終了します。 select identifier [ in word... ] do list done select コマンドは、各 word の前に番号を付けた形で一連のワードを標準エラー出力 (ファイ ル記述子2) にプリントします。 in word ... を省略すると、代わりに位置パラメータが使用さ れます (後述の「パラメータの置換」の項を参照)。 PS3 プロンプトがプリントされ、標準入 力から1行読み取られます。この行がリストされた word の1つの番号で始まる場合には、パ ラメータ identifier の値はこの番号に一致する word に設定されます。読み取られた行が空行の 場合には、選択リストが再びプリントされます。それ以外の場合には、パラメータ identifier の値としてヌルが設定されます。標準入力から読み取られた行の内容は、パラメータ REPLY にセーブされます。 list は、各選択操作について、break または end-of-file (eof ) が検出される まで実行されます。 case word in [ [ ( ] pattern [ | pattern ] ... ) list ;; ] ... esac case コマンドは、word と一致する最初の pattern に対応する list を実行します。パターンの形 式はファイル名の生成で使用する形式と同一です ( 後述の「ファイル名の生成」の項を参 照)。 if list then list [ elif list then list ] ... [ else list ] fi if の後の list を実行した結果、ゼロの exit ステータスが戻されると、最初の then の後の list が実行されます。この exit ステータスがゼロ以外の場合には、elif の後の list が実行され、戻 された値がゼロの場合には、次の then の後の list が実行されます。戻された値がゼロ以外の HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-625 ksh(1) ksh(1) 場合には、else list が実行されます。 else list も then list も実行されなかった場合、if はゼロ の exit ステータスを戻します。 while list do list done until list do list done while コマンドは while list を繰り返し実行し、リストの最後のコマンドの exit ステータスが ゼロならば、do list を実行します。ゼロ以外の場合には、ループを終了します。 do list の中 のコマンドが実行されなかった場合、while コマンドはゼロの exit ステータスを戻します。 while の代わりに until を使用すれば、ループ終了テストの条件を逆にすることができます。 list を別個の環境で実行します。ネストするために2つの左かっこを隣接させる必要がある場 ( list ) 合には、算術評価 (後述) を避けるためにスペースを挿入しなければなりません。 list を実行しますが、別の環境にはなりません。 { はキーワードなので、認識させるには後ろ { list ;} に空白が必要であることに注意してください。 [[ expression ]] expression を評価し、expression が真ならば、ゼロの exit ステータスを戻します。 expression の説明については、後述の「条件式」の項を参照してください。 [[ と ]] はキーワードなの で、いずれも expression との間に空白が必要であることに注意してください。 function identifier { list ;} identifier () { list ;} identifier という名称の関数を定義します。関数の本体は { と } の間のコマンドのリスト list で す (後述の「関数」の項を参照)。 time pipeline pipeline が実行され、経過時間、ユーザー時間、およびシステム時間が、標準エラー出力にプ リントされます。 time キーワードは、pipeline 内のどの位置に指定しても、pipeline 全体の時 間を計測します。 pipeline 内で特定のコマンドの時間を計測する方法については、time(1) を 参照してください。 以下に示すキーワードが認識されるのは、コマンドの最初のワードで、かつ引用符で囲まれていない場合に限 られます。 if then else elif fi case esac for while until do done { } function select time [[ ]] コメント # で始まるワードを記述すると、そのワードおよび改行までのすべての後続の文字が無視されます。 エイリアス化 各コマンドの最初のワードは、そのワードにエイリアスが定義されていると、そのエイリアスのテキストに置 き換えられます。エイリアス名 は任意の個数の文字から構成され、メタキャラクタ、引用符となる文字、ファ イル拡張子文字、パラメータ置換文字とコマンド置換文字、および = を除く文字が使用できます。置換文字列 には、上記のメタキャラクタを含む任意の有効なシェルに渡すことが可能な文字を含めることができます。置 換されたテキスト中の各コマンドの最初のワードは、置き換え処理中のもの以外については、さらに他のエイ Section 1-626 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) リアスかどうかテストされます。エイリアスの値の最後の文字が空白の場合には、そのエイリアスの後のワー ドについても、エイリアスの置換を行うかどうかチェックされます。 エイリアスは特殊な組み込みコマンドの再定義に使用できますが、上記のキーワードの再定義には使用できま せん。エイリアスの作成、リスト、エクスポートは alias コマンドを用いて実行可能で、エイリアスの削除は unalias コマンドで実行できます。エクスポートされたエイリアスはサブシェルでも有効ですが、シェルを実行 するたびに別々に初期化し直す必要があります (後述の「ksh の実行」の項を参照)。 エイリアス化は、スクリプトが実行されている間にではなく、読み取られる際に行われます。したがって、エ イリアスを実際に有効とするには、そのエイリアスを参照しているコマンドが読み取られる前に alias コマン ドが実行されなければなりません。 エイリアスは、絶対パス名の省略形としてよく使用されます。エイリアス機能のオプションにより、エイリア スの値に、対応するコマンドの絶対パス名を自動的に設定できます。このようなエイリアスは、パス名をト ラックされた エイリアスと呼ばれます。パス名をトラックされたエイリアスの値は、最初に識別子が読み取ら れたときに定義され、PATH 変数がリセットされるたびに定義が解除されます。このエイリアスはパス名をト ラックされた状態を維持するため、次の参照によって再び値が定義されます。一部のパス名をトラックされた エイリアスは、シェルに組み込まれます。 set コマンドで -h オプションを使用すると、識別子である各コマン ド名がパス名をトラックされたエイリアスに変換されます。 以下のエクスポートされたエイリアス はシェルに組み込まれていますが、設定の解除または再定義が可能で す。 autoload=’typeset -fu’ false=’let 0’ functions=’typeset -f’ hash=’alias -t -’ history=’fc -l’ integer=’typeset -i’ nohup=’nohup ’ r=’fc -e -’ stop=’kill -STOP’ suspend=’kill -STOP $$’ true=’:’ type=’whence -v’ ティルド(˜)の置換 エイリアスの置換の実行後、各ワードは、引用符で囲まれていない ˜ で始まるかどうかチェックされます。 ˜ で始まっている場合には、そのワードの / までの部分が、/etc/passwd ファイルの中のユーザー名と一致するか どうかチェックされます。一致するものが見つかると、˜ および一致したログイン名は、一致したユーザーの ログインディレクトリに置き換えられます。これをティルドの置換と呼びます。一致するものが見つからなけ れば、元のテキストは変更されません。単独の ˜ 、あるいは / の前の ˜ は、HOME パラメータの値に置き換え られます。 ˜ の後に + または - が続く場合、˜ はそれぞれパラメータ PWD および OLDPWD の値に置き換え HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-627 ksh(1) ksh(1) られます。また、パラメータに割り当てる値が ˜ で始まる場合にも、ティルドの置換が実行されます。 コマンドの置換 コマンドを、前にドル符号を付けた小かっこ ( $(command) ) またはバックコーテーション ( `command` ) で囲む ことにより、そのコマンドからの標準出力を1 つのワードまたはワードの一部として使用することができま す。末尾の改行は削除されます。 2番目の形式 (旧形式) の場合には、コーテーションの間の文字列の中に特殊 な引用文字があれば、コマンドの実行前に処理されます (下記の「引用」を参照)。 $(cat file) というコマンド 置換の代わりに、より高速で同等な $(<file) を使用できます。 入出力リダイレクションを実行しない大部分の特殊コマンド (組み込みコマンド) のコマンド置換は、別のプロ セスを生成せずに実行されます。ただし、関数のコマンド置換によって、その関数および関数内のすべてのコ マンド (組み込みまたはそれ以外) を実行するために別のプロセスが生成されます。 ドル符号が前に付いた二重の小かっこで囲まれた算術式 ($((expression))) は、二重小かっこ内の算術式の値で置 き換えられます (算術式の説明については、後述の「算術式の評価」の項を参照)。 パラメータの置換 パラメータとは、識別子、数字 (1個 - 複数個)、または *, @, #, ?, -, $, および ! のいずれかの文字です。名称付 きパラメータ は、識別子によって表されるパラメータで、値と属性 (0個 - 複数個) を持っています。名称付き パラメータには、typeset 特殊コマンドを用いて値と属性を割り当てることができます。 ksh がサポートしてい る属性については、typeset 特殊コマンドの説明とともに後述します。エクスポートされたパラメータは、値と 属性を環境に渡します。 このシェルは、1次元配列機能を限定的にサポートしています。配列パラメータの要素は添え字によって参照 されます。添え字は、算術式を [ と ] の間に記述して表します (下記の「算術式の評価」の項を参照)。配列へ の値の割り当ては、set -A name value ... を用いて行います。添え字の値はすべて 0 から 1023 の範囲になけれ ばなりません。配列を宣言する必要はありません。有効な添え字による名称付きパラメータへの参照はすべて 正当で、必要に応じて配列が作成されます。添え字なしで配列を参照すると、配列の最初の要素が参照されま す。 名称付きパラメータの値は、次のような記述によって割り当てることもできます。 name=value [ name=value ] ... name に整数属性 -i が設定されている場合には、value に対して後述の算術評価が実行されます。 位置パラメータは、数値で表されるパラメータで、set 特殊コマンドを用いて値を割り当てることができま す。パラメータ $0 には、シェルの起動時に引き数0の値が設定されます。 文字 $ は、置換可能なパラメータを示すために使用します。 ${ parameter} パラメータに値があれば、その値で置き換えます。 parameter の後にパラメータ 名の一部と解釈してはならない英字、数字、またはアンダースコアが続く場 合、または名称付きパラメータに添え字が付いている場合には、中かっこが必 要となります。 Section 1-628 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) parameter が1 つまたは複数の数字である場合、それは位置パラメータです。 2 個以上の数字の位置パラメータは中かっこで囲まなければなりません。 parameter が * または @ の場合には、$1 以降のすべての位置パラメータに置き換えら れます (各位置パラメータはフィールド分離文字で区切られます)。添え字とし て * または @ を伴った配列 identifier を指定した場合には、その配列の各要素 の値に置き換えられます (各値はフィールド分離文字で区切られます)。シェル は、${ から対応する } まで間のすべての文字を、中かっこやメタキャラクタが 中に含まれている場合でも、同じワードの一部分として読み取ります。 ${# parameter} parameter が * または @ の場合には、位置パラメータの数に置き換えられま す。これ以外の場合には、parameter の値の長さに置き換えられます。 ${#identifier[*]} ${ parameter:-word} 配列 identifier の要素の数に置き換えられます。 parameter がヌル以外に設定されている場合には、その値に置き換えられます。 それ以外の場合には、word に置き換えられます。 ${ parameter:=word} parameter が未設定またはヌルの場合には、parameter が word に設定され、その 後でパラメータの値に置き換えます。位置パラメータをこの方法で割り当てる ことはできません。 ${ parameter:?word} parameter がヌル以外に設定されている場合には、その値に置き換えます。それ 以外の場合には、word をプリントし、シェルから抜け出します。 word を省略 した場合には、標準メッセージがプリントされます。 ${ parameter:+word} parameter がヌル以外に設定されている場合には、word に置き換えられます。 それ以外の場合、置換は実行されません。 ${ parameter# pattern} ${ parameter## pattern} pattern が parameter 値の最初の部分と一致した場合には、その parameter の値 から一致した部分を削除した値が、置換結果の値となります。それ以外の場合 には、この parameter の値に 置き換えられます 。第1 の形式の場合には、最小 のマッチングパターンが削除され、第2の形式の場合には、最大のマッチングパ ターンが削除されます。 ${ parameter% pattern} ${ parameter%% pattern} pattern が parameter の値の最後の部分と一致した場合には、その parameter の 値から一致した部分を削除した値に置き換えられます。それ以外の場合には、 parameter の値に置き換えられます。第1 の形式の場合には、最小のマッチング パターンが削除され、第2の形式の場合には、最大のマッチングパターンが削除 されます。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-629 ksh(1) ksh(1) 上記の場合、word の評価は、word が置換結果となる文字列として使用されない限り、実行されませ ん。したがって、次の例では、d が未設定の場合かヌルの場合に限って pwd が実行されます。 echo ${d:-$(pwd)} 上記のそれぞれの式からコロン (:) を省略すると、シェルは parameter が設定されているかどうかのみ をチェックします。 以下のパラメータはシェルが自動的に設定します。 # 位置パラメータの数 (10進数) - シェルの起動時に、または set コマンドによって、シェルに渡されたオプション ? 最後に実行したコマンドが戻した 10進値 $ このシェルのプロセス番号 _ _ の初期値は、実行中のシェルまたはスクリプトの環境に渡された絶対パスです。そ の後、前のコマンドの最後の引き数が割り当てられます。ただし、非同期で実行され るコマンドについては、このパラメータは設定されません。このパラメータは、メー ルのチェックの際に、一致した MAIL ファイルの名称を保持するのにも使用されま す。 最後に実行されたバックグラウンドコマンドのプロセス番号 ! COLUMNS この変数が設定されていると、この変数の値を使用して、シェルのエディットモード と select のリスト表示用のエディットウィンドウの幅が規定されます。ウィンドウ環 境では、シェルはウィンドウサイズの変化を検出すると、COLUMNS の値をアップ デートします。 ERRNO 異常終了した最後のシステムコールによって設定された errno の値です。この値はシ ステム依存で、デバッグに使用されます。 LINENO LINES 実行中のスクリプトまたは関数内の現在の行の行番号 この変数に値を設定すると、その値を用いて select コマンドのリスト表示のカラム長 が決定されます。 select コマンドのリストは LINES の値の約3分の2の行数に達する まで、縦方向にプリントされます。ウィンドウ環境では、シェルはウィンドウサイズ の変化を検出すると、LINES の値をアップデートします。 Section 1-630 OLDPWD cd コマンドが設定した前のワーキングディレクトリ OPTARG getopts 特殊コマンドが処理した最後のオプション引き数の値 OPTIND getopts 特殊コマンドが処理した最後のオプション引き数のインデックス PPID シェルの親プロセスのプロセス番号 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) PWD RANDOM cd コマンドが設定した現在のワーキングディレクトリ このパラメータが評価されるたびに、0から 32767 の間に一様分布する整数の乱数が 生成されます。 RANDOM に数値を割り当てれば、乱数のシーケンスを初期化できま す。 REPLY このパラメータは、select 文によって、また引き数の指定がない場合の read 特殊コマ ンドによって設定されます。 SECONDS このパラメータが参照されるたびに、シェルの実行後に経過した秒数が戻されます。 このパラメータに値が割り当てられている場合には、このパラメータの参照時に戻さ れる値は、割り当てられた値に、割り当て後の経過秒数を加えた数値になります。 以下のパラメータはシェルによって使用されます。 CDPATH cd コマンド用の捜索パス EDITOR この変数の値が emacs, gmacs, または vi で終わっており、しかも VISUAL 変数が設定 されていない場合には、対応するオプションがオンになります (後述の「特殊コマン ド」の項の set を参照)。 ENV このパラメータが設定されている場合には、その値に対して置換を実行することによ り、シェルの起動時に実行するスクリプトのパス名を生成します ( 後述の「ksh の実 行」の項を参照)。通常、このスクリプトファイルは、エイリアスや関数を定義する ために使用されるものです。 FCEDIT FPATH fc コマンド用のデフォルトエディター名 関数定義用の検索パスです。 -u 属性を持つ関数が参照されたとき、およびコマンド が見つからないときにこのパスが検索されます。実行可能ファイルが見つかった場 合、そのファイルは現在の環境内で読み取られて実行されます。 IFS 内部的なフィールド分離文字で、通常は、 スペース、 タブ、および 改行です。これ は、コマンドやパラメータの置換で生成されたコマンドワードを区切ったり、特殊コ マンド read による入力行をワードに分割するために使用されます。 IFS パラメータ の最初の文字は、"$*" の置換で引き数を区切るために使用されます (後述の「引用」 の項を参照)。 HISTFILE シェルの起動時にこのパラメータを設定すると、このパラメータの値は、コマンドの 履 歴 の 保 存 に 使 用 さ れ る ファ イ ル の パ ス 名 と な り ま す。 デ フォ ル ト 値 は $HOME/.sh_history です。ユーザーが適切な特権を持ち、HISTFILE が設定されてい ない場合には、ヒストリファイルは使用されません ( 後述の「コマンドの再入力」の 項を参照)。 HISTSIZE シェルの起動時にこのパラメータを設定すると、前に入力したコマンドがこのパラ メータの値以上の個数だけ保存され、このシェルでアクセス可能となります。デフォ HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-631 ksh(1) ksh(1) ルト値は 128 です。 HOME cd コマンドのデフォルト引き数 (ホームディレクトリ) MAIL このパラメータにメールファイル名が設定され、MAILPATH パラメータは設定され ていない場合、シェルは指定されたファイルへのメールの到着をユーザーに通知しま す。 MAILCHECK この変数は、MAILPATH または MAIL パラメータで指定された全ファイルの変更時 刻の変化をシェルがチェックする頻度 ( 秒単位) を指定します。デフォルト値は 600 秒です。指定された時間が経過すると、シェルは次のプロンプトを表示する前にこの チェックを実行します。 MAILPATH これは、コロン (:) で区切ったファイル名のリストです。このパラメータが設定され ている場合、シェルは、ここで指定されたファイルに対して直前の MAILCHECK 秒 内に行われた変更をすべてユーザーに通知します。各ファイル名の後には ? およびプ リントするメッセージを続けることができます。その場合、このメッセージに対して はパラメータ置換とコマンド置換が実行され、パラメータ $_ は、変更されたファイ ルの名称に置き換えられます。デフォルトのメッセージは you have mail in $_ です。 PATH コマンドの捜索パスです (後述の「実行」の項を参照)。 rksh を実行している場合に は、.profile ファイル以外の場所で PATH を変更することはできません。 このパラメータの値は、パラメータの置換で展開され、1次プロンプト文字列 (デフォ PS1 ルトはスペース文字が後続する $ ) を規定します。1次プロンプト文字列の中の文字 ! はコマンド番号に置き換えられます (後述の「コマンドの再入力」の項を参照)。プロ ンプトに ! を入れるには、!! を使用します。 PS2 2次プロンプト文字列で、デフォルトはスペース文字が後続する > です。 PS3 select ループの中で使用される選択プロンプト文字列で、デフォルトは #? です。 このパラメータの値は、パラメータの置換で展開され、実行トレースの各行の前に表 PS4 示されます。 PS4 が設定されていない場合、実行トレースプロンプトはスペース文字 が後続する + となります。 SHELL これはシェルのパス名で、環境内に保持されます。この変数の値のベース名の部分に r が含まれる場合、シェルは制限付きのシェルとして起動されます。 TMOUT ゼロよりも大きな値を設定すると、PS1 プロンプトが表示されてから一定の秒数内に コマンドが入力されない場合、シェルは終了します。 VISUAL この変数の値が、emacs, gmacs, または vi で終わる場合、対応するコマンドが実行さ れます (後述の「特殊コマンド」の項の set を参照)。 シェルはパラメータ PATH, PS1, PS2, MAILCHECK, TMOUT, および IFS にデフォルト値を設定します。パラ メータ HOME, SHELL, ENV, および MAIL については、シェルは値を自動的に設定しません。 HOME, Section 1-632 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) SHELL, および MAIL は、login(1) が設定します。 ブランクの解釈 パラメータの置換とコマンドの置換の実行後、置換の結果として生成されたテキストの中からフィールド分離 文字 (IFS に設定された文字) が捜し出され、フィールド分離文字の位置でテキストが分割され、それぞれ別個 の引き数になります。 ksh は、明示的なヌル引き数 ( または ’ ’) はそのまま残しますが、 ( 値を持たない parameters から生成された) 暗黙のヌル引き数は削除します。 ファイル名の生成 置換の実行後、各コマンドの word は、-f オプションが 設定されていない限り、 1つのパターンとして処理さ れ、ファイル名展開されます。パターンの形式は、regexp(5) で定義されているパターンマッチング表記です。 ワードは、そのパターンと一致したファイル名のソート結果で置き換えられます。パターンと一致するファイ ル名が見つからない場合、ワードは変更されません。 regexp(5) で説明されている表記法のほか、ksh は、1つまたは複数のパターンリスト | で区切ったもの) から構 成された複合パターンを認識します。複合パータンは以下の形式で指定することができます。 ?( pattern-list) 指定されたパターンのいずれか1つと一致することがあります。 *( pattern-list) 指定されたパターンの0個以上と一致します。 +( pattern-list) 指定されたパターンの1個以上と一致します。 @(pattern-list) 指定されたパターンのいずれか1個だけと一致します。 !( pattern-list) 指定されたパターン以外の任意のものと一致します。 コーテーションの使用 前述の メタキャラクタ (「定義」の項を参照) はそれぞれシェルにとって特殊な意味があり、引用符で囲まな い限り、ワードを終了させます。文字の前に \ を記述することにより、その文字を引用する (文字自体の本来 の意味を表現させる) ことができます。 \改行という文字ペアは無視されます。 1組のシングルコーテーション マーク (’ ’) で囲んだ文字はすべて引用されます。 シングルコーテーションの中にシングルコーテーションを入れることはできません。ダブルコーテーション マーク (" ") の中では、パラメータの置換とコマンドの置換が実行され、\ によって、文字 \, `, ", および $ が引 用されます。 $* および $@ の意味は、引用されていない場合あるいはパラメータへの割り当て値やファイル 名として使用された場合には、同一となります。しかし、コマンド引き数として使用すると、 "$*" は "$1d $2d ..." (ただし d は IFS パラメータの最初の文字) と同等になるのに対して、"$@" は "$1" "$2" と同等 になります。 バックコーテーションマーク (` `) の中では、\ によって、文字 \, `, および $ が引用されます。 ダブルコーテーションの中にバックコーテーションが存在する場合には、\ 文字 " は \ で引用しなければなり ません。 キーワードやエイリアスの特殊な意味は、キーワードの任意の文字を引用することによって取り除くことがで きます。ただし、後述の項でリストされている関数名と特殊コマンド名については、引用しても別の意味に認 HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-633 ksh(1) ksh(1) 識させることはできません。 算術式の評価 整数演算は、特殊コマンド let によって実行することができます。評価は long型の算術演算を用いて実行され ます。定数は [ base# ]n の形式で、base は算術演算基数を表す2から 36 までの 10進数、n はその基数表現での 数値です。 base を省略すると、基数として 10 が使用されます。 算術式は、C言語の式と同一の構文、優先順位、結合法則を使用します。 ++, - -, ?:, および , を除くすべての整 数演算子がサポートされています。算術式の中では、変数への参照をパラメータ置換構文を使用せずに名称に よって行うことができます。変数が参照されると、その値が算術式として評価されます。 変数の内部的な整数表現は、typeset 特殊コマンドの -i オプションを用いて指定することができます。算術評 価は、各変数に -i 属性で代入された値に対して行われます。演算基数を指定しない場合には、変数への最初の 割り当てによって演算基数が決定されます。この基数は、パラメータ置換の実行時に使用されます。 多数の算術演算子は引用を必要とするので、let コマンドの代わりとなる構文が用意されています。 (( で始ま るすべてのコマンドについて、対応する )) までの間のすべての文字は、引用された式として処理されます。よ り正確には、((...)) は let " ..." と同等です。 プロンプト シェルを対話的に使用すると、シェルはコマンドを読み取る前に PS1 の値をプロンプトとして表示します。改 行の入力後、コマンドを完結させるために入力がさらに必要な場合には、2次プロンプト( PS2 の値) が表示さ れます。 条件式 条件式 は、ファイルの属性のテストや文字列の比較を行うために、[[ 複合コマンドとともに使用されます。 ワードの分割とファイル名の生成は、[[ と ]] の間にあるワードに対しては実行されません。各条件式は、以下 に示す単項式または2項式を1個以上使用して構成することができます。 -a file file が存在すれば真となります。 -b file file が存在し、ブロックスペシャルファイルであれば、真となります。 -c file file が存在し、キャラクタスペシャルファイルであれば、真となります。 -d file file が存在し、ディレクトリであれば、真となります。 -f file file が存在し、通常ファイルであれば、真となります。 -g file file が存在し、その setgid ビットがセットされていれば、真となります。 -h file file が存在し、シンボリックリンクであれば、真となります。 -k file file が存在し、スティッキービットがセットされていれば、真となります。 -n string string の長さがゼロ以外であれば、真となります。 -o option option という名称のオプションがオンであれば、真となります。 -p file file が存在し、 FIFO スペシャルファイルまたはパイプであれば、真となりま す。 -r file Section 1-634 file が存在し、現在のプロセスによって読み取り可能であれば、真となります。 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) -s file -t fildes file が存在し、サイズがゼロより大きければ、真となります。 fildes が示す番号のファイル記述子がオープンしており、ターミナルデバイスに 関連づけられていれば、真となります。 -u file file が存在し、その setuid ビットがセットされていれば、真となります。 -w file file が存在し、現在のプロセスによって書き込み可能であれば、真となります。 -x file file が存在し、現在のプロセスによって実行可能であれば、真となります。 file が存在し、ディレクトリの場合には、現在のプロセスがそのディレクトリの検 索パーミッションを持っていれば、真となります。 -z string string の長さがゼロであれば、真となります。 -L file file が存在し、シンボリックリンクであれば、真となります。 -O file file が存在し、このプロセスのエフェクティブユーザー ID と同じ ID を持つ ユーザーに所有されていれば、真となります。 -G file file が存在し、そのグループがこのプロセスのエフェクティブグループ ID と一 致していれば、真となります。 -S file file が存在し、ソケットであれば、真となります。 file1 -nt file2 file1 が存在し、file2 より新しいファイルであれば、真となります。 file1 -ot file2 file1 が存在し、file2 より古いファイルであれば、真となります。 file1 -ef file2 file1 および file2 が存在し、両者が同じファイルを参照していれば、真となりま す。 string = pattern string が pattern と一致すれば、真となります。 string != pattern string が pattern と一致しなければ、真となります。 string1 < string2 両者を構成する文字を ASCII 値に基づいて比較して、string1 が string2 より前の 文字列であれば、真となります。 string1 > string2 両者を構成する文字を ASCII 値に基づいて比較して、string1 が string2 より後の 文字列であれば、真となります。 exp1 -eq exp2 exp1 が exp2 と等しければ、真となります。 exp1 -ne exp2 exp1 が exp2 と等しくなければ、真となります。 exp1 -lt exp2 exp1 が exp2 より小さければ、真となります。 exp1 -gt exp2 exp1 が exp2 より大きければ、真となります。 exp1 -le exp2 exp1 が exp2 以下であれば、真となります。 exp1 -ge exp2 exp1 が exp2 以上であれば、真となります。 複合式は、以下の表記の任意のものを用いて、上記のプリミティブから構成することができます (以下のリス トは優先順位が高い順です)。 (expression) expression が真であれば、真となります。これは、式をまとめ ! expression expression が偽であれば、真となります。 expression1 && expression2 expression1 と expression2 が両者とも真であれば、真となりま るのに使用されます。 す。 HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-635 ksh(1) ksh(1) expression1 || expression2 expression1 と expression2 のいずれか一方が真であれば、真とな ります。 入力/出力 コマンドの実行前に、シェルによって解釈される特殊な表記法を用いて、コマンドの入力と出力をリダイレク トすることができます。以下に示す各表記は、単純コマンド内の任意の位置、またはコマンドの前後に記述す るすることが可能ですが、起動したコマンドには渡されません。コマンドの置換とパラメータの置換は、以下 で特に注記されている場合を除き、word または digit が使用される前に実行されます。ファイル名の生成は、 パターンが単一のファイルに一致した場合に限って実行されます。空白の解釈は行われません。 <word ファイル word を標準入力 (ファイル記述子 0) として使用します。 >word ファイル word を標準出力 (ファイル記述子 1) として使用します。ファイルが存在し ない場合は作成されます。ファイルが存在し、しかも noclobber オプションがオンの 場合には、エラーとなります。オフの場合には、ファイルは切り捨てられて長さがゼ ロとなります。 noclobber のチェックは通常のファイルに対してのみ適用され、名前 付きパイプなどの他のタイプのファイルには適用されないことに注意してください。 >|word >>word noclobber オプションを無効にすることを除き、> と同じです。 ファイル word を標準出力として使用します。ファイルが存在する場合には、出力を ファイルの末尾に追加します (まずエンドオブファイルを捜します)。ファイルが存在 しない場合は作成されます。 <>word 標準入力として読み書きするため、ファイル word をオープンします。ファイルが存 在しない場合は作成されます。 <<[ - ]word word と一致する行またはエンドオブファイルまで、シェル入力が読み取られます。 word に対しては、パラメータの置換、コマンドの置換、ファイル名の生成は、いずれ も実行されません。生成されたドキュメントは、ヒアドキュメントと呼ばれるもの で、標準入力になります。 word のいずれかの文字が引用されている場合、ドキュメ ントの文字は解釈されません。それ以外の場合には、ドキュメントに対してパラメー タの置換とコマンドの置換が実行されて、\改行は無視され、さらに \ を用いて文字 \, $, `, および word の最初の文字を引用する必要があります。 - を <<, の後に指定する と、先行するタブがすべて word とドキュメントから除去されます。 Section 1-636 <&digit 標準入力がファイル記述子 digit から複写されます (dup(2) を参照)。 >&digit 標準出力がファイル記述子 digit に複写されます (dup(2) を参照)。 <&- 標準入力がクローズされます。 >&- 標準出力がクローズされます。 <&p コプロセスからの入力を標準入力に移します。 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) >&p コプロセスへの出力を標準出力に移します。 上記のいずれかの表記の前に数字を指定すると、参照されるファイル記述子の番号は、(デフォルトの 0 また は 1 ではなく) その数字によって指定された番号になります。たとえば、 ... 2>&1 と指定すると、ファイル記述子2がファイル記述子1の複製として書き込みのためにオープンされます。 リダイレクトの順序は重要です。シェルは、評価の際に、指定ファイル記述子に対応する現在オープンされて いるファイルによりファイル記述子を参照して各リダイレクションを評価するからです。たとえば、 ... 1>fname 2>&1 は、まずファイル記述子1 ( 標準出力) をファイル fname に割り当てます。次に、ファイル記述子2 ( 標準エ ラー) を、ファイル記述子1に割り当てられているファイル (つまり fname ) に割り当てます。一方、このリダ イレクトの順序を次のように逆にすると、 ... 2>&1 1>fname ファイル記述子2には現在の標準出力 (異なる割り当てを継承しなければユーザーターミナル) が割り当てられ ます。次にファイル記述子1 がファイル fname に割り当て直され、ファイル記述子2 の割り当ては変化しませ ん。 コプロセスの入力と出力は、番号で指定したファイル記述子に移動させることができるので、上記のリダイレ クト演算子を用いれば、他のコマンドはそのファイル記述子との間で読み書きが可能となります。現在のコプ ロセスの入力が、番号で指定されたファイル記述子に移されると、他のコプロセスが起動されます。 ジョブ制御がアクティブでない場合にコマンドの後ろに & を指定すると、このコマンドのデフォルトの標準入 力は空のファイル /dev/null になります。それ以外の場合には、コマンドを起動したシェルのファイル記述子 が、入力/出力の指定によって修正された形で、そのコマンドの実行環境に取り込まれます。 環境 環境 ( environ (5) を参照) とは、実行されるプログラムに渡される名称と値のペアのリストで、通常の引き数リ ストによく似ています。名称は 識別子でなければならず、値は文字列です。 シェルは数種の方法で環境と対話します。シェルは、起動時に環境を走査し、見つかった名称ごとにパラメー タを生成して対応する値を付与し、エクスポートのマークを付けます。実行されるコマンドは環境を継承しま す。ユーザーが export または typeset -x コマンドを用いてこれらのパラメータの値を修正したり、新しいパラ メータを作成した場合、その値は環境の一部分になります。したがって、実行されるコマンドから見た環境 は、シェルが最初に継承した名称と値のペア (この値は現在のシェルが修正することもあります) と、任意の追 加項目 (これは export または typeset -x コマンドで指示する必要があります) から構成されます。 任意の単純コマンドや関数の環境は、既存の環境の前にパラメータ割り当て (複数可) を追加することによって 増強することができます。パラメータ割り当て引き数は identifier=value の形式です。たとえば、 TERM=450 cmd args HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-637 ksh(1) ksh(1) と (export TERM; TERM=450; cmd args) とは、上記の cmd の実行に関する限り、同等です (ただし、後述の項にリストしたパーセント符号が前に付く 特殊コマンドを除く)。 -k オプションを設定すると、すべてのパラメータ割り当て引き数は、コマンド名の後に指定されていても環境 内に取り込まれます。次の最初のエコー文は a=b c をプリントしますが、-k オプションが設定された後の、2 番目のエコー文は c のみをプリントします。 echo a=b c set -k echo a=b c この機能は、シェルの初期バージョン用に作成されたスクリプトでの使用を目的としたものなので、新しいス クリプトでこの機能を使用することは避けてください。この機能は、将来廃止される可能性があります。 関数 前述の「コマンド」の項で説明した function キーワードは、シェル関数を定義するために使用します。シェル 関数が読み取られると、内部に保存されます。エイリアス名は、関数が読み取られたときに解決されます。関 数はコマンドと同様に実行され、引き数は位置パラメータとして渡されます (後述の「実行」の項を参照)。 関数は、呼び出し側と同じプロセスで実行されますが、関数のコマンド置換によって新しいプロセスが生成さ れる点が異なります。関数は、すべてのファイルと現在のワーキングディレクトリを呼び出し側と共用しま す。呼び出し側がキャッチしたトラップは、関数内ではそのデフォルトのアクションが行われません。関数が キャッチしない、または無視するトラップ条件が発生すると、関数の実行は終了し、その条件は呼び出し側に 渡されます。関数内部で EXIT に対して設定されたトラップは、関数の終了後に呼び出し側の環境の中で実行 されます。通常の場合、変数は呼び出しプログラムと関数の間で共用されます。ただし、関数内で typeset 特 殊コマンドを使用して定義した変数は、現在の関数および現在の関数が呼び出す全関数を有効範囲とするロー カル変数となります。 関数呼び出しから戻るには、特殊コマンド return を使用します。関数内でエラーが発生すると、制御は呼び出 し側に戻ります。 関数識別子は typeset 特殊コマンドの +f オプションを用いてリストすることができます。対話型で使用してい る場合、関数識別子と関数の関連テキストは -f オプションを用いてリストすることができます。 ksh は関数定 義をヒストリファイルに格納します。そのため、関数を読み出すときに、ヒストリファイルが見つからない か、nolog オプションがオンの場合、ksh は関数定義を表示できません。関数の定義を解除するには、unset 特 殊コマンドの -f オプションを使用します。 通常、シェルがシェルスクリプトを実行すると、関数は設定が解除されます。 typeset コマンドの -xf オプショ ンにより、実行するスクリプトに対して、シェルを再実行せずに関数をエクスポートすることができます。 シェルの起動ごとに共通に定義する必要がある関数は ENV ファイルに入れておく必要があります。 Section 1-638 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) ジョブ set コマンドの monitor オプションがオンの場合、対話型シェルはジョブを各パイプラインに関連づけます。 対話型シェルは、現在のジョブのテーブル (jobs コマンドでプリントされるテーブル) を管理し、各ジョブに小 さな整数値を割り当てます。ジョブが & によって非同期に開始されると、シェルは次のような行をプリントし ます。 [1] 1234 これは、ジョブ番号1が非同期に開始され、プロセス ID が 1234 のプロセスが、トップレベルのプロセスとし て実行されたことを示します。 ジョブの実行中に別の操作を行いたい場合には、一時停止文字 (通常は ˆZ (Ctrl-Z)) を入力して、現在のジョブ に STOP シグナルを送ることができます。すると、シェルはジョブが中断された (‘Stopped’) ことを示し、別の プロンプトをプリントします。これにより、ユーザーはそのジョブの状態を操作することが可能となり、まず bg コマンドを用いてジョブをバックグラウンドに変更してから、このジョブが停止しているか、あるいはバッ クグラウンドで動作している間、他のコマンドを実行し、最後に fg コマンドを用いてジョブを再開するか、あ るいはフォアグラウンドに戻すことができます。 ˆZ は入力後ただちに作用し、割り込みと同様に、ˆZ をタイ プするとペンディング状態の出力と読み取り前の入力は破棄されます。 バックグラウンドで実行中のジョブは、ターミナルから入力を読み取ろうとすると実行が停止します。通常、 バックグラウンドジョブは出力を実行できますが、stty tostop コマンドによって抑止することができます。こ の tty オプションを設定すると、バックグラウンドジョブは、出力を実行しようとすると停止します。 シェルの中でジョブを参照する方法はいくつかあります。ジョブの参照は、ジョブの中の任意のプロセスのプ ロセス ID によって、または以下のいずれかの指定形式で行うことができます。 %number 指定された番号のジョブ %string コマンド行が string で始まるすべてのジョブ %?string コマンド行に string を含むすべてのジョブ %% 現在のジョブ %+ %% と同義 %- 前のジョブ シェルは、プロセスの状態の変化をただちに認識します。ジョブがブロックされ、それ以上実行を継続できな くなると、シェルはプロンプトを表示する直前にユーザーに通知します。 モニターモードがオンの場合には、バックグラウンドジョブが終了するたびに CHLD に対して設定したトラッ プが引きおこされます。 ジョブの実行中または停止中にシェルを終了させようとすると、You have stopped (running) jobs という警告 メッセージが表示されます。この場合には、jobs コマンドを使用して、対象となったジョブを識別することが できます。そのまま再度シェルを終了させようとすると、シェルは2回目の警告は行わず、停止していたジョ ブは終了します。 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-639 ksh(1) ksh(1) シグナル 実行中のコマンドに対する INT および QUIT シグナルは、コマンドの後に & が指定され、しかも monitor オプ ションがオフの場合には無視されます。それ以外の場合、シグナルの値は、シグナル 11 の場合を除いて、 シェルが親プロセスから継承した値となります (ただし、後述の trap コマンドも参照)。 実行 置換は、コマンドが実行されるたびに行われます。コマンド名が後述の項にリストされた特殊なコマンド の1 つと一致した場合、そのコマンドは現在のシェルプロセスの中で実行されます。次に、ksh は、コマンド名が ユーザー定義関数のいずれかと一致するかどうか調べます。一致した場合、ksh は位置パラメータをいったん セーブし、代わりにその関数呼び出しの引き数を設定します。位置パラメータ 0 が関数名に設定されます。関 数が終了すると、または return を実行すると、ksh は位置パラメータリストを復元し、関数の中で EXIT に対 して設定されたすべてのトラップを実行します。関数の値は、最後に実行されたコマンドの値になります。 関数は、現在のシェルプロセスで実行されます。コマンド名が特殊なコマンド でもユーザー定義の関数"でも ない場合、ksh はプロセスを生成し、exec ( exec(2) を参照) を用いてそのコマンドを実行しようとします。 シェルパラメータ PATH は、コマンドが格納されているディレクトリの検索パスを定義します。代替ディレク トリ名はコロン (:) で区切ります。デフォルトのパスは /usr/bin: です (これは /usr/bin, そして現在のディレク トリの順でパスを指定したものです)。 現在のディレクトリは、ヌルのパス名で表され、等号の直後、2つのコロン (デリミタ) の間、またはパスリス トの最後に指定できます。 コマンド名に / が含まれる場合には、検索パスは使用されません。含まれない場合には、パスに指定されてい る各ディレクトリで、実行可能ファイルの検索が行われます。 ファイルに実行パーミッションがあるにもかかわらず、ディレクトリでも実行可能なオブジェクトコードファ イルでもない場合、そのファイルはスクリプトファイル (インタプリタ用のデータを格納したファイル) である とみなされます。スクリプトファイルの最初の2文字が #! である場合、exec ( exec(2) 参照) は、その2文字の 後にインタプリタのパス名が続くものとみなします。続いて、exec により、指定されたインタプリタが別個の プロセスとして実行され、スクリプトファイル全体が読み取られます。 exec の呼び出しに失敗した場合には、 /usr/bin/ksh が生成され、スクリプトファイルの解釈が実行されます。この場合、エクスポートされていないエ イリアス、関数、および名称付きパラメータはすべて削除されます。 シェルコマンドファイルに読み取りパーミッションがない場合、または setuid ビットと setgid ビットの少なく とも一方がファイルにセットされている場合、シェルは代理のシェルに、パーミッションをセットアップさ せ、シェルコマンドファイルをオープンファイルとして渡す形でシェルを実行させます。また、小かっこで囲 まれたコマンドも、エクスポートされていない要素を削除せずにサブシェルとして実行されます。 コマンドの再入力 ターミナルデバイスから入力されたコマンドのテキストは、最後から HISTSIZE で指定された個数分 (デフォ ルトは 128) だけヒストリファイルにセーブされます。ファイル $HOME/.sh_history は、HISTFILE 変数が設 定されていない場合、または書き込み可能でない場合に使用されます。シェルは、同じ名称の HISTFILE を使 用しているすべての対話型シェルのコマンドにアクセスすることができます。 Section 1-640 Hewlett-Packard Company − 17 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) 特殊コマンド fc を使用すれば、このファイルの一部をリストまたはエディットできます。ファイルの中のエ ディットまたはリストしたい部分の選択は、番号によって、またはコマンドの最初の文字 (複数可) の指定に よって行うことができます。単一のコマンドまたはある範囲のコマンドのいずれの指定も可能です。 fc コマン ドの引き数としてエディタープログラムを指定しない場合には、パラメータ FCEDIT の値が使用されます。 FCEDIT が定義されていない場合には、/usr/bin/ed が使用されます。エディットしたコマンドはプリントさ れ、エディターの終了時に再実行されます。エディター名として - を使用すると、エディット操作の段階をス キップしてコマンドを再実行することができます。この場合、old=new という形式の置換パラメータを使用す れば、実行前にコマンドを修正できます。 たとえば、r が fc -e - のエイリアスである場合に、r bad=good c と入力すると、英字 c で始まるコマンドのう ち最後に実行されたものを再実行し、最初に検出した文字列 bad を、文字列 good に置き換えます。 以下の条件のすべてが発生する場合に、ヒストリファイルはトリミングされます。 ヒストリファイルのサイズが4キロバイトを超える。 ヒストリファイル内のコマンド数が HISTSIZE を超える。 ファイルが 10 分前から変更されていない。 ユーザーが、ヒストリファイルが格納されているディレクトリの書き込みパーミッションを持ってい る。 上記の条件のいずれか1つでも発生しない場合には、ヒストリファイルはトリミングされません。ヒストリ ファイルがトリミングされるときに、そのヒストリファイル内で最新の HISTSIZE コマンドが使用できます。 特殊コマンド 以下に示す単純コマンドは、シェルプロセスの中で実行されます。これらのコマンドでは、入出力のリダイレ クトが可能です。特に指定されない限り、ファイル記述子1はデフォルトの出力先となり、exit ステータスは、 構文エラーがなければゼロとなります。 % または %% が前に付記されているコマンドは、次のように特別に 処理されます。 1. コマンドの前にある変数割り当てリストは、コマンドの実行が完了しても有効です。 2. I/O のリダイレクトは、変数割り当ての後に実行されます。 3. ある特定のエラーが発生すると、そのエラーが存在するスクリプトは打ち切られます。 4. %% が前に付記されたコマンドの後に示されている、変数割り当ての形式の各ワードは、それぞ れ変数割り当ての場合と同じ規則によって展開されます。つまり、ティルドの置換は = 符号の後 で実行され、ワードの分割とファイル名の生成は実行されないことになります。 特殊コマンドは以下の通りです。 % : [ arg ... ] このコマンドは、パラメータの展開のみを実行します。ゼロの exit コードが戻されます。 % . file [ arg ... ] file からコマンドを読み取って実行してから、制御を戻します。コマンドは現在のシェル環境 内で実行されます。 file が存在するディレクトリの検索は、PATH で指定された検索パスを使 用して実行されます。引き数 arg が指定された場合、その引き数が位置パラメータになりま HP-UX 11i Version 3: February 2007 − 18 − Hewlett-Packard Company Section 1-641 ksh(1) ksh(1) す。指定されなかった場合には、位置パラメータは変更されません。 exit ステータスは、最 後に実行されたコマンドの exit ステータスです。 file に対して実行パーミッションビットを セットする必要はありません。 %% alias [ -tx ] [ name[=value ] ... ] alias を引き数なしで実行すると、エイリアスリストが name=value の形式で標準出力にプリン トされます。 エイリアスは、value が指定された名称それぞれに対して定義されます。 value 最後がスペースであると、次のワードでエイリアス置換のチェックが行われます。 -t オプ ションは、パス名をトラックされたエイリアスの設定とリストのために使用します。パス名を トラックされたエイリアスの値は、指定された name に対応する絶対パス名です。パス名をト ラックされたエイリアスの値は、PATH の値がリセットされると未定義になりますが、そのエ イリアスはパス名をトラックされた状態を維持します。 -t オプションを指定しない場合に は、引き数リスト内で value の指定がない各 name について、名称と値がプリントされます。 -x オプションは、エクスポートされたエイリアスの設定またはプリントに使用します。エク スポートされたエイリアスは、複数のサブシェル環境に共通に定義されます。 alias は、エイ リアスが定義されていない name が指定された場合以外は、真を戻します。 指定された job をバックグラウンドに移動します。 job を指定しないと、現在のジョブがバッ bg [ job ... ] クグラウンドに移動します。 job の指定形式については「ジョブ」の項を参照してください。 % break [ n ] このコマンドを囲むような for, while, until または select ループがあれば、その中から抜け出 します。もし n を指定すると、n レベル分だけループの外に抜け出します。 % continue [ n ] このコマンドを囲んでいる for, while, until または select ループの次の繰り返しの開始に移り ます。 n を指定すると、n レベル上位のループの繰り返しを再開します。 cd [ -L -P ] [ arg ] cd old new このコマンドには2つの形式があります。第1の形式では、現在のディレクトリが arg に変更 されます。 arg として - を指定すると、以前のディレクトリにディレクトリが変更されます。 -L オプション (デフォルト) では、シンボリックリンクの処理の際、名称の論理的な関連が記 憶されます。したがって、cd -L .. は、パス構成要素1個分だけルートディレクトリに近い方 向へ現在のディレクトリを移動させます。一方、-P オプションでは、シンボリックリンクの 処理の際、物理的なパスが記憶されます。したがって、cd -P .. は、ワーキングディレクトリ を現在のディレクトリの親ディレクトリに変更します。シェルパラメータ HOME はデフォル トの arg になります。パラメータ PWD には、現在のディレクトリが設定されます。シェルパ ラメータ CDPATH は、arg を含むディレクトリを捜すための検索パスを定義します。代替 ディレクトリ名はコロン (:) で区切ります。 CDPATH がヌルまたは未定義の場合には、デ フォルト値は現在のディレクトリになります。現在のディレクトリはヌルのパス名で指定さ れ、等号の直後、またはパスリスト中の任意の位置の2つのコロンデリミタの間に指定するこ とができます。 arg が / で始まる場合には、検索パスは使用されません。それ以外の場合に は、検索パスに指定された各ディレクトリで arg の検索が行われます。 cd(1) を参照してくだ さい。 Section 1-642 Hewlett-Packard Company − 19 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) 第2の形式の cd は、現在のディレクトリの名称 PWD の値の中の文字列 old を、文字列 new に置き換え、この新しいディレクトリへの移動を実行します。 cd コマンドは rksh では実行できません。 echo [ arg ... ] このコマンドの使用法と説明については、echo(1) を参照してください。 % eval [ arg ... ] 引き数をシェルへの入力として読み取り、その結果として生成されたコマンドを実行します。 % exec [ arg ... ] コマンドの実行終了後も、パラメータ割り当てはそのまま有効です。 arg を指定すると、この 引き数で指定したコマンドがこのシェルの代わりに実行されます (新しいプロセスは生成され ません)。入出力引き数を指定して、現在のプロセスの設定を変更することもできます。引き 数を指定しない場合には、このコマンドの実行の結果、入出力先変更 (リダイレクト) リスト の指定に従ってファイル記述子が変更されます。この場合、このメカニズムによってオープン された3 以上の番号のファイル記述子は、別のプログラムの起動時にすべてクローズされま す。 % exit [ n ] n で指定された exit ステータスでシェルを終了させます。 n を省略すると、exit ステータス は、最後に実行されたコマンドの exit ステータスになります。エンドオブファイルも、 ignoreeof オプションがセットされている場合を除き、シェルを終了させます (後述の set を参 照)。 %% export [ name [=value ] ... ] 指定された name に自動エクスポートのマークを設定し、これ以降に実行されるコマンドの環 境に自動的にエクスポートされるようにします。 fc [ -eename ] [ -nlr ] [ first [ last ] ] fc -e - [ old=new ] [ command ] 第1の形式では、ターミナルに入力された最後の HISTSIZE 個のコマンドの中から、first から last までの範囲のコマンドが選択されます。引き数 first と last は、数値または文字列で指定 できます。指定された文字列は、最後に実行されたコマンドの特定に使用されます。負の数 は、現在のコマンド番号からのオフセットとして使用されます。オプション -l を指定する と、コマンドが標準出力にリストされます。このオプションを指定しない場合には、上記の キーボードコマンドが記述されたファイルに対してエディタープログラム ename が実行され ます。 ename を指定しない場合には、パラメータ FCEDIT の値 (デフォルトでは /usr/bin/ed ) がエディターとして使用されます。エディット操作を終了すると、続いてコマンドが ( あれ ば) 実行されます。 last を省略すると、first で指定されたコマンドのみが使用されます。 first を指定しない場合には、デフォルトとして、エディットについては前のコマンドが、リスト表 示については −16 が使用されます。オプション -r を指定すると、コマンドの順序が逆順とな り、オプション -n を指定すると、リスト表示の際にコマンド番号の表示が抑止されます。第 2の形式では、置換 old=new の実行後に、command が再実行されます。 fg [ job ... ] 各 job を、指定された順にフォアグラウンドに移動します。 job を省略すると、現在のジョブ がフォアグラウンドに移されます。 job の指定形式については「ジョブ」の項を参照してくだ HP-UX 11i Version 3: February 2007 − 20 − Hewlett-Packard Company Section 1-643 ksh(1) ksh(1) さい。 getopts optstring name [ arg ...] arg を有効なオプションと照合して調べます。 arg を省略すると、位置パラメータが使用され ます。オプション引き数は、それぞれ + または - で始まります。 + または - で始まらないオ プション、または引き数 - - によって、オプションは終了します。 optstring には、getopts に認 識する文字を指定します。文字の後に : を付記すると、そのオプションは引き数を取るものと 解釈されます。オプションと引き数とは空白によって分離することができます。 getopts は、次のオプション文字を検出すると、そのたびに当該オプション文字を変数 name の中に格納します。その際、arg が + で始まっていれば、格納する文字の前にも + を付加し ます。次の arg のインデックスは OPTIND に保存されます。オプションに引き数が存在する 場合、その引き数は OPTARG に保存されます。 optstring の先頭に : が指定されている場合、getopts は、無効なオプションを OPTARG に保 存し、未知のオプションについては ? を、必須オプションが見つからない場合には : を、変 数 name にそれぞれ設定します。それ以外の場合、getopts はエラーメッセージをプリントし ます。照合すべきオプションがそれ以上なくなると、exit ステータスはゼロ以外の値となりま す。 getopts(1) を参照してください。 jobs [ -lnp ] [ job ... ] 指定された各ジョブに関する情報をリストします。 job を省略すると、すべてのアクティブな ジョブに関する情報がリストされます。 -l オプションを指定すると、通常の情報に加えてプ ロセス ID (PID) がリストされます。 -n オプションを指定すると、前回の通知後に停止または 終了したジョブのみが表示されます。 -p オプションを指定すると、プロセスグループのみが リストされます。 job の指定形式については「ジョブ」の項を参照してください。 kill [ -sig ] process ... TERM (終了) シグナルまたは指定されたシグナルのいずれかを、指定されたジョブまたはプロ セスに送ります。シグナルは、数字または名称 (signal(5) にリストされた名称からプレフィッ クス SIG を除去したもの) のいずれかで指定します。 kill -l と指定すると、シグナル名がリス トされます。デフォルトはありません。単に kill と入力しても現在のジョブには何の影響もあ りません。 TERM (終了) シグナルまたは HUP (ハングアップ) シグナルを送った場合、ジョ ブまたはプロセスには、停止すると CONT (続行) シグナルが送られます。 process 引き数に は、プロセス ID (PID) またはジョブのいずれかを指定できます。 kill の最初の引き数に負の 整数を指定すると、その引き数は sig 引き数として解釈され、プロセスグループとは解釈され ません。 kill(1) を参照してください。 let arg ... 各 arg が、別個の算術式 として評価されます。算術式の評価の説明については、前述の「算 術式の評価」の項を参照してください。最後の式の値がゼロでない場合には、exit ステータス は0となります。それ以外の場合には1となります。 Section 1-644 Hewlett-Packard Company − 21 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) % newgrp [ arg ... ] exec newgrp arg .... と同じです。 print[ -Rnprsu[ n ] ] [ arg ... ] シェルの出力メカニズムです。オプションを指定しない場合、あるいはオプション - または - - を指定した場合には、echo(1) と同様に、引き数が標準出力にプリントされます。 -R また は -r で raw モードを指定すると、echo のエスケープ規約は無視されます。 -R オプション は、後続のすべての引き数と -n 以外のすべてのオプションをプリントします。 -p オプション を指定すると、標準出力ではなく、|& によって生成されたプロセスのパイプに引き数が書き 込まれます。 -s オプションを指定すると、標準出力ではなくヒストリファイルに引き数が書 き込まれます。 -u オプションを使用すると、出力を書き込むファイル記述子のユニット番号 として1桁の数字 n を指定できます。デフォルトは1です。オプション -n を使用すると、出力 に改行文字が付加されません。 pwd [ -L -P ] 引き数なしで実行すると、現在のワーキングディレクトリがプリントされます ( print -r $PWD と同じ)。シンボリックリンクの場合には、-L オプション (デフォルト) は現在のディ レクトリを論理的な形式で表示し、-P オプションは、現在のディレクトリを物理的な形式(リ ンク先へのパス)で表示します。特殊 cd コマンド、cd(1)、 ln(1)、および pwd(1) を参照して ください。 read [ -prsu[ n ] ] [ name ] [?prompt ] [ name ... ] シェルの入力メカニズムです。 1行が読み取られ、区切り文字として IFS に設定された文字 を用いてその行をワードに分割します。 -r で raw モードを指定すると、行末の \ から、行の 継続を示すという機能が失われます。最初のワードは最初の name に割り当てられ、 2番目の ワードは2番目の name に割り当てられるという形で、以下同様となりますが、残ったワード は最後の name に割り当てられます。 -p オプションを指定すると、|& を用いてシェルが生成 したプロセスの入力パイプから入力行が読み取られます。 -s オプションを指定すると、入力 はコマンドとしてヒストリファイルにセーブされます。オプション -u を使用すれば、入力を 読み取るファイル記述子ユニットを1桁の数字で指定できます。ファイル記述子は exec 特殊 コマンドを用いてオープンできます。 n のデフォルト値は 0 です。 name を省略すると、デ フォルトの name として REPLY が使用されます。エンドオブファイルが検出されない限り、 リターンコードは 0 です。 -p オプションを指定した場合にエンドオブファイルが検出される と、実行中のプロセスはクリーンアップされ、別のプロセスを生成できるようになります。最 初の引き数に ? を含めると、対話型シェルの場合には、この単語の ? の後の部分がプロンプ ト(prompt)として使用されます。指定されたファイル記述子が、書き込み用にオープンされて いるターミナルデバイスである場合、プロンプトはこの装置に表示されます。それ以外の場 合、プロンプトはファイル記述子2 に表示されます。エンドオブファイルが検出されない限 り、リターンコードは 0 です。 read(1) を参照してください。 HP-UX 11i Version 3: February 2007 − 22 − Hewlett-Packard Company Section 1-645 ksh(1) ksh(1) %% readonly [ name[ =value ] ... ] 指定された name が読み出し専用としてマークされ、以後、その名称を割り当てによって変更 できなくなります。 % return [ n ] このコマンドの実行により、シェル関数 (function) から呼び出し側スクリプトに戻り、n で指 定されたリターンステータスが戻されます。 n を省略すると、リターンステータスは最後に 実行されたコマンドのリターンステータスになります。呼び出し側に戻されるのは、n の下位 8ビットのみです。 return を、関数を実行していないとき、あるいは . (ドット) 組み込みコ マンドでスクリプトを実行しているあいだに起動すると、exit コマンドの実行と同じ結果にな ります。 set [ ±aefhkmnopstuvx | ±o option ] ... [ ±A name ] [ arg ... ] このコマンドでは以下のオプションを使用します。 -A 配列への割り当てを行います。まず変数 name の内容を消去してから、arg リストか ら値を順次割り当てます。 +A を使用すると、変数 name は内容を消去されません。 -a -e このフラグの後に定義されるすべてのパラメータが自動的にエクスポートされます。 対話型でないシェルでコマンドが異常終了した場合、ERR トラップが設定されてい れば、このトラップを実行して、ただちに終了します。このモードは、プロファイル の読み取り中には抑止されます。 -f ファイル名の生成を抑止します。 -h identifier という名称の各コマンドを、最初の検出時にそれぞれパス名をトラックさ れたエイリアスとみなします。 -k すべてのパラメータ引き数 (コマンド名の前に指定されたもの以外も含む) が、コマ ンドの環境に取り込まれます。 -m バックグラウンドジョブが別のプロセスグループで実行され、実行が終了するとメッ セージ行がプリントされます。バックグラウンドジョブの exit ステータスは、終了 メッセージの中で通知されます。このオプションは、対話型シェルでは自動的にオン になります。 -n コマンドを読み取って構文エラーの有無をチェックしますが、コマンドは実行されま せん。 -n オプションは、対話型シェルでは無視されます。 -o -o には、複数のオプション名のいずれかを引き数 option として指定できますが、各 -o オプションについて指定できる option は1個だけです。オプションを1個も指定し ない場合には、現在のオプションの設定がプリントされます。 -o の引き数 option と して指定できる名称は以下のとおりです。 allexport -a と同じです。 bgnice すべてのバックグラウンドジョブが、低い優先順位で実行されま errexit -e と同じです。 す。 Section 1-646 Hewlett-Packard Company − 23 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) emacs コマンド入力のために emacs形式の行エディターに入ります。 gmacs コマンド入力のために gmacs形式の行エディターに入ります。 ignoreeof エンドオブファイルではシェルが終了しない設定にします。シェ ルを終了させるには、コマンド exit を使用することになりま す。 keyword -k と同じです。 markdirs ファイル名生成によって生成されたすべてのディレクトリ名の後 monitor -m と同じです。 noclobber > によるリダイレクトで、既存の通常ファイルの内容を初期化し に、/ が付加されます。 ないようにします。このオプションがオンの場合にファイルの内 容を初期化するには、>| を使用する必要があります。 noexec -n と同じです。 noglob -f と同じです。 nolog 関数定義をヒストリファイルにセーブしません。 nounset -u と同じです。 priviliged -p と同じです。 verbose -v と同じです。 trackall -h と同じです。 vi ESC キーを押すまで、vi形式の行エディターの挿入モードに入り ます。 ESC キーを押すと、移動モードに入ります。リターンは 改行を実行します。 -p viraw 各文字が、vi モードで入力されたように処理されます。 xtrace -x と同じです。 $HOME/.profile ファイルの処理を抑止して、 ENV ファイルの代わりにファイル /etc/suid_profile を使用します。このモードは、エフェクティブ uid (gid) が実際の uid (gid) と異なるときには必ずオンになります。このモードをオフにすると、エフェク ティブ uid とエフェクティブ gid には実際の uid と gid が設定されます。 -s 位置パラメータをソートします。 -t コマンドを1つ読み取って実行した後、終了します。 -u 置換の際に、設定していないパラメータをエラーとして処理します。 -v シェルの入力行を、読み取りと並行してプリントします。 -x コマンドとその引き数を、実行と並行してプリントします。 - -x オプションと -v オプションをオフにして、オプションの引き数の検査を停止しま す。 -- どのオプションも変更しません。 $1 に - で始まる値を設定するのに有用です。この オプションの後に引き数が何も指定されていない場合には、位置パラメータの内容が 消去されます。 HP-UX 11i Version 3: February 2007 − 24 − Hewlett-Packard Company Section 1-647 ksh(1) ksh(1) - の代わりに + をオプションの前に指定すると、オプションはオフになります。これらのオプ ションは、シェルの起動時にも使用できます。オプションの現在の設定は、$- を使用して調 べることができます。 -A が指定された場合を除き、残った arg 引き数は位置パラメータで、順番に $1, $2, ... に割り 当てられます。引き数もオプションも指定しなかった場合には、すべての名称の値が標準出力 にプリントされます。 % shift [ n ] $n+1 ... 以降の位置パラメータの名称が $1 ... に変更されます。 n のデフォルトは1です。パ ラメータ n には、$# 以下の負でない数に評価される任意の式を指定できます。 test [ expr ] 条件式 expr を評価します。使用法と説明については、test(1) を参照してください。算術比較 演算子は整数以外にも使用可能で、任意の算術式に使用できます。それ以外に、以下の4つの 基本式が使用できます。 % times -L file file がシンボリックリンクならば真となります。 file1 -nt file2 file1 が file2 より新しいファイルならば真となります。 file1 -ot file2 file1 が file2 より古いファイルならば真となります。 file1 -ef file2 file1 と file2 のデバイスと iノード番号が同一であれば真となります。 シェルとこのシェルから実行されたプロセスについて、ユーザー時間とシステム時間を積算し た結果をプリントします。 % trap [ arg ] [ sig ... ] arg には、シェルがシグナル sig を受け取ったときに読み取られて実行されるコマンドを指定 します (arg は、トラップの設定時とトラップの発生時に1 回ずつ走査されます)。各 sig に は、シグナル番号またはシグナル名を指定できます。トラップコマンドはシグナル番号の順に 実行されます。現在のシェルに入ると無視されるシグナルに対してトラップを設定しようとし ても効果はありません。 arg を指定しない場合または - を指定した場合、sig についてのト ラップはすべて元の値にリセットされます。 arg にヌル文字列を指定すると、このシグナル は、シェルおよびシェルが実行したコマンドから無視されます。 sig に DEBUG を指定する と、arg は各コマンドの後に実行されます。 sig に ERR を指定すると、コマンドの exit コー ドがゼロ以外のときには、arg が必ず実行されます。 sig に 0 または EXIT を指定して、trap 文を関数の本体の中で実行した場合には、コマンド arg は関数の終了後に実行されます。関数 の外に設定した trap で、sig に 0 または EXIT を指定すると、コマンド arg はシェルから抜 け出したときに実行されます。引き数を指定せずに trap コマンドを実行すると、各シグナル 番号に関連づけられているコマンドのリストがプリントされます。 %% typeset [ ±LRZfilrtux[ n ] ] [ name[ = value ] ] ... コマンドの終了後も、パラメータ割り当ては有効です。このコマンドを関数の内部で実行する と、パラメータ name の新しいインスタンスが作成されます。パラメータの値と型は、関数が 終了すると復元されます。以下にリストした属性を指定することができます。 Section 1-648 Hewlett-Packard Company − 25 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) -L value を左詰め処理して、先行する空白を削除します。 n にゼロ以外を指定すると、 フィールド幅がその値に定義されます。それ以外の場合には、最初のパラメータ割り 当ての値の幅によってフィールド幅が決定されます。 name への割り当てでは、必要 に応じて値の右側への空白の追加や文字の切り捨てを行い、フィールド幅に合うよう に調整されます。 -Z オプションも設定すると、先行するゼロが削除されます。 -R オ プションはオフになります。 -R 右詰め処理して、前に空白を詰めます。 n にゼロ以外を指定すると、フィールド幅が その値に定義されます。それ以外の場合には、最初のパラメータ割り当ての値の幅に よってフィールド幅が決定されます。パラメータの再割り当てが行われた場合には、 フィールドは左側への空白挿入または右端からの切り捨てによって調整されます。 -L オプションはオフになります。 -Z 右詰め処理を行い、最初の非空白文字が数字で -L オプションがオフであれば、前に ゼロを詰めます。 n にゼロ以外を指定すると、フィールド幅がその値に定義されま す。それ以外の場合には、最初のパラメータ割り当ての値の幅によってフィールド幅 が決定されます。 -f name を、パラメータ名ではなく関数を示す名称として解釈します。 typeset 文によっ て宣言したこの name には割り当てを実行できません。ほかに指定できるオプション は、-t (この関数の実行トレース機能をオンにします) と、-x (同一のプロセス環境内 で実行されるどのシェルプロシージャでもこの関数が有効となります) の2 つだけで す。 -i パラメータは整数です。このフラグは算術演算を高速化します。 n にゼロ以外を指定 すると、出力の演算基数がその値に定義されます。それ以外の場合には、最初の割り 当てで出力の基数が決定されます。 -l -r 大文字をすべて小文字に変換します。大文字オプションの -u はオフになります。 指定された name がすべて「読み出し専用」としてマークされ、以後の割り当てに よって変更できなくなります。 -t 指定されたパラメータにタグを付けます。タグはユーザー定義可能で、シェルに対し ては特殊な意味を持ちません。 -u -x 小文字をすべて大文字に変換します。小文字オプションの -l はオフになります。 指定されたすべての name に自動エクスポートのマークを付け、以後実行されるコマ ンドの環境に自動的にエクスポートされるようにします。 - の代わりに + を使用すると、オプションはオフになります。 name 引き数を指定せ ずにオプションを指定すると、そのオプションが設定されているパラメータの名称 ( およびオプションでその値) のリストがプリントされます。 - の代わりに + を使用す ると、プリントされた値は保持されます。名称もオプションも指定しない場合には、 すべてのパラメータの名称と属性がプリントされます。 HP-UX 11i Version 3: February 2007 − 26 − Hewlett-Packard Company Section 1-649 ksh(1) ksh(1) ulimit [−HSacdfst] [limit] リソースの上限値を設定または表示します。指定されたリソースの上限値は、limit の指定時 に設定されます。 limit の値は、各リソースで指定されている単位の数値か、unlimited キー ワードです。 −H フラグと −S フラグは、指定したリソースにハード上限値 (−H) を設定するのか、ソフト上 限値 (−S) を選定するのかを指定します。一度設定すると、ハード上限値を増加させることは できません。ソフト上限値は、ハード上限値まで増加させることができます。 −H と −S のど ちらも指定しないと、両方の上限値に適用されます。 limit を省略すると、現在のリソース上限値が表示されます。この場合、−H を指定しなけれ ば、ソフト上限値が表示されます。複数のリソースを指定した場合、値の前に上限値名と単位 が表示されます。 オプションを指定しないと、−f として扱われます。 ulimit のオプションは次の通りです。 −a 現在のリソース上限値をすべてリストします。 −c コアダンプサイズの 512 バイトブロックの数をリストまたは設定します。 −d データ領域サイズのキロバイト数をリストまたは設定します。 −f 子プロセスが書き込むファイルの 512 バイトブロックの数をリストまたは設定します (任意のサイズのファイルを読み取れます)。 umask [ mask ] −s スタック領域サイズのキロバイト数をリストまたは設定します。 −t 各プロセスが使う秒数をリストまたは設定します。 ユーザーのファイル生成マスクとして mask が設定されます (umask(2) を参照)。 mask には、 8 進数か chmod(1) で説明されているシンボリック値のいずれかを指定できます。シンボリッ ク値を指定すると、新しい umask の値は、前の umask の値の補数に mask によるマスクをか け、その結果の補数をとったものになります。 mask を省略すると、マスクの現在の値がプリ ントされます。 umask(1) を参照してください。 unalias name ... name のリストで指定したパラメータが、エイリアスリストから削除されます。 unset [ -f ] name ... name のリストで指定したパラメータへの割り当てが解除されます。つまり、そのパラメータ の値と属性が消去されます。読み出し専用の変数の内容を消去することはできません。 -f オ プ ショ ン を 指 定 す る と、 name は 関 数 名 と し て 解 釈 さ れ ま す。 ERRNO, LINENO, MAILCHECK, OPTARG, OPTIND, RANDOM, SECONDS, TMOUT, および _ の設定を解除す ると、以後にその変数が設定された場合でもその変数の特別な意味は失われます。 % wait [ job ] 指定された job の終了または停止を待ち、そのステータスを通知します。このステータスは wait コマンドのリターンコードになります。 job の指定がない場合、wait は、現在アクティ ブなすべての子プロセスが終了して0の終了ステータスを返すのを待ちます。 job の指定形式 については、「ジョブ」の項を参照してください。 Section 1-650 Hewlett-Packard Company − 27 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) whence [ -pv ] name ... 各 name について、コマンド名として使用された場合にどのように解釈されるかを示します。 -v オプションを指定すると、さらに詳細な報告が表示されます。 -p オプションを指定する と、name がエイリアス、関数、または予約語の場合でも、パスの検索を実行して name を捜 します。 ksh の実行 シェルが exec ( exec(2) 参照) によって実行され、引き数ゼロ ($0) の最初の文字が - の場合、そのシェルはログ インシェルとみなされ、コマンドがまず /etc/profile から読み取られます。次に、${HOME:-.}/.profile が確認さ れ、その結果得たファイル名をオープンしようとします。ファイルが正常にオープンされると、そのファイル を読み取ります。次に、環境パラメータ ENV の値に対するパラメータ置換の実行によって特定されたファイ ルが存在すれば、そのファイルからコマンドが読み取られます。 -s オプションを指定せずに arg を指定する と、最初の arg に対してパスの検索が行われ、実行するスクリプトが決定されます。 arg を指定して ksh を実 行する場合には、スクリプト arg に読み出しパーミッションが必要となり、すべての setuid および getgid の設 定は無視されます。続いて、後述のようにコマンドの読み取りが行われます。以下のオプションは、起動時に シェルによって解釈されます。 -c string -c オプションを指定すると、コマンドは string から読み取られます。 -s -s オプションを指定した場合、または残った引き数がない場合には、標準入力からコ マンドが読み取られます。シェルの出力は、前述の「特殊コマンド」の一部による出 力を除いて、ファイル記述子2に書き込まれます。 -i -i オプションを指定した場合、またはシェルの入力と出力がターミナルに接続されて いる場合、シェルは対話型となります。この場合には、 SIGTERM は無視されます (し たがって kill 0 は対話型シェルを終了させません)。また、 SIGINT はキャッチされて、 無視されます (wait は割り込み可能となります)。どの場合にも、 SIGQUIT はシェルに よって無視されます (signal(5) を参照)。 -r -r オプションを指定すると、シェルは制限付きシェルとなります。 その他のオプションと引き数については、前述の set コマンドの項で説明されています。 rksh のみ rksh は、ログイン名のセットアップや、標準のシェルよりも機能が限定された実行環境のセットアップを行う ために使用されます。 rksh の動作は、以下の機能を使用できないことを除けば ksh の動作と同じです。 • ディレクトリの変更 (cd(1) を参照) • SHELL, ENV, または PATH の値の設定 • / を含むパス名またはコマンド名の指定 • 出力のリダイレクト (>, >|, <>, および >>) 上記の制限は、.profile ファイルと ENV ファイルが解釈された後に適用されます。 実行するコマンドがシェルプロシージャの場合、rksh は ksh を起動してそのコマンドを実行します。したがっ て、エンドユーザーは、使用可能なコマンドという点では制限されていますが、実際にはシェルプロシージャ HP-UX 11i Version 3: February 2007 − 28 − Hewlett-Packard Company Section 1-651 ksh(1) ksh(1) を使うことによって標準シェルの全機能にアクセスすることができます。この方式は、エンドユーザーが同じ ディレクトリで書き込みパーミッションと実行パーミッションを同時には持っていないことを前提としていま す。 シェルプロシージャが rksh から呼び出されると、#! マジックで指定されたシェルインタプリタが rksh で指 定された制限付きの機能をすべて継承します。したがって、すべての標準のシェル機能が使用できるようにす ることを目的として、rksh から呼び出して実行するために記述されたシェルプロシージャでは、#! でインタ プリタを指定しないでください。 これらの規則により、.profile ファイルの作成者は、正しいセットアップ操作を実行して、ユーザーを適切な ディレクトリ (多くの場合にはログインディレクトリ以外) に留めておけば、実質的には、ユーザーの行動を完 全に制御することが可能となります。 多くの場合、システム管理者は、rksh によって安全に実行できるコマンドのディレクトリ (通常は /usr/rbin ) をセットアップしておきます。 HP-UX システムでは、一部の機能のみを使用できるユーザーのために、制限付 きのエディター red (ed(1) を参照) を提供しています。 コマンド行編集用オプション インライン編集オプション 通常、ターミナルデバイスでタイプされる各コマンド行は、改行 (CR または LF) で終わります。 emacs, gmacs, または vi オプションのいずれかが設定されている場合、ユーザーはコマンド行を編集することができ ます。編集用オプションは、VISUAL または EDITOR 変数に上記のいずれかのオプション名で終わる値が割 り当てられるたびに、自動的に選択されます。 この編集機能を使用するためには、ユーザーのターミナルで、RETURN が改行を伴わない単なる復帰 (CR)と して解釈されること、およびスペース文字によってスクリーン上の現在の文字がオーバーライトされることが 必要です。 ADM ターミナルのユーザーは、‘‘space/advance’’ スイッチを‘‘space’’ に設定してください。 HP の ターミナルのユーザーは、ストラップを‘‘bcGHxZ etX’’に設定してください。 編集モードでは、ユーザーはウィンドウを通して現在の行を見ることができます。デフォルトのウィンドウ幅 は、COLUMNS の値が定義されていない場合は、80 です。行の長さがウィンドウ幅から2を減じた値より長い 場合には、ウィンドウの端にマークを表示してユーザーに通知します。行がウィンドウの右側、左側、あるい は両側を越えている場合、マークはそれぞれ >, <, または * となります。カーソルが移動してウィンドウの境 界に達すると、ウィンドウはカーソルが中央に位置するように再表示されます。 編集モードでは、それぞれの検索コマンドによって、ヒストリファイルにアクセスできます。ただし、一致を 捜す対象となるのは文字列のみで、パターンは検索できません。文字列の先頭に ˆ を指定すると、行の第1文 字目から始まる文字列のみに一致するように限定されます。 emacs エディットモード このモードは、emacs または gmacs オプションのいずれかによって入ることができます。この2つのオプショ ンの唯一の相違点は、ˆT の処理です。エディットの操作は、修正が必要な位置にカーソルを移動し、文字や語 句を挿入したり削除したりして行います。エディットコマンドはすべて制御文字またはエスケープシーケンス です。制御文字の表記は、ハットマーク (ˆ) の後に文字を続ける形式で行います。たとえば、ˆF は Ctrl-F を表 Section 1-652 Hewlett-Packard Company − 29 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) します。これは、CTRL ( コントロール) キーを押したまま、f キーを押すことによって入力します。 SHIFT キーは押しません。 ˆ? という表記は DEL (削除) キーを示します。 エスケープシーケンスの表記は、M- の後に文字を続ける形式で行います。たとえば、M-f (メタエフと読みま す) は、ESC (ASCII の 033 ) キーを押した後、f キーを押すことによって入力します。 M-F は、ESC の後に SHIFT (大文字の) F が続くことを示す表記です)。 すべてのエディットコマンドは、行の任意の位置 (行頭以外でも可) から実行できます。特に注記されている場 合を除き、"RETURN" キーと "LINE FEED" キーのいずれもエディットコマンドの後には入力しないでくださ い。 ˆF M-f カーソルを1文字順方向 (右) に移動させます。 カーソルを1 ワード順方向に移動させます ( エディターの解釈によるワードとは、英字、数 字、およびアンダースコアのみから構成される文字列です)。 ˆB カーソルを1文字逆方向 (左) に移動させます。 M-b カーソルを1ワード逆方向に移動させます。 ˆA カーソルを行頭に移動させます。 ˆE カーソルを行末に移動させます。 ˆ]char カーソルを現在の行の順方向にある文字 char に移動させます。 M-ˆ]char カーソルを現在の行の逆方向にある文字 char に移動させます。 ˆXˆX カーソルとマークを交換します。 erase (stty(1) コマンドで定義されたユーザー定義の消去文字で、通常は ˆH または # です)。前の文 字を削除します。 ˆD 現在の文字を削除します。 eof エンドオブファイル文字 (通常は ˆD) は、現在の行がヌルの場合、シェルを終了させます。 M-d 現在のワードを削除します。 M-ˆH (メタバックスペース) 前のワードを削除します。 M-h 前のワードを削除します。 M-ˆ? (メタ DEL) 前のワードを削除します。ただし、割り込み文字が ˆ? (デフォルトの DEL) の場 合、このコマンドは無操作です。 ˆT emacs モードでは、現在の文字と次の文字を入れ換えます。 gmacs モードでは、前の2文字を 入れ換えます。 ˆC 現在の文字を大文字にします。 HP-UX 11i Version 3: February 2007 − 30 − Hewlett-Packard Company Section 1-653 ksh(1) ksh(1) M-c 現在のワードを大文字にします。 M-l 現在のワードを小文字にします。 ˆK カーソルから行末まで削除します。このコマンドの前にカーソルの現在の位置より小さな値の 数値パラメータを指定すると、指定された位置からカーソルまで削除されます。カーソルの現 在の位置より大きな値の数値パラメータを指定すると、カーソルから指定された位置まで削除 されます。 ˆW カーソルからマークまで削除します。 M-p カーソルからマークまでの範囲をスタックにプッシュします。 kill (stty(1) コマンドで定義されたユーザー定義の行消去文字で、通常は ˆG または @ です)。現 在の行全体を削除します。 2個の kill 文字を続けて入力すると、以降の連続するすべての行消 去文字は改行を実行します (ペーパーターミナルを使用するときに便利です)。 ˆY 行から最後に削除した項目を復元します (記憶していた項目を行に戻します)。 ˆL 改行してから、現在の行をプリントします。 ˆ@ (ヌル文字) マークを設定します。 M-space (メタスペース) マークを設定します。 ˆJ (改行) 現在の行を実行します。 ˆM (Return) 現在の行を実行します。 ˆP 前のコマンドを取り出します。 ˆP を入力するたびに、ヒストリリストの直前のコマンドにア クセスします。 ˆN 次のコマンドを取り出します。 ˆN を入力するたびに、ヒストリリストの次のコマンドにアク セスします。 M-< ヒストリリストの中の一番前の (最古の) 行を取り出します。 M-> ヒストリリストの中の一番後の (最新の) 行を取り出します。 ˆRstring ヒストリの中で string を含んでいる以前のコマンド行を逆方向に検索します。ゼロのパラメー タを指定すると、検索は順方向に行われます。 string は "RETURN" または "NEW LINE" で終 わります。 string の前に ˆ を指定すると、 string で始まる行のみが検索対象となります。 string を省略すると、最後に指定した string を含んでいる次のコマンド行がアクセスされま す。この場合、ゼロのパラメータによって検索方向が逆転します。 ˆO 操作 − 現在の行を実行し、ヒストリファイル中で現在の行の次の行を取り出します。 M-digits (エスケープ) 数値パラメータを定義します。指定された数字は次のコマンドへのパラメータ となります。パラメータを受け取るコマンドは、ˆF, ˆB, erase, ˆC, ˆD, ˆK, ˆR, ˆP, ˆN, ˆ], M-., M-_, M-b, M-c, M-d, M-f, M-h, M-l および M-ˆH です。 Section 1-654 Hewlett-Packard Company − 31 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) M-letter ソフトキー。ユーザーのエイリアスリストの中で、_letter という名称のエイリアスを捜しま す。その名称のエイリアスが定義されている場合には、そのエイリアスの値を入力キューに挿 入します。この letter に上述のメタ機能は指定できません。 M-. 前のコマンドの最後のワードが行に挿入されます。前に数値パラメータを指定すると、挿入さ れるワードはこのパラメータの値によって決定されます (最後のワードとは限りません)。 M-_ M-. と同じ機能です。 M-* 現在のワードに対してファイル名の生成を実行します。 M-ESC ファイル名の補完を実行します。現在のワードを、現在のワードにアスタリスクを付加した表 記に一致するすべてのファイル名に共通する部分のうち最長のものに置き換えます。一致する ものが1個だけの場合、そのファイルがディレクトリならば / が後ろに付加され、ディレクト リでなければ空白が後ろに付加されます。 M-= 現在のワードの後にアスタリスクを付加した場合と同様の解釈で、現在のワードのパターンに 一致するファイルをリストします。 ˆU \ 次のコマンドのパラメータを4倍します。 次の文字をエスケープします。この \ を前に指定することにより、各種のエディット文字、 ユーザー定義の消去文字、行消去文字および割り込み文字 (通常は ˆ?) をコマンド行や検索文 字列の中に入力することができます。 \ は、次の文字にエディット機能があれば、その機能を 抑止します。 ˆV M-# シェルのバージョンを表示します。 行頭に # を挿入し、その行を実行します。このコマンドにより、コメントがヒストリファイ ルに挿入されます。 vi エディットモード vi のエディットモードには2つの入力モードがあります。コマンドを入力すると、入力モードに入ります。エ ディットするには、ESC をタイプして制御モードに入り、修正が必要な位置にカーソルを移動してから、文字 や語句を挿入したり削除したりします。ほとんどの制御コマンドでは、コマンドの前に反復回数 count をオプ ションとして指定できます。 ほとんどのシステムの vi モードでは、まず最初に一文字ごとの処理が可能となり、速度が 1200 ボー以上で、 コマンドにいずれかの制御文字が含まれている場合、またはプロンプト表示後の経過時間が1秒未満の場合に は、コマンドが再度エコーされます。ESC 文字は、コマンドの残りの部分についての一文字ごとの処理を終了 させるので、その後、ユーザーはコマンド行の修正が可能となります。この方式には、raw モードのタイプア ヘッドエコーを用いながら一文字ごとの処理を実行できるという利点があります。 viraw オプションの設定により、ターミナル上で一文字ごとの処理をつねに抑止することができます。この モードは、2つの代替用行末デリミタをサポートしないシステムでは、暗黙裏に設定され、また一部のターミ ナルではこのモードが有用です。 HP-UX 11i Version 3: February 2007 − 32 − Hewlett-Packard Company Section 1-655 ksh(1) ksh(1) 入力用編集コマンド デフォルトでは、エディターは入力モードとなっています。 前の文字を削除します。 (erase は stty(1) コマンドで定義されたユーザー定義の消去文字で、 erase 通常は ˆH または # です)。 ˆW 前のワード (区切り文字は空白) を削除します。 ˆD シェルを終了させます。 ˆV 次の文字をエスケープします。各種のエディット文字、消去文字または行消去文字は、各文字 の前に ˆV を指定すれば、コマンド行や検索文字列に含めることができます。 ˆV は、次の文 字に編集機能があれば、その機能を抑止します。 次の消去文字 (erase) または行消去文字 (kill) をエスケープします。 \ 位置変更用編集コマンド 以下のコマンドはカーソルを移動させます。 [count] の指定により、指定された回数だけコマンドが反復され ます。 [count]l カーソルを1文字順方向 (右) に移動させます。 [count]w 英数字からなる1ワード分だけカーソルを順方向に移動させます。 [count]W 空白の後にある次のワードの先頭にカーソルを移動させます。 [count]e ワードの末尾にカーソルを移動させます。 [count]E 現在のワード (区切り文字は空白) の末尾にカーソルを移動させます。 [count]h カーソルを1文字逆方向 (左) に移動させます。 [count]b カーソルを1ワード逆方向に移動させます。 [count]B 前のワード (区切り文字は空白) にカーソルを移動させます。 [count]| カーソルを count カラムだけ移動させます。デフォルトの値は1です。 [count]fc 現在の行で次の文字 c を捜します。 [count]Fc 現在の行で前の文字 c を捜します。 [count]tc f の後に h を実行した場合と同じです。 [count]Tc F の後に l を実行した場合と同じです。 [count]; 最後に実行した単一文字検索コマンド f, F, t, または T を繰り返します。 [count], 最後に実行した単一文字検索コマンドを逆方向に実行します。 0 カーソルを行頭に移動させます。 ˆ カーソルを行中の最初の非空白文字に移動させます。 $ カーソルを行末に移動させます。 検索用編集コマンド 以下のコマンドはユーザーのコマンドヒストリにアクセスします。 [count]k 前のコマンドを取り出します。 k を入力するたびに、ヒストリリストの1つ前のコ マンドがアクセスされます。 Section 1-656 Hewlett-Packard Company − 33 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) [count][count]j k と同じです。 次のコマンドを取り出します。 j を入力するたびに、ヒストリリストの1つ後のコ マンドがアクセスされます。 [count]+ [count]G j と同じです。 番号が count のコマンドを取り出します。デフォルトは、ヒストリリストの最初の コマンドです。 /string ヒストリを逆方向に調べ、string を含んでいる以前のコマンドを捜します。 string は "RETURN" または "NEW-LINE" で終わります。 string の前に ˆ を指定すると、 一致するのは string で始まる行のみになります。 string がヌルの場合には、前に指 定した文字列が使用されます。 ?string / と同じ機能ですが、検索が順方向に行われます。 n / または ? コマンドで最後に指定されたパターンと一致する次の候補を検索しま N / または ? コマンドで最後に指定されたパターンと一致する次の候補を検索しま す。 すが、検索は逆方向に行われます。ヒストリを調べて、前の / コマンドで入力され た string を捜します。 テキスト変更用編集コマンド 以下のコマンドは行を修正します。 a 入力モードに入り、現在の文字の次にテキストを追加します。 A 行末にテキストを追加します。 $a と同じです。 [count]cmotion c[count]motion カーソルを motion で指定された文字の位置に移動させ、カーソルの元の位置から 新しい位置までの間のすべての文字を削除してから、入力モードに入ります。 motion が c の場合には、行全体を削除して、入力モードに入ります。 C 現在の文字から行末まで削除して、入力モードに入ります。 c$ と同じです。 S cc と同じです。 D 現在の文字から行末まで削除します。 d$ と同じです。 [count]dmotion d[count]motion カーソルを motion で指定された文字の位置に移動させ、カーソルの元の位置から 新しい位置までの間のすべての文字を削除します。motion が d の場合には、行全 体を削除します。 i 入力モードに入り、現在の文字の前にテキストを挿入します。 I 行頭の前にテキストを挿入します。2文字シーケンス 0i と同じです。 [count]P カーソルの前に以前のテキスト修正部分を挿入します。 [count]p カーソルの後に以前のテキスト修正部分を挿入します。 HP-UX 11i Version 3: February 2007 − 34 − Hewlett-Packard Company Section 1-657 ksh(1) ksh(1) R 入力モードに入り、入力した文字でスクリーン上の文字を置き換えます。 [count]rc 現在の文字を c で置き換えます。 [count]x 現在の文字を削除します。 [count]X 前の文字を削除します。 [count]. 以前のテキスト修正コマンドを繰り返します。 [count]˜ 現在の文字の大文字/小文字を逆転させ、カーソルを1文字前進させます。 [count]_ 以前のコマンドの count 個のワードを現在のカーソル位置の後に付加し、付加した テキストの終端の位置で、エディターを入力モードにします。 count を省略する と、最後のワードが使用されます。 現在のワードの後に * を付加し、ファイル名生成を実行します。一致するものが * ない場合には、ベルを鳴らします。一致するものが見つかると、ワードは一致し た文字列に置き換えられ、エディターが入力モード入ります。 ESC 現在のワードに対して、ファイル名の補完を実行します。現在のワードを、現在 \ のワードにアスタリスクを付加した表記に一致するすべてのファイル名に共通す る部分のうち最長のものに置き換えます。一致するものが1 個だけの場合、その ファイルがディレクトリならば / が後ろに付加され、ディレクトリでなければ空白 が後ろに付加されます。 その他の編集コマンド [count]ymotion y[count]motion 現在の文字から motion によってカーソルが移動する文字までを記憶し削除用に バッファーに入れます。テキストとカーソル位置は変化しません。 Y 現在のカーソル位置から行末までを記憶します。 y$ と同じです。 u 直前のテキスト変更コマンドを取り消します。 U その行に対して実行されたテキスト変更コマンドをすべて取り消します。 [count]v コマンド fc -e ${VISUAL:-${EDITOR:-vi}} count を入力バッファーに戻します。 count の結果を省略すると、現在の行が使用されます。 ˆL 改行してから、現在の行をプリントします。制御モードのみで有効です。 ˆJ (改行) モードと無関係に、現在の行を実行します。 ˆM (Return) モードと無関係に、現在の行を実行します。 .BI I# の後に Return があるのと同じです。行の先頭と改行の後ろに を挿入した後、その 行を送ります。これは、現在のコマンド行を、実行せずにヒストリリストに挿入 Section 1-658 Hewlett-Packard Company − 35 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) するのに有用です。 = 現在のワードの後にアスタリスクを付加した場合と同様の解釈で、現在のワード と一致するファイル名をリストします。 @letter ユーザーのエイリアスリストの中で、 _letter という名称のエイリアスを捜しま す。その名称のエイリアスが定義されている場合には、そのエイリアスの値を処 理のための入力キューに挿入します。 多言語化対応 環境変数 LC_COLLATE は、ファイル名生成用のパターンマッチング表記の評価で使用される照合順序を決定します。 LC_CTYPE は、文字の文字クラスを決定し、パターンマッチング表記による文字クラス表現と一致する文字 を決定します。 LC_COLLATE または LC_CTYPE が環境内で指定されていない場合、または空文字列の場合には、LANG の 値が、未指定または空の変数のデフォルトとして使用されます。 LANG が指定されていない場合、または空文 字列の場合には、LANG の代わりに、"C" (lang(5) を参照) がデフォルトとして使用されます。多国語対応変数 の中に無効な設定のものがある場合、ksh は、すべての多国語対応変数が "C" に設定されているものとして動 作します。 environ(5) を参照してください。 KSH_QUOTEMC は、 "[[ string = pattern ]]" 型のコーテーションで囲まれたメタキャラクタの処理を切り替え ます。 KSH_QUOTEMC=true が環境に定義されている場合は、pattern のどの部分でも、コーテーションで囲 み、文字列としてマッチングさせることができます。この使用方法は、dtksh(1) の規約に準拠します。反対 に、 KSH_QUOTEMC が環境に定義されていない場合は、従来型の Korn シェル規約に準拠した処理となりま す。 サポートされるコードセット シングルバイトの文字コードセットがサポートされます。 戻り値 シェルは、エラー (たとえば構文エラー) を検出すると、ゼロ以外の exit ステータスを戻します。それ以外の場 合、シェルは最後に実行したコマンドの exit ステータスを戻します (前述の exit コマンドも参照)。シェルを非 対話形式で使用している場合には、シェルファイルの実行はできません。シェルが検出した実行時エラーは、 コマンド名または関数名とエラー状態の表示によって通知されます。エラーが発生した行の番号が1より大き い場合には、行番号もコマンド名または関数名の後に大かっこ ([ ]) で囲んでプリントされます。 警告 ファイル記述子 10 および 54 から 60 までは、Korn シェル内部で使用します。この範囲の記述子を使用しサブ シェルをフォークするアプリケーションは、記述子がサブシェルまたはその子孫でも生き残るものと考えるこ とはできません。 パス名をトラックされたエイリアス となっているコマンドを実行した場合に、同じ名称のコマンドを、元のコ マンドがあるディレクトリより検索パスの中で前にあるディレクトリにインストールしても、シェルはやはり HP-UX 11i Version 3: February 2007 − 36 − Hewlett-Packard Company Section 1-659 ksh(1) ksh(1) 元のコマンドをロードして実行します。この状態を回避するには、alias コマンドの -t オプションを使用して ください。 現在のディレクトリ、またはその上位ディレクトリを移動または名称変更した場合、pwd が正しく応答しない ことがあります。この状態を回避するには、絶対パス名を用いて cd コマンドを実行してください。 かなり古いシェルスクリプトの一部では、パイプ文字 (|) の同義語としてハットマーク (ˆ) が使用されているこ とがあります。しかし、ksh はハットマークをパイプ文字としては認識しないので注意してください。 コマンドがシェルコマンドにパイプされている場合、コマンドが終了すると、シェルコマンド内で設定された すべての変数が失われます。 複合コマンド中で fc 組み込みコマンドを使用すると、そのコマンド全体がヒストリファイルから消去されま す。 組み込みコマンド . file は、あらゆるコマンドの実行前に全ファイルを読み取ります。したがって、ファイルの 中に記述された alias コマンドと unalias コマンドは、そのファイルに定義されているどの関数にも適用されま せん。 シェルがフォアグラウンドジョブを待っている間、トラップは処理されません。したがって、CHLD に対して 設定されたトラップは、フォアグラウンドジョブが終了するまで実行されません。 export 組み込みコマンドは、配列を正しく処理できません。 環境にエクスポートされるのは配列の最初の要素 だけです。 非対話型シェルから開始されたバックグラウンドジョブに、ジョブ制御コマンドを用いてアクセスすることは できません。 国際環境の場合、文字の順序は、マシンの照合順序に従った文字の値のバイナリ順ではなく、LC_COLLATE の設定によって決定されます。その場合、文字の順序に関連した操作に危険が伴うことがあり、特にファイル 名生成パターンの中で範囲を表す式を用いるときに問題となります。たとえば、コマンド rm [a-z]* は、通常なら小文字の英字で始まるすべてのファイル名と一致するはずです。しかし、LC_COLLATE によっ て辞書順が指定されている場合には、大文字で始まるファイル名 (およびアクセント記号付きの文字で始まる ファイル名) にも一致してしまいます。逆に、デンマーク語やノルウェー語などの言語で、’z’ の後に照合され る文字には一致しません。 国際環境で、特定の文字クラスに正しく (そして安全に) 一致させる方法は、 rm [[:lower:]]* のような形式のパターンを使用することです。これは、LC_CTYPE を用いて文字クラスを判定しており、サ ポートされているすべての言語とコードセットについて、その動作を予測可能です。国際化対応していないシ ステム上で作成された (または上記の危険性を考慮せずに作成された) シェルスクリプトについては、NLS (母 国語サポート) 環境でない環境で実行することをお奨めします。そのためには、LANG, LC_COLLATE, などの Section 1-660 Hewlett-Packard Company − 37 − HP-UX 11i Version 3: February 2007 ksh(1) ksh(1) 環境変数を "C" に設定するか、または設定そのものを行わないことが必要です。 ユーザーの環境内の IFS 変数の値は、スクリプトの動作に影響を及ぼすことに注意してください。 ksh では、シェル自体とコマンドとの間にパイプを作成することによって、コマンドの置換が実現されていま す。ルートファイルシステムに空きがない場合には、置き換えられたコマンドはパイプに書き込むことができ ません。その結果、シェルはコマンドから入力を受け取らず、置換の結果はヌルになります。特に、このよう な状況で変数への割り当てにコマンド置換を使用すると、ユーザーから認識できない形で、変数に NULL の値 が暗黙に割り当てられてしまいます。 ヒアドキュメントの内容は、一時ファイル /tmp/shpid.number に保存されます。これらの一時ファイルは、使用 後、管理のうえで削除されますが、設計上の制限から削除されないものもあります。 著者 ksh は、AT&Tによって開発されました。 ファイル /etc/passwd ホームディレクトリの識別に使用 /etc/profile システム環境のセットアップに使用 /etc/suid_profile 保護用プロファイル $HOME/.profile ユーザー固有の環境のセットアップに使用 /tmp/sh∗ ヒアドキュメント用のファイル 参照 cat(1), cd(1), echo(1), env(1), getopts(1), kill(1), pwd(1), read(1), test(1), time(1), umask(1), vi(1), dup(2), exec(2), fork(2), gtty(2), pipe(2), stty(2), umask(2), ulimit(2), wait(2), rand(3C), a.out(4), profile(4), environ(5), lang(5), regexp(5), signal(5) HP-UX 11i Version 3: February 2007 − 38 − Hewlett-Packard Company Section 1-661 ktutil(1) ktutil(1) 名称 ktutil − Kerberos keytab ファイルのメンテナンスユーティリティ 構文 ktutil 説明 ktutil コマンドは、管理者がKerberos V5 keytab または V4 srvtabファイルのエントリーを読み取り、書き込み、 または編集できるサブシェルを起動します。 ktutil コマンド list 現在の キーリスト を表示します (別名: l)。 read_kt keytab_filename Kerberos V5 keytab ファイル keytab_filename を現在の キーリスト に読み込み ます (別名: rkt)。 read_st srvtab_filename Kerberos V4 srvtab ファイル srvtab_filename を現在の キーリスト に読み込み ます (別名: rst)。 write_kt keytab_filename 現在の キーリスト を Kerberos V5 keytab ファイル keytab_filename に書き込み ます (別名: wkt)。 write_st srvtab_filename 現在の キーリスト を Kerberos V4 srvtab ファイル srvtab_filename に書き込み ます (別名: wst)。 現在の キーリスト をクリアします (別名: clear)。 clear_list delete_entry slot 現在の キーリスト からスロット番号 slot のエントリーを削除します (別名: delete)。 list_requests 使用可能なコマンドのリストを表示します (別名: lr、 ?)。 quit ktutil を中止 (終了) します (別名: exit、 q)。 著者 ktutil は、マサチューセッツ工科大学で開発されました。 ファイル /etc/krb5.keytab keytab ファイルのデフォルト位置 /etc/srvtab srvtab ファイルのデフォルト位置 参照 kerberos(5). Section 1-662 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 kvno(1) kvno(1) 名称 kvno − Kerberos プリンシパルのキーバージョン番号の表示 構文 kvno [−e etype] [−q] [−h] [−c ccache] service1, [service2, ...] 説明 kvno は、指定されたKerberos プリンシパルのサービスチケットを取得し、各プリンシパルのキーバージョン番 号を表示します。 オプション −e etype コマンド行で指定したすべてのサービスのセッションキーに必要な暗号化タイプを指定します。こ れは、以前のバージョンとの互換性が必要なときに役立ちます。 etype の値は、DES-CBC-CRC, DES-CBC-RAW または DES-CBC-MD4 のいずれかです。 −q 表示をしません。 −h 使用方法を表示して終了します。 −c ccache 証明書キャッシュ ccache を指定します。 service1,service2 サービス名またはプリンシパル名です。 外部影響 環境変数 kvno は、次の環境変数を使用します。 KRB5CCNAME 証明書チケットキャッシュの位置 著者 kvno は、 FundsXpress, INC. で開発されました。 ファイル /tmp/krb5cc_{uid} 証明書キャッシュのデフォルト位置 ({uid} は、ユーザーの 10 進数の UID) 参照 kdestroy(1), kinit(1), libkrb5(3), krb5.conf(4), kerberos(5). HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-663 last(1) last(1) 名称 last, lastb − ユーザーおよびttyの最終ログイン 構文 /usr/bin/last [ -R ] [ -number ] [ -x] [ -X] [ -f file ] [ name ... ] [ tty ... ] /usr/bin/lastb [ -R ] [ -number ] [ -x] [ -X] [ -f file ] [ name ... ] [ tty ... ] 説明 last コマンドは、 /var/adm/wtmps (ここには、すべてのログインとログアウトが記録されてます)ファイルを逆 方向に検索して、ユーザー、 tty、またはユーザーとttyの任意のグループに関する情報を探します。引数によ り、必要なユーザー、またはttyの名前を指定します。 tty の名前は、完全名でも、簡略名でも指定できます。 例えば、 last 0 は、 last tty0 と同じになります。複数の引き数を指定する場合は、いずれかの引数に適用され ている情報が出力されます。例えば、 last root console により、 ルートのセッション、およびコンソール端末 上のすべてのセッションがリストされます。 last コマンドでは、指定したユーザー、およびttyの各セッション が新しい方から順にプリントされ、セッションの開始時刻、経過時刻、およびセッションが行われたttyが表示 されます。 last は、セッションがまだ進行中かどうか、あるいはリブートによって中断されたかについても報 告します。 システムをリブートするごとに、疑似ユーザー reboot が記録されます。したがって、 last reboot は、システム リブート間の相対時間を調べる場合に有効なコマンドとなります。 last が割り込まれると、 wtmp 中でどこまで検索が行われたか示されます。中止信号(通常はCtrl-\で生成しま す)で割り込まれた場合、 last は、検索がどこまで進められたかを示した後、さらに検索を続行します。 lastb コマンドは、 /var/adm/btmps データベースファイルを逆方向に検索して、不良なログイン情報を表示し ます。 /var/adm/btmps へのアクセスは、適切な特権を持ったユーザー ( root ユーザーだけが所有し、読みとれ る権限 ) だけに制限する必要があります。このファイルには、パスワード情報が格納されている可能性がある からです。 オプション last および lastb の各コマンドは、次のオプションと引数を認識します。 (なし) 引数が何も指定されない場合、 last は、すべてのログインとログアウトの記録を逆の順序( 新しい方から順)に、出力します。 -R を last お よ び lastb と 併 用 す る と、 ユー ザー の ホ ス ト 名 が、 /var/adm/wtmps と -R /var/adm/btmps にそれぞれ格納された状態のまま表示されます。ホスト名は、tty名とユー ザーのログイン名の間に表示されます。 -number -f file レポートの行数を number 行に指定します。 file を、 /var/adm/wtmp または /var/adm/btmp の代わりに、アカウントファイルの名前と して使用します。 Section 1-664 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 last(1) last(1) -X file を /var/adm/wtmps の代わりに、アカウンティングデータベースの名前として使用しま す。このオプションは、 -f file オプションと併用します。 -x このフラグを -X フラグと併用すると、フィールドは長い形式で表示されます。 -X フラグ なしの場合は、通常の形式で表示されます。 著者 last は、HPとカリフォルニア大学バークレー校で開発されました。 ファイル /var/adm/btmp 不良ログインデータベース /var/adm/wtmp ログインデータベース /var/adm/wtmps 新しいログインデータベース /var/adm/btmps 新しい不良ログインデータベース 参照 login(1), utmp(4), wtmps(4) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-665 lastcomm(1) lastcomm(1) 名称 lastcomm − 実行された最新のコマンドの逆順表示 構文 lastcomm [commandname] ... [username] ... [terminalname] ... 説明 lastcomm は、以前に実行されたコマンドに関する情報を与えます。引き数を指定しなければ、 lastcomm は、 現在のアカウントファイルの有効期間中、アカウントファイル /var/adm/pacct に記録されているすべてのコマ ンドに関する情報をプリントします。引き数を指定して呼び出すと、一致するコマンド名、ユーザー名、また はターミナル名があるアカウンティングエントリーのみがプリントされます。例えば、ターミナル ttyd0 上の ユーザー root によって a.out と指定されたコマンドの全実行リストを生成するためには、以下のコマンドを使 用します。 lastcomm a.out root ttyd0 各プロセスエントリーごとに、以下の情報がプリントされます。 • プロセスを実行したユーザーの名前 • アカウンティング機能によってシステムに蓄積されたフラグ • プロセスが呼び出されたコマンド名 • プロセス(秒単位)によって使用されるCPUタイムの量 • プロセスの起動時刻 フラグは以下のようにコード化されます。 S コマンドは適切な特権を持つユーザーによって実行されました。 F コマンドはfork後に実行されましたが、 exec が後続しませんでした。 D コマンドは core ファイルの生成で終了しました。 X コマンドはシグナル SIGTERM で終了しました。 ファイル /var/adm/pacct プロセスごとのアカウントの現在のファイル 著者 lastcomm は、カリフォルニア大学バークレー校で開発されました。 参照 last(1), acct(4), acctsh(1M), core(4) Section 1-666 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ld(1) ld(1) 名称 ld − リンクエディター 構文 特記事項 Integrity システムでは ld_ia(1) を、PA-RISC システムでは ld_pa(1) をそれぞれ参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Integrity システムで、それ以外の値であれば PA-RISC システムです。 参照 ld_ia(1), ld_pa(1), uname(1) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-667 ld_ia(1) ld_ia(1) 名称 ld_ia: ld − リンクエディター 構文 リンクエディター ld [−bdmnqrstvwxzEGINOPQSTVZ] [−a search] [−c filename] [−dynamic] [−e epsym] [−h symbol]... [−k filename] [−lx file]... [−l: library] [−m] [−noshared] [−noshared_dynamic] [−o outfile] [−symbolic symbol]... [−u symbol]... [−y symbol]... [−A name] [−B bind]... [−C n] [−D offset] [−Fl] [−Fw] [−Fz] [−G] [−L dir]... [−N] [−O] [−Pd] [−PD file] [−PF file] [−Q] [−R offset] [−S] [−T] [+alloc_hidden_commons] [+allowdups] [+[no]allowunsats] [+as mode] [+b path_list] [+cdp oldpath:newpath] [+cg path] [+compat] [+copyobjdebug] [+[no]defaultrpath] [+df file] [+dumpextern filename] [+dpv] [+e symbol]... [+ee symbol]... [+fb] [+fbu] [+filter shared_library_path] [+fini function]... [+[no]forceload] [+gstbuckets size] [+gst] [+gstsize size] [+h internal_name] [+help] [+hideallsymbols] [+ild] [+ildnowarn] [+ildpad percentage] [+ildrelink] [+init function]... [+instrumenter filename] [+interp filename] [+interposer] [+k] [+[no]lazyload] [+mergeseg] [+n] [+nobss] [+nocopyobjdebug] [+nodynhash] [+nodefaultmap] [+noenvvar] [+[no]mmap] [+noobjdebug] [+noprocelim_sym symbol]... [+nosectionmerge] [+nosmartbind] [+nosrcpos] [+nosymb symbol]... [+objdebugonly] [+origin shared_library_name] [+paddata pagesize] [+padtext pagesize] [+pd size] [+pdzero] [+pgm name] [+pi size] [+plabel_cache flag] [+profilebucketsize 16|32] [+rpathfirst] [+s] [+std] [+stripunwind] [+tools] [+v[no]shlibunsats] [+vallcompatwarnings] [+v[no]compatwarnings] [+vtype type] [+FP flag] [+I symbol]... [+O[no]fastaccess] [+O[no]procelim] [+Oreusedir=dir] [+Oselectivepercent n] [+Oselectivesize size] [+OselectiveO3] [+Ostaticprediction] 備考 このマンページは Integrity システム用 ld の説明をします。 PA-RISC システム用 ld は ld_pa(1). を参照してく ださい。 説明 ld は、入力として単一または複数のオブジェクトファイル、またはライブラリをとり、それらを結合して単一 の (通常実行可能な) ファイルを生成します。これを行う際に、外部シンボルへの参照の解決、最後のアドレス のプロシージャや変数への割り当て、新しいアドレスを反映するためのコードおよびデータの修正 ( 「再配 置」というプロセス)、およびシンボリックデバッグ情報がファイルに存在するときには、そのアップデートを 行います。デフォルトでは、 ld は HP-UX のローダー exec() (exec(2) を参照) によって実行できる実行可能ファ イルを生成します。また、このリンカーは、 ld によるこれ以降の処理に適した再配置可能なファイルを生成で きます (以下の -r を参照)。また、共有ライブラリも生成できます (以下の -b を参照)。シンボルが重複してい Section 1-668 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) る場合、または未解決の外部参照が残る場合には、リンカーは出力ファイルを実行不能としてマークします。 ld は、動作中に他の何らかのエラーが発生した場合、出力ファイルを生成しないこともあります (+k オプショ ンを参照)。 ld は3種類の入力ファイル、つまりコンパイラ、アセンブラ、またはリンカーによって作成されるオブジェク トファイル (.o ファイル)、リンカーによって作成される 共有ライブラリ、およびオブジェクトファイルのアー カイブ (アーカイブライブラリという) を認識します。 アーカイブライブラリには、その構成要素オブジェクトファイルのシンボルのうち外部に見せるシンボルすべ てのテーブルがあります。 (アーカイバコマンド ar(1) は、このインデックスを作成、保守します。) ld は、こ のテーブルを使用して外部シンボルへの参照を解決します。 ld は、コマンド行に記述された順にファイルを処理します。アーカイブライブラリ内のコードやデータは、 ユーザープログラム内の現在未解決の参照を解決する場合に限り、ユーザープログラムに取り込まれます (+[no]forceload を参照)。コマンド行では、すべての単純なオブジェクトファイルの名前の後にライブラリをリ ストするのが一般的です。 共有ライブラリのコードおよびデータは、実行可能プログラムには決してコピーされません。 32 ビットモー ド で は、 crt0.o は /usr/ccs/lib/hpux32/crt0.o に あ り ま す。 64 ビッ ト モー ド で は、 crt0.o は /usr/ccs/lib/hpux64/crt0.o にあります。 -noshared リンクでは、 crt0.o を含める必要があります。 32 ビット モードでは、ダイナミックローダーは /usr/lib/hpux32/dld.so にあります。 64 ビットモードでは、ダイナミッ クローダーは /usr/lib/hpux64/dld.so にあります。ダイナミックローダーは、必要な各ライブラリをプロセスに アタッチし、プログラムとそのライブラリの間のシンボリック参照をすべて解決します。 注記: セキュアプログラムと共有ライブラリのリンクについての詳細は、後述する 「セキュリティに関する制 限」の項を参照してください。 共有ライブラリのテキストセグメントは、ライブラリを使用するすべてのプロセスの間で共有されます。ライ ブラリを使用する各プロセスは、それらのプロセス専用のデータセグメントのコピーを受け取ります。ライブ ラリをロードする実行可能プログラム上で pxdb -s on が実行されている場合、共有ライブラリのテキストセグ メントは、実行可能プログラムを実行している各プロセスに対してプライベートにマッピングされます。 ld は、 ld で作成されたプログラムが使用する共有ライブラリの依存関係を再帰的に調べます。ld を実行したと きに、共有ライブラリの依存関係リストに記録されているパスに存在する、サポートされている共有ライブラ リが見つからない場合、および共有ライブラリが作成されたときに −l 引き数が使用された結果存在する依存関 係が見つかった場合には、 ld は、ライブラリを検索するように指定されたすべてのディレクトリ (−L および LPATH を参照) を探して、 −l で指定されたライブラリを見つけます。 オプション -a search -l オプションで共有ライブラリとアーカイブライブラリのどちらを検索するかを指定 します。 search の値は、 archive、 shared、 archive_shared、 shared_archive、また は default のどれかでなければなりません。このオプションは、ライブラリごとの検 索を制御するために、 -l オプションと混在させて複数回指定することができます。デ フォルトでは、ライブラリの共有バージョンが利用できれば使用し、利用できなけれ HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-669 ld_ia(1) ld_ia(1) ばアーカイブバージョンを使用します。 archive または shared のどちらかがアクティブならば、指定したライブラリタイプだ けが受け付けられます。 archive_shared がアクティブな場合、アーカイブ形式が優先しますが、共有形式も認 められます。 shared_archive がアクティブな場合、共有形式が優先しますが、アーカイブ形式も認 められます。 静的にバインドされたプログラムを作成するには、 -a archive ではなく、 −noshared オプションを使います。 通常の実行可能ファイルではなく共有ライブラリを作成します。このオプションで処 -b 理されるオブジェクトファイルは、コンパイラがデフォルトで生成する position-independent code (PIC) でなければなりません。 cc(1)、 aCC(1)、 f90(1)、 as(1)、および 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』で PIC (positionindependent code) の説明を参照してください。 -c filename ld のオプションをファイルから読み込みます。各行には、空白で区切った引き数が0 個以上あります。ファイル内の各行は、最後の行も含めて、改行文字で終わっていな ければなりません。 # 文字は、そこから行末までコメントであることを示します。 # 文字をエスケープさせるには、シーケンス ## を使用します。 強制的に「共通」シンボルの定義を行います。つまり、 -r 出力に対してアドレスとサ -d イズを割り当てます。またこのオプションは、出力から COMDAT 情報を削除しま す。 -dynamic このオプションは、デフォルトです。このオプションにより、リンカーは共有ライブ ラリを使用できる、ダイナミックリンクされた実行可能プログラムを作成します。こ のオプションは、 -noshared の反対です。 共有ライブラリがリンクされていない場合、リンカーはダイナミックリンクされた実 行可能プログラムを構築します。ただし、 +compat オプションを使う PA-RISC 32 ビットモードでは、共有ライブラリがリンクされていない場合、リンカーは静的にバ インドされた実行可能プログラム (アーカイブバインドされた実行可能プログラム) を 構築します。 ダイナミックリンクされた実行可能プログラムでは、プログラムが共有ライブラリに リンクされているかどうかにかかわらず、ダイナミックローダーが実行可能プログラ ムのロード処理を行います。 -noshared (静的にバインドされた) プログラムの場合、 制御はダイナミックローダーには渡されません。詳細については、 dld.so(5) を参照し てください。 Section 1-670 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) -e epsym 出力ファイルのデフォルトのエントリーポイント アドレスを、シンボル epsym のエン トリーポイント アドレスに設定します (このオプションは実行可能ファイルだけに適 用されます)。 -h symbol シンボルテーブルを出力ファイルに書き出す前に、この名前を「ローカル」として マークして、外部的に見えなくなるようにします。これにより、 ld による将来の処 理時に、特にこのエントリーが別のファイルの定義と衝突しないようになります。共 有ライブラリまたはプログラムの構築時にこのオプションを使用すると、指定したシ ンボルがダイナミックローダーから見えなくなります。 複数のオプションシンボルペアをコマンド行で使って、 symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、 -h オプションを付加しなければな りません。 -k filename 出力ファイルのメモリーマップを記述したマップファイルを指定します。 詳細については 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してく ださい。 +nodefaultmap も参照してください。 -lx ライブラリ libx.a、 libx.so、または libx.sl を検索します。ここで、 x は単一または複 数の文字です。 -a オプションの現在の状態によって、ライブラリのアーカイブ (.a) と共有 (.sl または .so) バージョンのどちらが検索されるかが決まります。名前が現れ た時点でライブラリが検索されるため、 -l の位置は意味があります。デフォルトで は、 32 ビットライブラリは /usr/lib/hpux32 にあります。 64 ビットライブラリは /usr/lib/hpux64 にあります。環境変数 LPATH がユーザーの環境に存在する場合、検 索するディレクトリをコロンで区切ったリストが設定されていなければなりません。 これらのディレクトリは、デフォルトディレクトリの代わりに検索されますが、その 場合でも -L オプションは有効です。プログラムが共有ライブラリを使用する場合、 32 ビット用ダイナミックローダー /usr/lib/hpux32/dld.so または 64 ビット用ダイナ ミックローダー /usr/lib/hpux64/dld.so は、リンク時に各ライブラリと同じディレクト リから各ライブラリをロードしようとします (+s および +b オプションを参照)。 -l: library 指定したライブラリを検索します。 -l オプションと類似していますが、 -a オプショ ンの現在の状態に依存しない点が異なります。ライブラリ名には、有効なファイル名 であれば任意の名前を指定できます。 -m 標準出力上にロードマップを生成します。 -n このオプションは無視されます。 -noshared リンカーに、完全にアーカイブバインドのプログラム (静的にバインドされた実行可 能プログラムともいう) を強制的に作成させます。このオプションを使うときは、 ld のコマンド行で /usr/ccs/lib/hpux32/crt0.o または /usr/ccs/lib/hpux64/crt0.o (または同等 の起動コード) を指定します。このオプションは、 −dynamic の反対です。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-671 ld_ia(1) ld_ia(1) ダイナミックリンクされた実行可能プログラムでは、プログラムが共有ライブラリに リンクされているかどうかにかかわらず、ダイナミックローダーが実行可能プログラ ムのロード処理を行います。静的にリンクされたプログラムの場合、制御はダイナ ミックローダーには渡されません。 -noshared_dynamic 共有ライブラリがリンクされている場合、ダイナミックリンクされたプログラムを作 成します。共有ライブラリがリンクされていない場合、リンカーは完全にアーカイブ バインドのプログラムを作成します。このオプションは、互換モード (+compat) オプ ションではデフォルトです。 −dynamic オプションと −noshared オプションも参照し てください。 -o outfile outfile (-o outfile を指定しなければ a.out) という名前の出力オブジェクトファイルを生 成します。 このオプションは無視されます。 -q 次の再リンクのために、出力ファイルに再配置情報を保持します。 ld コマンドは未 -r 定義シンボルをレポートしません。このオプションは、共有ライブラリの作成時 (-b) または -s、 -x、または +ild インクリメンタルリンクオプションと一緒には使用でき ません。 出力ファイルからすべてのシンボルテーブル、再配置、およびデバッグサポート情報 -s を削除します (この情報は strip(1) コマンドでも削除できます)。このオプションは、 -r オプションおよび +ild オプションと同時に指定することはできません。 注記: -s オプションを使うと、生成されたプログラムに対してシンボリックデバッガ が使えなくなります。 -symbolic symbol 共有ライブラリを構築するときに、指定したシンボルへのすべての参照を、リンカー がライブラリ内に定義されているシンボルで解決するように指示します。このオプ ションは -B symbolic と似ていますが、シンボルごとに指示することができます。 複数のオプションシンボルペアをコマンド行で使って、 symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、 -symbolic オプションを付加しなけ ればなりません。 symbol は、複数のシンボル名に一致する正規表現にすることもできます。正規表現に ついては regexp(5) で説明しています。 -t ld が各入力ファイルを処理するたびに、トレースを (標準出力に) プリントします。 -u symbol シンボルテーブルの未定義シンボルとして symbol を入力します。未解決の参照が生 成されますが、これは、プログラムをライブラリ内のオブジェクトファイルだけとリ ンクする場合に便利です。 Section 1-672 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) 複数のオプションシンボルペアをコマンド行で使って、 symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、 -u オプションを付加しなければな りません。 -v リンク時に詳細なメッセージを表示します。このオプションは、 +vtype all と同等で す (詳細については、 +vtype オプションを参照してください)。 -w -x すべての警告を抑制します。 出力ファイルからローカルシンボルを削除します。これはオブジェクトファイル ユー ティリティの機能を損なわずに出力ファイルのサイズを縮小します。このオプション は、-r オプションおよび +ild オプションと同時に指定することはできません。 (イン クリメンタルリンカーは、出力ロードモジュールの -x オプションで削除される部分 を必要とします。) 注記: -x オプションを使うと、生成されたプログラムに対してシンボリックデバッガ が使えなくなります。 -y symbol symbol が現れる各ファイルを示します。複数のオプションシンボルペアをコマンド行 で使って、 symbol を複数指定することができます。つまり、指定する各 symbol の前 に、 -y オプションを付加しなければなりません。 -z null ポインターの実行時参照で SIGSEGV シグナルが生成されるようにします (これ は -Z オプションの反対です。 -Z がデフォルトです)。 -A name -B bind このオプションは無視され、警告メッセージが出力されます。 共有ライブラリを使っているプログラムの実行時バインディング動作を選択したり、 共有ライブラリの生成に必要なバインディング方法を選択します。 bind の最も一般 的な値は、以下のとおりです。 direct シンボルの解決中に解決された共有ライブラリ名を記録することに より、シンボル参照と共有ライブラリの間に直接リンクを作成しま す。この情報は、実行時に、ロードされているすべてのライブラリ を検索することなく迅速にシンボルを解決する目的で使用されま す。 -B direct では、シンボリックバインディングは無条件にオンになり (-B symbolic を参照 ) 、依存共有ライブラリの処理は無効になりま す。 実行時に直接バインディングを無効にするには、 LD_NODIRECTBIND 環境変数を設定します。 deferred プログラム起動時ではなく最初の参照でアドレスをバインドします ( デフォルト)。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-673 ld_ia(1) ld_ia(1) group 共有ライブラリをマークして、 dlopen() に RTLD_GROUP フラグを 指定してロードしたかのように動作させます。これは、依存共有ラ イブラリには影響しません。 immediate ライブラリのロード時に、すべてのシンボルのアドレスを即座にバ インドします。通常、この後に −B nonfatal を指定し、プログラム起 動時に解決できないプロシージャ呼び出しを、最初の参照で解決す るようにします。 −B nonfatal は、解決できないシンボルに関するメッセージを表示し ないので、それらのメッセージを表示するには −B verbose も指定し ます。 以下の例を参照してください。 lazydirect 遅延ローディングとしてマークされている共有ライブラリへの直接 バインド情報のみを記録します。 +[no]lazyload を参照してくださ い。 nodelete 共有ライブラリをマークして、プロセスから共有ライブラリを切り 離さずに dlclose() または shl_load() を使用した明示的なアンロード が警告なしに正常終了を返すようにします。その後、共有ライブラ リ ハ ン ド ル は shl_findsym() に 対 し て の み 有 効 に な り ま す。 dlsym() 、 dlclose() 、 お よ び shl_unload() は、 shl_load() ま た は dlopen() を使用して次に明示的にロードするまで無効なままです。 nodirect 直接バインディングを禁止します。遅延ローディングがマークされ たライブラリに対する参照については、1つの「直接ヒント」のみ が記録されます。これはデフォルトの動作です。 nonfatal -B immediate も指定した場合、プログラムの起動時にバインドでき なかったコードシンボルは、それらが参照されるまでバインドが延 期されます。上記の -B immediate の説明を参照してください。 -B nonfatal は、解決できないシンボルに関するメッセージを表示し ないので、それらのメッセージを表示するには -B verbose も指定し ます。 restricted シンボル定義の検索が、ライブラリがロードされた時点での可視シ ンボルのみに対して行われるようにします。 symbolic 共有ライブラリを生成するときにのみ使用します。このオプション は、可能な場合は、ライブラリ内のすべてのシンボルが内部で解決 されるようにします。内部解決されたシンボルも、外部から参照で きます。 Section 1-674 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) デフォルト (-B symbolic オプションなし) では、参照は同じコンパイ ル単位内のシンボル定義、または最も近接した定義で解決されま す。シンボルをエクスポートする最初のロードモジュール (a.out ま たは共有ライブラリ) が、最も近接した定義を持ちます。複数のロー ドモジュールで、同じシンボルを定義しエクスポートすることがで きます。共有ライブラリ内のシンボルへの参照は、シンボルが共有 ライブラリ内で定義さられていても、他の共有ライブラリ内の定義 で解決することができます。このオプションを使うと、共有ライブ ラリ内のすべての参照が、共有ライブラリ内に定義されていれば、 その定義の使用を強制できます。 -B symbolic と一緒に +e オプションや +ee オプションを使う方法に ついての詳細は、 +e オプションと +ee オプションを参照してくださ い。 verbose シンボルをバインドするときに冗長メッセージを表示します。 -B nonfatal を指定していないときには、これがデフォルトです。 -B nonfatal を指定した場合、冗長メッセージを表示するには、 -B verbose を明示的に指定しなければなりません。 バインディングモードの使用法についての詳細は、 +help オプションを使うか、 『 HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 -C n このオプションは無視され、警告メッセージが出力されます。 -D offset データセグメントの開始アドレス (16 進数) を設定します。このオプションは、カー ネルアプリケーションと、埋め込みアプリケーションで便利です。 64 ビットモード のデフォルトアドレスは 0x6000000000000000 で、32 ビットモードのデフォルトアド レスは 0x40008000 です。 -E プログラムで定義されているすべてのシンボルを、共有ライブラリにエクスポートす るためにマークします。 +compat モードでリンクする場合、 ld はリンクの対象共有 ライブラリから実際に参照されているシンボルだけをマークします。 +std モードで リンクする場合は、すべてのシンボルがデフォルトでエクスポートされるので、シン ボルが見えるように -E を指定する必要はありません。一方、このオプションを指定 すると、エクスポートされるシンボルは副作用ですべて必要と見なされるため、デッ ドコードの削除を指定 (+Oprocelim) しても削除されません。 -Fl アーカイブライブラリのロードを強制します。 +forceload と同じです。 -Fw このオプションは無視され、警告が出力されます。 -Fz このオプションは指定できますが、無視されます。 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-675 ld_ia(1) ld_ia(1) 出力ファイルからロード不能データをすべて削除します。このオプションは通常、デ -G バッグ情報の削除に使用します。 +ild オプションと同時に指定することはできませ ん。 注記: -G オプションを使うと、生成されたプログラムに対してシンボリックデバッガ が使えなくなります。 実行時にプロファイル情報を収集するコードを組み込みます。計測機能付きのプログ -I ラムが実行されると、プロファイルデータベースファイルが出力されます (デフォル トの名前は、 flow.data)。プログラムの実行時に収集されるプロファイルデータは、 -P オプションと一緒に使用できます。デフォルトの計測機能組み込みプログラムは動 的な計測機能組み込みプログラム /opt/langtools/bin/caliper ですが、 +instrumenter オ プションを使って、静的な計測機能組み込みプログラム /opt/langtools/bin/sin を呼び 出すこともできます。 このオプションは、-P、 -O、 +ild、または +O オプションとともに使用しないでく ださい。 注記 : +instrumenter sin を使う場合は、プログラムに計測機能を組み込む方法とし て、 ld -I オプションではなく、コンパイラの +I オプションを使うようお勧めしま す。リンカーを直接起動するときには、リンカーに −u__sin_core__、 −u__sin_init、 および −lsin オプションを渡さなければなりません。ライブラリとリンクする、計測 機能付き共有ライブラリと計測機能付き共有実行可能プログラムの両方がある場合 は、 -u オプションのほかに、 −h__sin_core__ オプションと −h__sin_lookup_ibt オプ ションも指定しなければなりません。デフォルトまたは +instrumenter caliper を使う 場合は、これ以外のリンカーオプションは必要ありません。 -L dir デフォルトのディレクトリで libx.a、 libx.sl、または libx.so を検索する前に、 dir で 検索します。複数のディレクトリを指定できますが、各ディレクトリの前には -L オ プションを付けなければなりません。 -L オプションは、コマンド行の -l オプション の前でのみ有効です。 -N 32 ビットモードでのみ、データがテキストの直後に置かれるようにし、テキストを書 き込み可能にします。このタイプのファイルは共有できません。 -O リンカーの最適化をオンにします。現在、最適化には、不要なプロシージャの除去が 含まれます。 +O4 コンパイラオプションを選択すると、コンパイラによって -O がリンカーに渡さ れます。 このオプションは、 +ild オプションと併用できません。 リンカーの最適化に関する詳細は、 +help オプションを使うか、 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 Section 1-676 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) -P 計測機能付きプログラム (-I オプションを参照) によって生成されるプロファイルデー タベースファイルを検査して、コードに対してプロファイルベースの最適化を行いま す。このオプションは、 +ild オプションと一緒に使用しないでください。 -Pd デバッグ可能な関数を並べ換えます。通常、 -P は、 .o ファイル内のデバッグ情報付 きの関数を並べ換えません。並べ換えるとデバッグできなくなるためです。このオプ ションはそれよりも優先され、関数を並べ換えます。デフォルトでは、並べ換えは、 flow.data から作成されたリンクオーダーファイルを基に実行されます。 -PF オプショ ンを指定すると、リンカーは flow.data の代わりに、指定したリンクオーダーファイ ルを使用して並べ換えます。このオプションは、 +ild オプションと同時に使うことは できません。 注記: -Pd オプションを使うと、生成されたプログラムに対してシンボリックデバッ ガが使えなくなります。 -PD filename -P オプションを用いてリンクした際に fdp が生成したリンクオーダー ファイルを ユーザー指定ファイルに保存します。このオプションは、 +ild オプションと一緒に使 用することはできません。 -PF filename リンカーに対して、 /usr/ccs/bin/fdp を用いてリンクオーダーファイルを生成せず、指 定されたファイルをリンクオーダーファイルとして用いるように指示します。このオ プションは、 +ild オプションと一緒に使用することはできません。 -Q このオプションは無視されます。 -R offset テキスト (コード) セグメントの開始アドレス (16 進数) を設定します。このオプショ ンは、カーネルと埋め込みアプリケーションで便利です。 64 ビットモードのデフォ ルトアドレスは 0x4000000000000000 で、 32 ビットモードのデフォルトアドレスは 0x04000000 です。 -N オプションを指定すると、デフォルトは 0x1000 です。 -S このオプションは無視され、警告メッセージが出力されます。 -T は +nommap オプションと同じです。 -V 使用している ld のバージョン情報を示すメッセージが出力されます。 -Z このオプションはデフォルトです。 null ポインターの実行時参照を可能にします。 cc(1) で -Z およびポインターの説明を参照してください (これは -z オプションの反対 です)。 +alloc_hidden_commons 非表示「共通」シンボルの記憶領域を -r 出力に強制的に割り当てます。これは、すべ ての非表示「共通」シンボルを記憶領域に割り当てる -d オプションと同じです。 +alloc_hidden_commons と -d オプションの両方を指定した場合は、 -d が優先しま す。 HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-677 ld_ia(1) ld_ia(1) +allowdups 複数シンボル定義を許可します。デフォルトでは、再配置可能なオブジェクト間で複 数シンボル定義を行うと、致命的エラーの状態になります。このオプションでは、エ ラー状態を抑制し、最初のシンボル定義を使用することができます。 +[no]allowunsats 未解決シンボルのエラー報告を制御します。 +allowunsats は、出力ファイルに未解決 シンボルがある場合でもエラーのフラグをつけません。これは再配置可能リンクおよ び共有ライブラリ生成でのデフォルトです。 +noallowunsats は、出力ファイルに未解 決シンボルがある場合はエラーのフラグをつけます。これはプログラムファイルでの デフォルトです。 +as mode カーネルが使用するアドレススペース モデルを制御します。モデルの値は、 default, share_magic, exec_magic, shmem_magic, mpas のいずれかです。現在のデフォルトは share_magic です。デフォルト以外のモデル値に設定するには、テキストセグメント とデータセグメントが連続領域に配置されるように、 -N コンパイラオプションを付 けて実行ファイルを作成する必要があります。 +b path_list -l または -l: オプションのいずれかで指定した、実行可能出力ファイルに必要な共有 ライブラリをプログラム実行時に検索するディレクトリをコロンで区切ったリストで 指定します。このディレクトリリストは、埋め込みパスになります。 +b オプション が複数ある場合は、最後に指定したものが記録されます。 +b を指定しないか、引き数がコロン (:) だけの場合、 ld は -L オプションおよび LPATH 環境変数 (+s オプションを参照) によって指定されるすべてのディレクトリを 使って、埋め込みパスを構築します。 +cdp oldpath:newpath このオプションは無視されます。 +compat リンカーの互換モードをオンにします。これは、PA-RISC の 32 ビットリンクを模倣 する動作です。 +[no]copyobjdebug +noobjdebug リンカーオプションを使うと、 +objdebug コンパイラオプションの効果 が無効になります。リンカーは、デバッグ情報の出力ファイルへのコピーを省略し、 オブジェクトファイルからの +objdebug 情報の取り出しも省略します。ただし、以前 の -r リンクの結果として作成されたオブジェクトファイルがある場合、これらのファ イルの +objdebug 情報は取り除かれません。 +nocopyobjdebug オプションを +noobjdebug オプションと一緒に使うと、 -r オプションで生成されたオブジェクトを含 め、リンカーは、すべてのオブジェクトファイルから強制的に +objdebug 情報を取り 除きます。デフォルトは、 +copyobjdebug です。 Section 1-678 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) +[no]defaultrpath デフォルトは、 +defaultrpath です。 +b オプションを指定しない限り、 -L で指定し たパスが埋め込みパスに含まれます。 +b を使うと、 +b で指定したパスリストだけ が埋め込みパスに含まれます。 +nodefaultrpath オプションを使うと、 -L オプションで指定したすべてのライブラリ パスが、埋め込みパスから削除されます。リンカーは、 -L オプションで指定された ライブラリパスを、リンク時に検索します。実行時に検索されるライブラリパスは、 LD_LIBRARY_PATH 環境変数および SHLIB_PATH 環境変数で指定されているライ ブラリパス、 +b リンカーオプションで指定されているライブラリパス、デフォルト のライブラリパスだけです。 +df file -P オプションと併用すると、このオプションは、 file をプロファイルデータベース ファ イ ル と し て 使 用 す る よ う に 指 定 し ま す。 デ フォ ル ト 値 は flow.data で す。 FLOW_DATA 環境変数の説明を参照してください。このオプションは、 +ild オプ ションと一緒に指定することはできません。 +dpv procelim で除外されたプロシージャの情報を出力します。 +vtype procelim と同じで す。 +dumpextern filename 実行可能プログラムと共有ライブラリのリンク時に有効です。リンカーによって filename で指定したファイルに、すべての外部シンボルがダンプされます。ロードモ ジュール (a.out または共有ライブラリ) 内で参照され、ロードモジュール内で定義さ れていないすべての外部シンボルが、指定したファイルにダンプされます。 −Bextern:filename オプションを使うと、このファイルをコンパイラに戻すことができま す。詳細については、コンパイラオプションの −Bextern: filename 、 -Bhidden、およ び -Bprotected を参照してください。 +e symbol 共有ライブラリまたはプログラムを構築する際、ダイナミックローダーにエクスポー トするシンボルをマークします。明示的にマークしたシンボルだけがエクスポートさ れます。共有ライブラリを構築する際、エクスポートされないシンボルへの呼び出し が内部解決されます。 +e オプションまたは +ee オプションを -B symbolic と一緒に使うと、指定したシンボ ルへの参照は、定義されている場合、内部解決されます。実行時の動作は、 +e だけ を使った場合と異なることがあります。 複数のオプションシンボルペアをコマンド行で使って、 symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、 +e オプションを付加しなければな りません。 +ee symbol このオプションは、シンボルをエクスポートする点で +e オプションに似ています。 しかし、 +e オプションとは異なり、 +ee オプションはファイル内の他のどのシンボ HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-679 ld_ia(1) ld_ia(1) ルの可視性も変更しません。 +compat モードの実行可能プログラムを構築する場合、 ld はデフォルトで、リンク時に見える共有ライブラリが実際に参照しているシンボル だけをエクスポートします。 +ee オプションと +compat オプションを一緒に指定する と、デフォルトでエクスポートされているシンボルを隠すことなく、指定したシンボ ルがエクスポートされます。 +std モードのリンクでは、全シンボルがデフォルトで エクスポートされるので、シンボルを可視にするために +ee は必要ありません。しか し、シンボルの必要性を判断する際に別の副作用があり、デッドコード削除 (+Oprocelim) を使用してもデッドコードが除去されません。 +ee オプションは、 +hideallsymbols のようなオプションが同時に指定されたときも、エクスポートの動作は変わ りません。 複数のオプションシンボルペアをコマンド行で使って、 symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、 +ee オプションを付加しなければ なりません。 リンカーで生成された実行可能ファイルに対して fastbind ツールを実行するように、 +fb リンカーに指示します。実行可能ファイルは共有ライブラリとリンクされます。 fastbind(1) についての詳細は、 +help オプションを使うか、 『HP-UX リンカー & ライブ ラリー ユーザーズガイド』を参照してください。このオプションは、 +ild オプショ ンと一緒に指定することはできません。 +fbu fastbind ツールに -u オプションを渡します。 fastbind(1) についての詳細は、 +help オ プションを使うか、 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照し てください。このオプションは、 +ild オプションと一緒に指定することはできませ ん。 +filter shared_library_path 共有ライブラリのフィルター機能を有効にします。この機能を使えば、大規模なライ ブラリを1つの「フィルター」といくつかの「処理系」ライブラリに分割できるの で、共有ライブラリを効率的に構成できます。 shared_library_path には、フィルター ライブラリの場所を指定します。詳細は、 『HP-UX リンカー & ライブラリー オンラ イン ユーザーズガイド』を参照してください。 +fini function_name ターミネータ関数を指定します。コマンド行上では、起動される順に左から右へ指定 します。 複数のオプションシンボルペアをコマンド行で使って、ターミネータ関数を複数指定 することができます。つまり、指定する各関数の前に、 +fini オプションを付加しな ければなりません。 +[no]forceload デフォルトは、 +noforceload です。 +forceload オプションは、アーカイブライブラリ からすべてのオブジェクトファイルをロードします。 +noforceload は、アーカイブラ Section 1-680 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) イブラリから必要なオブジェクトファイルだけをロードします。モードは明示的に、 あるいはデフォルトで選択でき、変更されるまでそのモードのままです。 +gst シンボルのインポート/ エクスポートエントリーの値を検索するために使用する、グ ローバルシンボル テーブルのハッシュメカニズムを有効にします。 +gst と、これに 関連するオプションを使用すると、エクスポートされたシンボルの検索を高速化する グローバルシンボル テーブルが利用され、性能が向上します。詳細は dld.so(5) と 『 HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』を参照してくださ い。 +gstbuckets size このオプションは無視されます。 +gstsize size グローバルシンボル テーブルのハッシュメカニズムに使用するハッシュ配列のサイズ を指定します。デフォルト値は 1103 です。この値は、実行時に _HP_DLDOPTS 環境 変数へ値 -symtab_size prime number を設定することで変更できます。この値は、 chatr +gstsize size file を用いて設定できます。 +h internal_name 共有ライブラリを作成する際に、internal_name をライブラリ名として記録します。ラ イブラリが別の実行可能ファイル (プログラムまたは共有ライブラリ) をリンクするた めに使用される場合、入力共有ライブラリのパス名の代りに、この internal_name が 出力ファイルのライブラリリストに記録されます。つまり、 +h を使用しない場合、 共有ライブラリには内部名がないため、その共有ライブラリを使って実行可能ファイ ルを構築すると、リンカーは自分が参照しているライブラリ名を記録します。 +h オプションがリンク行に複数指定されている場合、リンカーは最初のオプションを 使い、警告メッセージを表示します。 +help HP-UX オペレーティングシステムに付属のヘルプブラウザ ユーティリティ 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』を表示します。詳細は、 『 HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +hideallsymbols +e で明示的にエクスポートしない限り、すべてのシンボルのエクスポートを禁止しま す。このオプションを使うと、すべてのシンボルがシンボルテーブル内で「ローカ ル」とマークされます。 -h オプションと +e オプションも参照してください。 +ild インクリメンタルリンクを指定します。 出力ファイルが存在しないか、出力ファイルが +ild オプションなしで作成されている 場合、リンカーは初期インクリメンタルリンクを実行します。作成された出力ファイ ルは、以降のインクリメンタルリンクで使用できます。インクリメンタルリンクオプ ションは、実行可能プログラムと共有ライブラリのどちらのリンクにも有効です。 HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-681 ld_ia(1) ld_ia(1) 次のオプションは、 +ild オプションと同時に使うことはできません。 +ild と同時に 使用できない次の ld オプションのいずれかを指定すると、リンカーは警告メッセー ジを出力し、 +ild オプションを無視します。 • -rオプション: 再配置可能オブジェクトファイルを作成します。 • ストリップオプション: -s、 -x、および -G は、出力ファイルをストリップします。 • 最適化オプション : -I 、 -O 、 -P 、 -PD 、 -PF 、 +df file 、 +fb 、 +fbu 、 +fbs 、 +pgm name、 +Oprocelim 以下のオプションは +ild オプションと併用できますが、制限事項があります。 • -D offset、 -R offset データセグメントおよびテキストセグメントのオリジンを設定します。初期インク リメンタルリンク後にオフセットを変更すると、リンカーは初期インクリメンタル リンクを自動的に実行します。 • -k mapfile デフォルト以外のマップファイルを指定します。 +ild オプションと一緒に、ユー ザー指定のマップファイル仕様を使用できます。ただし、初期インクリメンタルリ ンク後はマップファイルを変更しないでください。初期リンク後にマップファイル を変更すると、初期インクリメンタルリンクが自動的に行われます。 +ildnowarn インクリメンタルリンクに関する警告を抑制します。デフォルトでは、リンカーはイ ンクリメンタルリンクに関連する警告をすべて出力します。 +ild と +ildrelink のどち らも指定していない場合、このオプションは無視されます。 +ildpad percentage インクリメンタルリンカーが割り当てるパディングの量を、パディングされるオブ ジェクトファイル構造のサイズに対する割合 (percentage) で制御します。デフォルト で は、 リ ン カー は 20 % 未 満 の パ ディ ン グ ス ペー ス を 割 り 当 て ま す。 +ild と +ildrelink のどちらも指定していない場合、このオプションは無視されます。 +ildrelink 出力ロードモジュールの状態にかかわらず、初期インクリメンタルリンクを実行しま す。 状況によっては (たとえば、内部パディングスペースの不足)、インクリメンタルリン カーは初期インクリメンタルリンクを強制的に実行することがあります。 +ildrelink オプションを使用して定期的に出力ファイルを再構築することにより、このような予 期しない初期インクリメンタルリンクが発生するのを防ぐことができます。 +init function_name イニシャライザ関数を指定します。コマンド行では、呼び出しの逆順に (右から左へ) この関数を指定します。 Section 1-682 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) 複数のオプションシンボルペアをコマンド行で使って、イニシャライザ関数を複数指 定することができます。つまり、指定する各イニシャライザ関数の前に、 +init オプ ションを付加しなければなりません。 +instrumenter name 使用する計測機能組み込みプログラムを指定します。指定できるのは、 sin または caliper だけです。デフォルトは caliper です。 sin を指定すると、リンカーは自動的 に /opt/langtools/bin/sin を呼び出します。 caliper を指定すると、プログラム実行時 に、ダイナミックローダーが自動的に /opt/langtools/bin/caliper を呼び出します。 +interp filename dld のパスを変更して、 filename で指定したプログラムを、ダイナミックローダーの 「インタプリタ」プログラムとして使います。特別なバージョンの dld.so をデバッグ する際に便利です。 デ フォ ル ト の パ ス は、 32 ビッ ト プ ロ グ ラ ム の 場 合 は /usr/lib/hpux32/uld.so:/usr/lib/hpux32/dld.so 、 64 ビッ ト プ ロ グ ラ ム の 場 合 は /usr/lib/hpux64/uld.so:/usr/lib/hpux64/dld.so です。 +interposer 共有ライブラリの構築時にのみ使用します。インタポジションとして使用可能な共有 ライブラリを作成します。直接バインド情報 (-B direct を参照) を使用したアプリケー ションの参照を解決する場合、ダイナミックローダーはまず仲介ライブラリを検索し ます。すべての仲介ライブラリに対してシンボルを解決できなかった場合は、直接バ インディング情報が使用されます。 +k リンク中にエラーがまったく発生しなかったときだけ実行可能ファイルを作成するよ う、リンカーに指示します。 (システムエラーや参照未解決) エラーが発生した場合、 出力ファイルは削除されます。 +[no]lazyload 共有ライブラリの遅延ローディングを有効 [無効] にします。 +lazyload ライブラリの ロードは、実行中にそのライブラリが参照されるまで遅延されます。 +lazyload と +nolazyload オプションの両方を、リンク時のコマンド行で同時に指定しても構いま せん。指定されたモード (明示的でもデフォルトでも) は、リンクのコマンド行で、次 にこの2つのオプションのいずれかが指定されるまで、後続のすべてのライブラリに 対して有効です。 次の条件を1つ以上を満たすライブラリでは、lazy ローディングは無効です。 • フィルターライブラリ • 他のモジュールからデータ参照でアクセスされる • 間接的な関数コールでアクセスされる リンカーは、このようなライブラリを暗黙的に +nolazyload ライブラリに変換しま す。 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-683 ld_ia(1) ld_ia(1) +lazyload 共有ライブラリの依存ライブラリは、リンク行上に明示的に指定されてい ない限り、リンク時には処理されません。 LD_NOLAZYLOAD 環境変数を設定することにより、実行中に遅延ローディングを無 効にすることができます。 +mergeseg 実行可能ファイルにフラグを設定して、そのファイルがダイナミックローダーによっ て起動されるときにロード対象共有ライブラリのすべてのデータセグメントが1ブ ロックにマージされるようにします。動的にロードされる各共有ライブラリのデータ セグメントは、依存ライブラリのデータセグメントともマージされます。このように マージすれば、カーネルで大きなページテーブルエントリーを使うことが可能にな り、実行時の性能が向上します。 +mmap mmap を使って出力データを書き出ことができます。これはデフォルトの機能です。 mmap が有効となったリンカーは高速になります。 リンカーが、アーカイブライブラリや共有ライブラリを検索する前に、オブジェクト +n モジュールをすべてロードするようにします。それからリンカーは、コマンド行に指 定されたアーカイブライブラリと共有ライブラリを左から右の順に検索します。コマ ンド行のライブラリの左から右への検索は、未解決シンボルがなくなるか、検索で新 しい定義が追加されなくなるまで繰り返されます。このオプションは、互いに依存す るシンボルを持った2つのライブラリを指定する場合に有効です。 +nobss データセグメントをゼロでパディングし、実行時に mmap を1回呼び出すだけでデー タセグメントをマッピングできるようにします。通常、データセグメントのマッピン グでは、ファイルバック記憶領域に対して1回の mmap 呼び出し、 bss (blank static storage) に対して2回目の mmap 呼び出しが必要です。このオプションを使用すると 出力ファイルのサイズが大きくなります。 +nodefaultmap デフォルトのメモリーマップを使わないようにします。 -k リンカーオプションに よってマップファイルを指定する必要があります。 +nodynhash +gst オプションでの実行可能プログラムまたは共有ライブラリの .dynhash セクション の作成に関する、デフォルトのリンカー動作を無効にします。ライブラリまたは実行 可能プログラムのグローバルシンボルテーブルを事前に作成しても、検索機能で使用 されることがほとんどない場合、または事前にハッシュ値を計算して格納するための オーバーヘッドが高すぎる場合に、このオプションを使用して、それらの計算済みの ハッシュテーブル情報を生成しないようにします。このオプションは、 -r オプション とともに使用すると効果がなくなります。 +noenvvar ダ イ ナ ミッ ク ロー ダー が 実 行 時 に ダ イ ナ ミッ ク パ ス 検 索 用 環 境 変 数 LD_LIBRARY_PATH、 SHLIB_PATH および $ORIGIN を無視するようにします。デ フォルトまたは +std オプションを指定した場合、ダイナミックローダーはこの環境 変数を探します。つまり、この環境変数が有効になります。 +compat オプションまた Section 1-684 Hewlett-Packard Company − 17 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) は +noenvvar オプションを指定した場合、このオプションが有効になり、ダイナミッ クローダーが変数を無視します ( 環境変数が無効になります)。 +compat オプション または +std オプションを参照してください。実行可能プログラムや共有ライブラリ 内のこのオプションのステータスは、 chatr コマンドの「shared library dynamic path search (共有ライブラリダイナミックパス検索)」の出力で表示されます。詳細につい ては、 chatr(1) を参照してください。このオプションは通常、セキュアプログラムに 使用します。 +nommap は mmap を無効にして、通常のバッファリング方法を使って出力ファイルに書き込み ます。 注記: メモリー量の不足が原因でリンカーが異常終了するシステム以外では +nommap を使わないでください。 +noobjdebug +objdebug コンパイラオプションを無効にし、すべてのデバッグ情報を実行可能ファ イルにコピーします。 +objdebug コンパイラオプションを -g オプションとともに使 用すると、リンカーは出力ファイルへデバッグ情報をコピーせず、オブジェクトファ イル内にデバッグ情報を残します。リンク時に +noobjdebug オプションを指定する と、リンカーがデバッグ情報を出力ファイルにコピーするようにし、 +objdebug コン パイラオプションの効果を無効にすることができます。 +nocopyobjdebug も参照して ください。 +noprocelim_sym symbol [+noprocelim_sym symbol]... デッドコードの除外 (+Oprocelim). を使っているときには symbol を削除しないでくだ さい。このオプションは非表示シンボルとエクスポートされたシンボルに使えます。 コマンド行で、オプションとシンボルのペアを複数使用して、 symbol を複数指定す ることができます。この場合、指定する各 symbol の前に、 +noprocelim_sym オプ ションを付加しなければなりません。 +nosectionmerge -r オプションとともに使用して、プロシージャが個別に配置されるようにします。デ フォルトでは、プロシージャはすべて単一のセクションにマージされます。 +nosmartbind +nosrcpos このオプションは無視されます。 コンパイラオプションの +srcpos がデフォルトです。 -g コンパイラオプションを指定 しなくても、 +srcpos はコンパイラがデバッグ情報部を作成するようにします。デ フォルトの +srcpos オプションは、いつでも実行可能プログラムにデバッグ情報部を コピーするため、実行可能プログラムが大きくなります。 +srcpos を使うと、 -g コン パイラオプションを指定しなくても、 cxperf、 caliper、および sin などのツールでプ ログラムのプロファイリングを行うことができます。 +nosrcpos リンカーオプションを使うと、デフォルトの +srcpos コンパイラオプショ ンが無効になり、リンク時にデバッグ情報が削除されます。 +nosrcpos は -g +objdebug と一緒に使うこともでき、 +objdebug モードを完全に強制することができます ( HP-UX 11i Version 3: February 2007 − 18 − Hewlett-Packard Company Section 1-685 ld_ia(1) ld_ia(1) オブジェクトファイルからデバッグ情報をコピーしません)。 +nosymb symbol -B symbolic を指定して共有ライブラリを構築する際に、指定したシンボルをリンカー での -B symbolic シンボル解決から除外します。 コマンド行で、オプションとシンボルのペアを複数使用して、 symbol を複数指定す ることができます。この場合、指定する各 symbol の前に、 +nosymb オプションを付 加しなければなりません。 また、 symbol は、複数のシンボル名に一致する正規表現にすることもできます。正 規表現については regexp(5) で説明しています。 +objdebugonly 非 objdebug のオブジェクトやアーカイブのデバッグ情報を無視して、 +objdebug モードで実行します。 +objdebug オプションでコンパイルされたファイルだけをデ バッグする場合は、 +objdebugonly を使用すると、 +noobjdebug でコンパイルされた ファイルのデバッグ情報の処理をリンカーが省略するため、リンク時間を短縮するこ とができます。 +origin shared_library_name -lx (-l オプションの前か、共有ライブラリの名前の前でのみ使います。) リンカーが共有 ライブラリリストの 共有ライブラリ名の前に $ORIGIN を追加し、出力モジュールに DF_ORIGIN フラグを設定するようにします。実行時、ダイナミックローダーは親モ ジュール (オブジェクトモジュール、共有ライブラリ、または実行可能プログラム) の 現在のディレクトリを調べ、 $ORIGIN をそのディレクトリ名で置き換えます。例を 次に示します。 $ ld -dynamic main.o +origin libx.so -L /usr/lib/hpux32/ -lc +origin オプションが利用可能ですが、 +b オプションを使って埋め込みパス内で $ORIGIN を指定する方法をお勧めします。例を次に示します。 $ ld -dynamic main.o -L /usr/lib/hpux32/ -lc +b \$ORIGIN $ORIGIN についての詳細は、 +help オプションを使うか、 『HP-UX リンカー & ラ イブラリー ユーザーズガイド』を参照してください。 +paddata pagesize pagesize の倍数になるように、データセグメントをゼロでパディングします。これに よりページ割り当てが改善されます。つまり、カーネルがより少数の大きいデータ ページを割り当てることができるようになり、TLB ミスが減ります。このオプション を使うと、出力ファイルのサイズが大きくなります。 +padtext pagesize pagesize の倍数になるように、テキストセグメントをゼロでパディングします。これ によりページ割り当てが改善されます。つまり、カーネルがより少数の大きいデータ ページを割り当てることができるようになり、TLB ミスが減ります。このオプション Section 1-686 Hewlett-Packard Company − 19 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) を使うと、出力ファイルのサイズが大きくなります。 +pd size データ用に使用する仮想メモリーのページサイズを指定します。サポートされている サイズは 4K、 16K、 64K、 256K、 1M、 4M、 16M、 64M、 256M、 D、 L で す。サイズを D にすると、使用するページのサイズをカーネルが選択します。サイズ を L にすると、できるかぎり大きなページサイズが使用されます。要求したサイズが 受け入れられない場合、実際のページサイズは変わることがあります。 +pdzero このオプションは無視されます。 +pgm name -P オプションと一緒に使用し、プロファイルデータベース ファイルにおけるルック アップ名として、name を使用するように指定します。デフォルトは出力ファイルの ベース名です (-o オプションによって指定されます)。このオプションは、 +ild オプ ションと一緒に使用することはできません。 +pi size 命令用に使用する仮想メモリーのページサイズを指定します。詳細は +pd オプション を参照してください。 +plabel_cache flag このオプションは無視されます。 +profilebucketsize [16|32] プロファイリングサンプルカウンターバケットのサイズを指定します。指定できる値 は、16 または 32 です。詳細については、 gprof (1) を参照してください。 +s このオプションは、デフォルトです。実行時にダイナミックローダーが環境変数 SHLIB_PATH および LD_LIBRARY_PATH を使用して、ダイナミックライブラリ検 索可の実行可能出力ファイルが必要とする共有ライブラリを、検索できることを示し ます。ダイナミックライブラリ検索が可能な共有ライブラリは、"/" ( スラッシュ) 文 字がない内部名 (たとえば、共有ライブラリパス名のベース名) を持つか、内部名がな くて -l や -L が指定されたか、共有ライブラリパス名のベース名だけを持ちます。こ の環境変数は、ディレクトリをコロンで区切ったリストとして設定する必要がありま す。 +compat オプションを使う互換モードでは、 +s と +b を両方とも使用する場合、コマ ンド行での相対的な順序で、どのパスリストを最初に検索するかが決まります (+b オ プションを参照)。標準モード (デフォルトモードまたは +std オプションを使った場 合のモード) では、 +s と +b の順序はダイナミックローダーの検索の順序に影響せ ず、環境変数は必ず最初に検索されます。 +rpathfirst こ の オ プ ショ ン は、 RPATH ( 埋 め 込 み パ ス ) で 指 定 さ れ て い る パ ス が、 LD_LIBRARY_PATH や SHLIB_PATH で指定されているパスよりも前に、共有ライ ブラリの検索で使われるようにします。このオプションは、 LD_LIBRARY_PATH、 SHLIB_PATH、 RPATH (埋め込みパス) というデフォルトの検索順序を変更します。 HP-UX 11i Version 3: February 2007 − 20 − Hewlett-Packard Company Section 1-687 ld_ia(1) ld_ia(1) +std このオプションはデフォルトです。リンカーの標準モードをオンにします。このオプ ションは、 +compat オプションの反対です。このオプションを指定したときに設定さ れるオプションは、 −dynamic です。このオプションを指定したときにオフになる か、無視されるオプションは、 +compat、 +noenvvar、 -noshared です。 +stripunwind アンワインドテーブルを出力しません。このオプションにより、実行可能ファイルの サイズが小さくなります。デバッグや aC++ の例外処理にアンワインドテーブルが不 要であれば、このオプションを使ってください。 注記: +stripunwind オプションを使うと、生成されたプログラムに対してシンボリッ クデバッガが使えなくなることがあります。 +tools このオプションは無視されます。 +vallcompatwarnings このオプションは無視されます。 +v[no]compatwarnings このオプションは無視されます。 +v[no]shlibunsats 共有ライブラリが使用する未解決シンボルのリストのプリントを有効 [ 無効] にしま す。デフォルトは +vnoshlibunsats です。リンカーから報告される未解決シンボルの 中には、シンボルを参照するモジュールが使用されていないため実行時に不要なもの もあります。 +vtype type リンク動作について冗長な情報を出力します。 type には、次の値を指定します。 all +vtype オプションのすべての情報を出力します。 -v と同じです。 files ロードされた各オブジェクトファイルの情報を出力します。 heap リンクで使用されたヒープのサイズの情報を出力します。 libraries 検索されたライブラリの情報を出力します。 procelim +Oprocelim オプションで削除されたセクションの情報を出力しま す。 sections symbols 出力ファイルに追加された各入力セクションの情報を出力します。 入力ファイルに定義されていた、または入力ファイルから参照され たグローバルシンボルの情報を出力します。 +FP flags プログラム起動時に浮動小数点演算の環境をどのように初期化するかを指定します。 デフォルトでは、モードは IEEE 浮動小数点標準として指定されます。すなわち、ト ラップはすべて無効、段階的なアンダーフロー、最も近い値への丸めです。 +FP オプ ションでは、以下のモードがサポートされます (大文字のフラグは有効、小文字のフ Section 1-688 Hewlett-Packard Company − 21 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) ラグは無効を表します)。 D (d) 非正規化値の突発的なアンダーフロー (急にゼロになります) を有効にしま す。 I (i) N (n) 不正確な結果を生成する浮動小数点演算をトラップします。 非正規化 (Denormal|Unnormal) オペランドの浮動小数点演算をトラップし ます。 O (o) 浮動小数点オーバーフローをトラップします。 U (u) 浮動小数点アンダーフローをトラップします。 V (v) 無効な浮動小数点演算をトラップします。 Z (z) ゼロ除算をトラップします。 RU 上方向への丸めを有効にします (+Infinity へ)。 RD 下方向への丸めを有効にします (-Infinity へ)。 RZ ゼロ方向への丸めを有効にします (切り捨て)。 RN 最も近い値への丸めを有効にします (デフォルト)。 カンマ区切りリストで複数のモードを指定できます。たとえば次のように指定しま す。 +FP D,O,V,RZ これは、突発的なアンダーフロー、オーバーフローおよび無効演算のトラップ、ゼロ 方向への丸めを指定します。 +FP とモードの間にあるカンマとスペースは省略できま す。すなわち、 +FPDOVRZ は +FP D,O,V,RZ と同じ意味になります。 実行時にこれらの設定値を動的に変更する方法については、 fesettrapenable(3M) 、 fesetflushtozero(3M)、および fesetround(3M) を参照してください。 +I function 共有ライブラリを構築する際に、イニシャライザ関数の名前を指定します。共有ライ ブラリには、複数のイニシャライザを指定することもできます。イニシャライザは、 コマンド行で指定した順に実行されます。 複数のオプションシンボルペアをコマンド行で使って、イニシャライザ関数を複数指 定することができます。つまり、指定する各イニシャライザの前に、 +I オプション を付加しなければなりません。 このオプションは、互換性のためにサポートされています。 +init オプションと +fini オプションの使用をお勧めします。イニシャライザ関数についての詳細は、 +help オ プションを使うか、 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照し てください。 HP-UX 11i Version 3: February 2007 − 22 − Hewlett-Packard Company Section 1-689 ld_ia(1) ld_ia(1) +O[no]fastaccess このオプションは、無視されます。 +O[no]procelim アプリケーションから参照されていないプロシージャおよびデータの削除を有効 [無 効] にします。デフォルトは +Onoprocelim です。 プロシージャおよびデータの削除は、レベル0の場合も含めて、すべての最適化レベ ルで実行されます。削除はセクション単位で行われます。セクションの削除は、その セクション内のすべてのプロシージャ/データが参照されていない場合にのみ行われま す。詳細については、 +help オプションを使うか、 『HP-UX リンカー & ライブラ リー ユーザーズガイド』を参照してください。このオプションは、 +ild オプション と一緒に使用することはできません。 コンパイラは、高い最適化レベルで、リンカーに +Oprocelim を渡すことがあるので 注意してください。詳細は、コンパイラのマニュアルを参照してください。 +Oreusedir=dir このオプションは無視され、警告メッセージが出力されます。 +Oselectivepercent n インライン化のようなプロシージャ間の最適化を行うために、オブジェクトファイル の先頭から n パーセントの部分をハイレベルオプティマイザに渡すよう、プロシー ジャ間オプティマイザ ドライバに指示します。このオプションは、動的プロファイリ ングがあるときに最適化レベル4 (+O4) で機能するように設計されています。 +Oselectivesize size このオプションを使うことはできますが、無視されます。 +OselectiveO3 このオプションを使うことはできますが、無視されます。 +Ostaticprediction このオプションは無視され、警告メッセージが出力されます。 デフォルト 特に指示しない限り、 ld は出力ファイルの名前を a.out. とします。 -o オプションはこの名前を置き換えま す。 -noshared オプションを指定しない限り、デフォルトではダイナミックリンクプログラムが作成されま す。 -a のデフォルトの状態は、共有ライブラリが利用できれば共有ライブラリを検索し、利用できなければ アーカイブライブラリを検索することです。デフォルトのバインド動作は deferred. です。 -Z/-z オプションのデフォルト値は -Z です。 +objdebug コンパイラオプション +objdebug コンパイラオプションを -g オプションと一緒に使うと、デバッグ情報は出力ファイルにコピーされ ず、オブジェクトファイルに残されます。この結果、リンク時間が短くなり、出力ファイルが小さくなりま す。 +objdebug オプションでコンパイルされたロードモジュールをデバッグするには、HP WDB デバッガがオブ Section 1-690 Hewlett-Packard Company − 23 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) ジェクトファイルにアクセスできなければなりません。 (-r オプションで構築したオブジェクトファイルの場 合、個々のオブジェクトファイルがデバッガから利用できなければなりません。) オブジェクトファイルを移 動した場合は、HP WDB の objdir コマンドを使って、オブジェクトファイルの位置を指定する必要がありま す。 +noobjdebug コンパイラオプションを使うと、デバッグ情報が出力ファイルにコピーされます。コンパイル時 のデフォルトは、 +objdebug です。 リンカーは +objdebug オプションでコンパイルされたオブジェクトファイルを検出すると、デバッグ情報をそ れらのファイル内に残します。 +objdebug でコンパイルされていないオブジェクトファイルについては、デ バッグ情報が出力ファイルにコピーされます。 リンク時に +noobjdebug オプションを使うと、一部のオブジェクトが +objdebug でコンパイルされていても、 デバッグ情報を出力ファイルにコピーすることができます。 インクリメンタルリンク リンク時間は、編集、コンパイル、リンク、デバッグの開発サイクルで大きなウエートを占めます。インクリ メンタルリンカー (+ild オプションと +ildrelink オプションで利用可能) は、以前のバージョンのプログラムの 大半は再利用できること、未変更のオブジェクトファイルは処理が不要だということを利用して、リンク時間 を短くします。インクリメンタルリンカーを使用すると、未変更のオブジェクトファイルを再リンクすること なく、以前に作成した出力ファイル (実行可能ファイルまたは共有ライブラリ) にオブジェクトコードを挿入で きます。初期インクリメンタルリンク後の再リンクに必要な時間は、変更したモジュールの数に従って変化し ます。 リンカーには、次のリンクモードがあります。 • • 通常リンク: リンカーがすべてのモジュールをリンクする、デフォルトの動作モード。 初期インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作 成した出力モジュールが存在しないか、存在してもインクリメンタルリンカーがインクリメンタルアップ デートを実行できない場合に開始されるモード。 • インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作成し た出力モジュールが存在し、インクリメンタルリンカーが初期インクリメンタルリンクを必要としない場合 に開始されるモード。 一般的に、インクリメンタルリンクは通常リンクよりもかなり高速です。初回のリンクの場合、インクリメン タルリンクは通常のリンク処理と同じ時間を必要としますが、以後のインクリメンタルリンクは通常リンクよ りもかなり高速になります。中規模のリンク (ファイル数十個、合計数メガバイト) でオブジェクト1つの変更 では、通常の ld リンクよりも一般的に 10 倍程度速くなります。インクリメンタルリンカーは、割り当てられ ているパディングスペースや他の制約が許す限り、インクリメンタルリンクを実行します。リンク時間が短く なる代わりに、実行可能ファイルまたは共有ライブラリのサイズが大きくなります。 インクリメンタルリンカーは、出力ファイルのすべての構成要素に対してパディングスペースを割り当てま す。パディングによりモジュールは、 ld でリンクされたモジュールよりも大きくなります。以後のインクリメ HP-UX 11i Version 3: February 2007 − 24 − Hewlett-Packard Company Section 1-691 ld_ia(1) ld_ia(1) ンタルリンクでオブジェクトファイルのサイズが大きくなると、インクリメンタルリンカーは利用可能なパ ディングを使い尽くしてしまう可能性があります。このような状態になると、リンカーは警告メッセージを表 示し、モジュールの初期インクリメンタルリンクを完全に行います。 初期インクリメンタルリンクでは、リンカーは入力のオブジェクトファイルおよびライブラリを、通常リンク と同じ方法で処理します。通常リンクの処理の他に、インクリメンタルリンカーはオブジェクトファイル、グ ローバルシンボル、および再配置についての情報を保存し、出力ファイル内に拡張用のセクションをパディン グします。以後のインクリメンタルリンクでは、リンカーはタイムスタンプを使用してどのオブジェクトファ イルが変更されたかを調べ、そのモジュールをアップデートします。 状況によっては、インクリメンタルリンカーはインクリメンタルリンクを実行できません。このような状態に なると、インクリメンタルリンカーは自動的に初期インクリメンタルリンクを実行し、インクリメンタルリン クが可能な状態にします。以下の状況で、リンカーは自動的に出力ファイルの初期インクリメンタルリンクを 実行します。 • リンカーのコマンド行が変更された場合。つまり、リンカーのコマンド行が出力ファイルに格納されている コマンド行と異なる場合 (冗長オプションとトレースオプションを除く)。 • • いずれかのパディングスペースを使い尽くした場合。 モジュールが、 ld -s オプションまたは ld -x オプションで、またはツール (strip(1) など) で変更された場 合。 • インクリメンタルリンカーのバージョンに互換性がない場合。つまり、古いバージョンのリンカーで作成さ れた実行可能ファイルに対して新しいバージョンのインクリメンタルリンカーを実行した場合。 • 作業ディレクトリが新しい場合。現在のディレクトリを変更すると、インクリメンタルリンカーは初期イン クリメンタルリンクを実行します。 • アーカイブまたは共有ライブラリがリンカーコマンド行に追加されたり、リンカーコマンド行から削除され た場合。 • オブジェクトファイルがリンカーコマンド行から削除された場合。 詳細については、 +help オプションを使うか、 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照 してください。 アーカイブライブラリの処理 未解決のシンボルがある場合、インクリメンタルリンカーはアーカイブライブラリを検索します。リンカーは 未解決のシンボルに対応するすべてのアーカイブメンバーを抽出し、それらのメンバーを新しいオブジェクト ファイルとして処理します。アーカイブライブラリが変更された場合、リンカーは修正後のアーカイブライブ ラリに置き換えます。 以前のリンクでアーカイブライブラリから抽出されたオブジェクトファイルは、そのオブジェクトファイル内 で定義されているシンボルへの参照がすべて削除されても、出力ロードモジュールに残ります。リンカーは、 Section 1-692 Hewlett-Packard Company − 25 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) 次回の初期インクリメンタルリンクの実行時にこれらのオブジェクトファイルを削除します。 共有ライブラリの処理 初期インクリメンタルリンクでは、リンカーは共有ライブラリのシンボルテーブルを走査し、未解決のシンボ ルを通常のリンクと同様に解決します。インクリメンタルリンクでは、リンカーは共有ライブラリおよびその シンボルテーブルを処理せず、共有ライブラリの未解決シンボルは報告しません。この未解決シンボルは、ダ イナミックローダーが検出します。コマンド行上の共有ライブラリに変更されたものがあれば、リンカーは、 初期インクリメンタルリンクを実行し直します。 性能 オブジェクトファイルの大半を変更した場合は、インクリメンタルリンカーによる性能の向上は期待できませ ん。 小規模なプログラムでは、インクリメンタルリンカーでリンクの速度が改善されないことがあり、大規模なプ ログラムに比べ実行可能ファイルのサイズが増加する割合が大きくなります。 最終の製品モジュールを作成する場合は、インクリメンタルリンカーを使用しないでください。インクリメン タルリンカーはパディングスペースを余分に予約するため、インクリメンタルリンカーで作成したモジュール は通常のリンカーで作成したモジュールよりもかなり大きくなります。 セキュリティに関する制限 きめ細かい特権をサポートするシステムでは、プロセスがバイナリの拡張属性から何らかの特権を得た場合、 動的パス検索が無効になります。同じように、コンパートメントをサポートするシステムでは、バイナリの拡 張属性が設定されているためにプロセスがコンパートメントを変更した場合、動的パス検索が無効になりま す。バイナリに拡張属性を設定する方法については、 setflexsec(1M) を参照してください。特権とコンパートメ ントについての詳細は、 privileges(5) と compartments(5) を参照してください。 セキュアプログラムのリンク セキュアプログラムとは、通常 root などの特権を持つユーザーによって実行されるプログラム、または、 setuid または setgid 保護により引き上げられた特権で実行されるプログラムです。共有ライブラリを使用する セキュアプログラムをリンクする際は、特に注意が必要です。リンカーのデフォルトの動作は、セキュア PARISC 32 ビットアプリケーションには十分であっても、 PA-RISC 64 ビットアプリケーションや Integrity システ ムアプリケーションには十分でないことがあります。 セキュアプログラムでは、 +noenvvar オプションを用いてリンクして、共有ライブラリの依存対象を探すため に SHLIB_PATH や LD_LIBRARY_PATH を使用しないようにする必要があります。また、セキュアプログラ ムでは +nodefaultrpath を用いてリンクして、 -L オプションで指定した検索ディレクトリに基づいて埋め込み 検索パスを自動的に構築しないようにする必要があります。リンク時に検索されるディレクトリのほとんど は、実行時に検索する必要はありません。また、これらのディレクトリが相対パスとして指定されている場 合、プログラムは SHLIB_PATH や LD_LIBRARY_PATH を用いた場合と同じセキュリティ上のリスクにさら されることになります。 +compat で構築したプログラムは、 +noenvvar および +nodefaultrpath が指定された場合と同じようにリンク HP-UX 11i Version 3: February 2007 − 26 − Hewlett-Packard Company Section 1-693 ld_ia(1) ld_ia(1) されます。ただし、加えて PA-RISC 32 ビットの互換性機能も、 +compat によって有効になります。 SHLIB_PATH または LD_LIBRARY_PATH で指定したディレクトリにのみ存在するライブラリに依存する通 常のプログラムは、 +noenvvar ではリンクしないでください。 +compat を使用する場合は、 +s も使用して、 SHLIB_PATH お よ び LD_LIBRARY_PATH の 検 索 を 有 効 に す る 必 要 が あ り ま す。 SHLIB_PATH や LD_LIBRARY_PATH に依存するプログラムは、 setuid または setgid プログラムとして保護することはできま せん。 dld は、次の条件が満たされる場合に限り、(SHLIB_PATH および LD_LIBRARY_PATH による) 動的パス検索 を使用します。 getuid() == geteuid() && getgid() == getegid() すなわち、 uid または gid が実効 uid または実効 gid と一致しない場合、 dld は SHLIB_PATH および LD_LIBRARY_PATH で指定したディレクトリをチェックしません。これにより、実行時エラー "library not found" が発生します。 多言語化対応 環境変数 引き数は、コマンド行のほかに、 LDOPTS 環境変数を使ってリンカーに渡すことができま LDOPTS す。リンカーは LDOPTS の値を取得し、その内容をコマンド行の引き数の前に置きます。 ライブラリファイルを検索するデフォルトディレクトリを指定します。 -l オプションを参照 LPATH してください。 LD_LIBRARY_PATH と SHLIB_PATH 実行時にライブラリファイルを検索するディレクトリを指定します。詳細については -s オプ ションと、 +help オプションで 『HP-UX リンカー & ライブラリー オンライン ユーザーズガ イド』を参照してください。 以下の多言語化対応変数は、 ld の処理内容に影響します。 LC_ALL および他の LC_* 環境変数が指定されていない場合に、母国語のロケールカテゴ LANG リ、ローカルカスタム、およびコード文字セットを定義します。 LANG が指定されていない 場合、または空文字列が指定されている場合、デフォルトの C (lang(5) を参照) が LANG の 代わりに使用されます。 すべてのロケールカテゴリの値を定義し、 LANG および他の LC_* 環境変数よりも優先的に LC_ALL 使用されます。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージのフォーマットと内容を変更するために使用する ロケールを定義します。 LC_NUMERIC 数値フォーマティングのためのロケールカテゴリを定義します。 LC_CTYPE 文字操作関数のロケールカテゴリを定義します。 Section 1-694 Hewlett-Packard Company − 27 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) LC_MESSAGES の処理を行うために、メッセージカタログの位置を定義します。 NLSPATH 多言語化対応変数のいずれかの設定が不適当な場合には、 ld はすべての多言語化対応変数が C に設定されて いるものとして動作します。 environ(5) を参照してください。 さらに、以下の環境変数は ld の処理内容に影響します。 一時ファイル (tmpnam(3S) を参照) 用のディレクトリを指定します。 TMPDIR BROWSER +help オプションを使ったときに 『HP-UX リンカー & ライブラリー オンライン ユーザーズ ガイド』を表示するブラウザのパス名を指定します。 戻り値 ld は、以下の値を返します。 0 正常終了しました。リンクは正常です。 n!=0 失敗。エラーが発生しました。 例 後で ld で処理するための、Cプログラムのリンク部分 (出力オブジェクトファイルの .o サフィックスに注意し てください。これは、リンク可能なオブジェクトファイルを示すための HP-UX のきまりです)。 ld -r file1.o file2.o -o prog.o 標準モードで、共有バインドプログラムをリンクします。 crt0.o は、共有リンクでは不要なので、指定しない ことに注意してください。 ld himom.o -lc シンボリックデバッガで使う簡単な Fortran プログラムをリンクします (wdb(1) を参照)。 -o オプションがコマ ンド行に指定されていないため、出力ファイルの名前は a.out になります。 ld ftn.o -lcl -lisamstub \ -lc /opt/langtools/lib/pa20_64/end.o 次のコマンドでは、共有ライブラリを作成します。 ld -b -o libfunc.so func1.o func2.o func3.o 次のコマンドでは、内部名称が付けられた共有ライブラリが作成されます。この共有ライブラリでは、ダイナ ミックライブラリ検索が可能です。 ld -b -o libfoo1.so.1 foo1.o foo2.o +h libfoo1.so.1 ln -s libfoo1.so.1 libfoo1.so cc -g mytest.c -L . -lfoo1 chatr a.out ... shared library list: libfoo1.so.1 HP-UX 11i Version 3: February 2007 − 28 − Hewlett-Packard Company Section 1-695 ld_ia(1) ld_ia(1) +h を使用しない場合、共有ライブラリは内部名を持ちません。リンカーは、 .so がシンボリックリンクである かどうかはチェックしません。内部名がない場合は、リンカーは自分が参照しているライブラリ名を記録しま す。 chatr a.out ... shared library list: libfoo1.so 共有ライブラリリスト内の共有ライブラリ名の前に、 $ORIGIN を追加します。 ld -dynamic main.o -L /usr/lib/hpux32/ +origin -lc ld -dynamic main.o +origin /usr/lib/hpux32/libc.so chatr a.out ... shared library list: $ORIGIN/libc.so 警告 ld は、いくつかの名前を特殊な意味があるものとして認識します。 _end シンボルは、プログラムのアドレス 空間の終端を超える最初のアドレスを参照するために予約されています。また _edata シンボルは、初期化デー タを超える最初のアドレスを参照し、 _etext シンボルはプログラムテキストを超える最初のアドレスを参照し ます。シンボル end、 edata、 etext もリンカーによって定義されますが、プログラム内でこれらのシンボルを 参照していて、定義していない場合に限ります (詳細については、 end(3C) を参照)。 リンカーは、上記で示したシンボルのいずれかをユーザーが定義していると、エラーとして処理します。 リンカーでは、オプションを使うことで多大な柔軟性が得られます。ただし、リンカーを直接呼び出すユー ザーは、結果に責任を持たなければなりません。 リンカーがアーカイブライブラリからファイルをピックアップし最終的にプログラムに組み込むときに、ライ ブラリ内にあったのと同じ相対順序でプログラムに入れるという保証はありません。 リンカーは互換性の問題を検出したときに警告を発します。このような問題は、時とともに機能が変化するた めに発生するだけでなく、アーキテクチャ上の問題があります。次のような問題があります。 • リンカーによる未解決シンボルのチェック。これにより、アーカイブライブラリからのオブジェク トファイルのコピーがスキップされることがあります。この警告は、 -v オプションも指定した場 合にのみ出力されます。 「オプション」の項で説明したように、このリリースのリンカーではサポートされなくなったオプションがあ ります。 リンカーは以下のオプションを受け付け、警告メッセージを出力します。 Section 1-696 Hewlett-Packard Company − 29 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) • -A name • -C n • -Fw • -S • +cg pathname • +Oreusedir=dir • +OselectiveO3 • +Oselectivesize size 以下のオプションは、互換性のためにサポートされています。これらのオプションは受け付けられますが、無 視されます。 • -n • -q • -Fz • -N • -Q • -T • -V • +cdp oldpath:newpath • +gstbuckets size • +nosmartbind • +pdzero • +plabel_cache flag • +tools • +vallcompatwarnings • +v[no]compatwarnings • +O[no]fastaccess • +Ostaticprediction 著者 ld は AT&T、カリフォルニア大学バークレイ校、HP で開発されました。 ファイル /usr/lib/hpux32/lib* 32 ビットのシステムアーカイブおよび共有ライブラリ /usr/lib/hpux64/lib* 64 ビットのシステムアーカイブおよび共有ライブラリ a.out 出力ファイル /usr/lib/hpux32/dld.so 32 ビットのダイナミックローダー /usr/lib/hpux64/dld.so 64 ビットのダイナミックローダー HP-UX 11i Version 3: February 2007 − 30 − Hewlett-Packard Company Section 1-697 ld_ia(1) ld_ia(1) /usr/ccs/lib/hpux32/crt0.o 32 ビットの実行時起動ファイル /usr/ccs/lib/hpux64/crt0.o 64 ビットの実行時起動ファイル /usr/lib/hpux32/milli.a ld が自動的に検索する、32 ビットのミリコードライブラリ /usr/lib/hpux64/milli.a ld が自動的に検索する、64 ビットのミリコードライブラリ /usr/lib/hpux64/millikern.a 埋め込みシステムで ld が自動的に検索する、64 ビットのミリコード ライブラリ /usr/lib/nls/msg/$LANG/ld.cat メッセージカタログ /var/tmp/ld* 一時ファイル flow.data 計測機能付きの実行可能ファイルを実行した結果生成されるプロファ イルデータが格納されるファイル 計測機能付きの実行可能ファイルにより作成されたプロファイルデー /usr/ccs/bin/fdp タベース ファイルからプロシージャリンク順序を生成するためのプ ログラム。 -P オプションにより fork されます。 実行可能プログラムまたは共有ライブラリに計測機能を静的に組み込 /opt/langtools/bin/sin むプログラム -I オプションを使うと起動されます。 参照 プロファイリングおよびデバッグ用ツール adb(1) アブソリュートデバッガ gprof (1) コールグラフ プロファイルデータを表示 prof (1) プロファイルデータを表示 wdb(1) C、C++、FORTRAN のシンボリックデバッガ システムツール aCC(1) HP-UX aC++ コンパイラを実行 ar(1) アーカイブライブラリの作成 cc(1) HP-UX C コンパイラを実行 chatr(1) プログラムの内部属性を変更 elfdump(1) オブジェクトファイルに含まれている情報のダンプ exec(2) ファイルの実行 f90(1) HP-UX FORTRAN 90 コンパイラを実行 fastbind(1) fastbind ツールを実行 lorder(1) オブジェクトライブラリの順序関係を取得 nm(1) オブジェクトファイルの名称リストをプリント size(1) オブジェクトファイルのセクションサイズを出力 strip(1) オブジェクトファイルから、シンボルおよび行番号情報を削除 Section 1-698 Hewlett-Packard Company − 31 − HP-UX 11i Version 3: February 2007 ld_ia(1) ld_ia(1) その他 a.out(4) アセンブラ、コンパイラ、およびリンカーの出力 ar(4) アーカイブ形式 setflexsec(1M) crt0(3) 起動ルーチンを実行 compartments(5) privileges(5) dld.so(5) ダイナミックローダー end(3C) プログラムの最後の位置のシンボル テキストとチュートリアル 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプションを使用) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 標準準拠 ld: SVID2、SVID3、XPG2、XPG4 HP-UX 11i Version 3: February 2007 − 32 − Hewlett-Packard Company Section 1-699 ld_pa(1) ld_pa(1) 名称 ld_pa: ld − リンクエディター 構文 共通オプション ld [-bdmnqrstvxzEGIOPQTVZ] [-a search] [-c filename] [-dynamic] [-e epsym] [-h symbol]... [-lx file]... [-l: library] [-noshared] [-o outfile] [-u symbol]... [-y symbol]... [-B bind] [-D offset] [-Fl lib] [-L dir]... [-R offset] [-Pd] [-PD file] [-PF file] [+afs func_sym_x=func_sym_y]... [+allowdups] [+b path_list] [+compat] [+copyobjdebug] [+df file] [+e symbol] [+ee symbol] [+fb] [+fbu] [+filter shared_library_path] [+fini function] [+gst] [+gstsize size] [+h internal_name] [+help] [+init function] [+[no]inputmmap] [+interp file] [+k] [+n] [+[no]mergeseg] [+[no]mmap] [+nocopyobjdebug] [+noobjdebug] [+objdebugonly] [+origin shared_library_path] [+pd size] [+pgm name] [+pi size] [+profilebucketsize size] [+s] [+std] [+tools] [+v[no]shlibunsats] [+vallcompatwarnings] [+v[no]compatwarnings] [+FP flag] [+I symbol] [+O[no]fastaccess] [+O[no]procelim] [+Oreusedir=dir] [+Oselectivepercent n] [+Oselectivesize size] [+OselectiveO3] [+Ostaticprediction] PA-RISC 32-Bit (SOM) Options ld [-NS] [-A name] [-C n] [-Fw] [-Fz] [+cdp oldpath:newpath] [+cg pathname] [+dpv] [+ea filename] [+gstbuckets size] [+nosmartbind] [+plabel_cache flag] PA-RISC 64-Bit (ELF) Options ld [-w] [-k filename] [-symbolic symbol]... [+alloc_hidden_symbols] [+allowrorelocs] [+[no]allowunsats] [+[no]defaultrpath] [+[no]forceload] [+hideallsymbols] [+ild] [+ildnowarn] [+ildpad percentage] [+ildrelink] [+interposer] [+[no]lazyload] [+linkersyms] [+nobss] [+nodefaultmap] [+noenvvar] [+nodynhash] [+noprocelim_sym symbol]... [+nosectionmerge] [+nosymb symbol]... [+paddata pagesize] [+padtext pagesize] [+pdzero] [+stripunwind] [+vtype type] 備考 このマンページは PA-RISCシステム用 ld の説明をします。 Integrityシステム用 ld は ld_ia(1). を参照してくだ さい。 説明 ld は、入力として単一または複数のオブジェクトファイル、またはライブラリをとり、それらを結合して単一 の (通常実行可能な) ファイルを生成します。これを行う際に、外部シンボルへの参照の解決、最後のアドレス のプロシージャや変数への割り当て、新しいアドレスを反映するためのコードおよびデータの修正 ( 「再配 置」というプロセス)、およびシンボリックデバッグ情報がファイルに存在するときには、そのアップデートを 行います。デフォルトでは、 ld は HP-UX ローダー exec() (exec(2) を参照) によって実行できる実行可能ファイ Section 1-700 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) ルを生成します。また、このリンカーは、 ld によるこれ以降の処理に適した再配置可能なファイルを生成でき ます (以下の -r を参照)。また、共有ライブラリも生成できます (以下の -b を参照)。シンボルが重複している 場合、または未解決の外部参照が残る場合には、リンカーは出力ファイルを実行不能としてマークします。 ld は、動作中に他の何らかのエラーが発生した場合、出力ファイルを生成することもしないこともあります (+k オプションを参照)。 ld は3種類の入力ファイル、つまりコンパイラ、アセンブラ、またはリンカーによって作成されるオブジェク トファイル (.o ファイル)、リンカーによって作成される 共有ライブラリ、およびオブジェクトファイルのアー カイブ (アーカイブライブラリという) を認識します。 アーカイブライブラリには、その構成要素オブジェクトファイルから外部的に可視のシンボルすべてのテーブ ルがあります。 (アーカイブコマンド ar(1) は、このインデックスを作成、保守します。) ld は、このテーブル を使用して外部シンボルへの参照を解決します。 ld は、コマンド行に表示されるのと同じ順序でファイルを処理します。オブジェクトモジュールが、ユーザー のプログラムまたは共有ライブラリ、または依存する共有ライブラリの中で現在未解決の参照に定義を与える 場合に限り、これには、アーカイブライブラリ要素からのコードやデータが含まれます。コマンド行では、す べての単純なオブジェクトファイルの名前の後にライブラリをリストするのが一般的です。 共有ライブラリからのコードおよびデータは、実行可能プログラムには決してコピーされません。プログラム が共有ライブラリを使用すると、 32 ビットリンクのダイナミックローダー /usr/lib/dld.sl は、起動ファイル crt0.o によって起動時に呼び出されます。 crt0.o のコピーが、 /usr/ccs/lib/crt0.o または /opt/langtools/lib/crt0.o ディレクトリに存在します。 64 ビットモード用のダイナミックローダーは、 /usr/lib/pa20_64/dld.sl です。共 有ライブラリを使用するプログラムを exec を実行して呼び出します。 crt0.o は、共有のバインドされたリンク では必要ありません。ダイナミックローダーは、必要な各ライブラリをプロセスにアタッチし、プログラムと そのライブラリの間のシンボリック参照をすべて解決します。 注記: セキュアプログラムと共有ライブラリのリンクについての詳細は、後述する 「セキュリティに関する制 限」の項を参照してください。 共有ライブラリのテキストセグメントは、ライブラリを使用するすべてのプロセスの間で共有されます。ライ ブラリを使用する各プロセスは、それらのプロセス専用のデータセグメントのコピーを受け取ります。ライブ ラリをロードする実行可能プログラム上で pxdb -s on が実行されている場合、共有ライブラリのテキストセグ メントは、実行可能プログラムを実行している各プロセスに対してプライベートにマッピングされます。 ld は、ld で作成されたプログラムが使用する共有ライブラリの依存関係を再帰的に調べます。ld を実行したとき に、共有ライブラリの依存関係リストに記録されているパスに存在する、サポートされている共有ライブラリ が見つからない場合、および共有ライブラリが作成されたときに −l 引き数が使用された結果存在する依存関係 が見つかった場合には、ld は、あらゆるディレクトリを探して、−l (−L および LPATH を参照) で指定したラ イブラリを見つけます。 環境変数 引き数は、 LDOPTS 環境変数を通じて、およびコマンド行でリンカーに渡すことができます。リンカーは、 LDOPTS の値を取得して、その内容をコマンド行の引き数の前に入れます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-701 ld_pa(1) ld_pa(1) LD_PXDB 環境変数は、デバッグプリプロセッサ pxdb に対して完全な実行パスを定義します。デフォルト値 は /opt/langtools/bin/pxdb です。そのファイルが実行可能であり、デバッグ情報を含んでいる場合、 ld は pxdb をその出力ファイルに呼び出します。最初のデバッグセッションまで pxdb の呼び出しを延期するには、 LD_PXDB を /bin/true に設定してください。 LPATH 環境変数を使用すると、ライブラリファイルを検索するデフォルトディレクトリを指定できます。 -l オプションを参照してください。 共通のオプション 最初に ld の共通オプションを説明します。次に 32 ビットリンカーでのみサポートされているオプションを説 明します。最後に 64 ビットリンカーでのみサポートされているオプションを説明します。 -a search -l オプションを使って共有ライブラリを検索するか、またはアーカイブライブラリを 検索するかを指定します。 search の値は、 archive 、 shared 、 archive_shared 、 shared_archive、または default のどれかでなければなりません。このオプションは、 ライブラリごとの検索を制御するために、 -l オプションに対して2回以上使えます。 デフォルトは、ライブラリの共有バージョンが利用できれば使用し、利用できなけれ ばアーカイブバージョンを使用することです。 archive または shared のどちらかがアクティブならば、指定したライブラリタイプだ けが受け付けられます。 archive_shared がアクティブな場合、アーカイブ形式が優先しますが、共有形式も認 められます。 shared_archive がアクティブな場合、共有形式が優先しますが、アーカイブ形式も認 められます。 通常の実行可能ファイルではなく共有ライブラリを作成します。このオプションで処 -b 理されたオブジェクトファイルには、 position-independent code (PIC) を入れなければ なりません。 cc(1), CC(1) (オプションの C++ コンパイラ ドキュメンテーションの一 部 ), f77(1), pc(1), as(1), および 『 HP-UX リンカー & ライブラリー オンライン ユー ザーズガイド』で PIC の説明を参照してください。 -c filename ファイルから ld オプションを読み込みます。各行には、空白で区切った引き数が0個 以上あります。ファイル内の各行は、最後の行も含めて、改行文字で終わっていなけ ればなりません。 # 文字は、そこから行末までコメントであることを示します。 # 文 字をエスケープさせるには、シーケンス ## を使用します。 強制的に「共通」記憶領域の定義を行います。つまり、 -r 出力に対してアドレスとサ -d イズを割り当てます。またこのオプションは、 -r 出力からCOMDAT 情報を削除しま す。 -dynamic 共有ライブラリを使用するプログラムをリンカーが作成できるようにします。 +compat を使用しない場合、64 ビットのリンクではこれがデフォルトです。 32 ビット Section 1-702 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) モードでは、リンク行に共有ライブラリがなければ、リンカーは静的な実行可能ファ イルを作成します。 -e epsym 出力ファイルのデフォルトのエントリーポイント アドレスを、シンボル epsym のエン トリーポイント アドレスに設定します (このオプションは実行可能ファイルだけに適 用されます)。 -h symbol シンボルテーブルを出力ファイルに書き出す前に、この名前を「ローカル」として マークして、外部的に見えなくなるようにします。これにより、 ld による将来の処 理時に、特にこのエントリーが別のファイルの定義と衝突しないようになります。 複数の symbol を指定できますが、シンボルの前に -h を付けなければなりません。共 有ライブラリまたはプログラムの構築時に使用すると、このオプションは、指定した シンボルがダイナミックローダーから見えないようになります。 -lx ライブラリ libx.a または libx.sl を検索します。ただし、 x は単一または複数の文字で す。 -a オプションの現在の状態は、ライブラリのアーカイブ (.a) と共有 (.sl) バー ジョンのどちらかが検索されるかを判定します。名前が現れた時点でライブラリが検 索されるため、 -l の位置は意味があります。デフォルトでは、32 ビットライブラリ は /usr/lib および /usr/ccs/lib にあります。 64 ビットライブラリは /usr/lib/pa20_64 に あります。環境変数 LPATH がユーザーの環境に存在する場合、検索するディレクト リのコロンで区切ったリストを LPATH に入れなければなりません。これらのディレ クトリは、デフォルトディレクトリの代わりに検索されますが、その場合でも -L オ プションは有効です。プログラムが共有ライブラリを使用すると、32 ビット用ダイナ ミッ ク ロー ダー /usr/lib/dld.sl ま た は 64 ビッ ト 用 ダ イ ナ ミッ ク ロー ダー /usr/lib/pa20_64/dld.sl は、リンク時に各ライブラリと同じディレクトリから各ライブ ラリをロードしようとします (+s および +b オプションを参照)。 -l: library 指定したライブラリを検索します。-l オプションと類似していますが、-a オプション の現在の状態が重要でない点が異なります。ライブラリ名には、有効なファイル名で あれば任意に指定できます ( 注、前のリリースでは、プレフィックス lib を入れ、.a または .sl のサフィックスで終わらなければなりませんでした)。 -m -n このオプションは標準出力上にロードマップを生成します。 このオプションは 64 ビット ld では無効ですが、それ以外には有効です。ファイルタ イプ SHARE_MAGIC の実行可能出力ファイルを生成します (デフォルト)。このオプ ションには、 -N および -q との互換性はありません。 -noshared リンカーに、完全アーカイブ結合のプログラムを強制的に作成させます。 -o outfile -o outfile (outfile を指定しなければ a.out) という名前の出力オブジェクトファイルを生 成します。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-703 ld_pa(1) ld_pa(1) このオプションは 64 ビットリンクでは無効です。ファイルタイプ DEMAND_MAGIC -q の実行可能出力ファイルを生成します。このオプションには、 −n、 −N、および −Q との互換性はありません。 次の再リンクのために、出力ファイルに再配置情報を保持します。 ld コマンドは未 −r 定義シンボルをレポートしません。このオプションは、共有ライブラリの作成時 (-b) または -A または +ild インクリメンタルリンクオプションと一緒には使用できませ ん。 出力ファイルからすべてのシンボルテーブル、再配置、およびデバッグサポート情報 -s を削除します。これにより、生成されるプログラム上でシンボリックデバッガやプロ ファイラの機能が一部、またはすべて使用できなくなることがあります。このオプ ションには、 -r との互換性はありません (strip(1) コマンドもこの情報を削除しま す)。このオプションは、 +ild と同時に指定することはできません。 (インクリメンタ ルリンクは、 -s オプションで削除される出力ロードモジュールの一部を必要としま す。) -t ld が各入力ファイルを処理するたびに、トレースを (標準出力に) プリントします。 -u symbol シンボルテーブルの未定義シンボルとして symbol を入力します。未解決の参照が生 成されますが、これは、ライブラリのオブジェクトファイルだけからのプログラムを リンクする場合に便利です。複数の symbol を指定できますが、各シンボルの前に -u を付けなければなりません。 リンク時に詳細なメッセージを表示します。 32 ビットシステムでは、ロードされる -v モジュールごとに、リンカーは、どのシンボルによってそのモジュールがロードされ たかを表示します。 64 ビットシステムでは、リンカーは、アーカイブライブラリか らロードされるモジュールに対してのみ、この情報を表示します。 出力ファイルからローカルシンボルを削除します。これはオブジェクトファイルユー -x ティリティの機能を損なわずに出力ファイルのサイズを縮小します。このオプション は、-r オプションとの互換性はありません。このオプションは、 +ild オプションと 同時に指定することはできません。インクリメンタルリンクは、 -x オプションで削 除される出力ロードモジュールの一部を必要とします。 注記: -x の使用はデバッガやプロファイラの使用に影響を与えることがあります。 -y symbol symbol が現れる各ファイルを示します。symbol は複数指定できますが、各シンボル の前に -y を付けなければなりません。 null ポインターの実行時参照が SIGSEGV シグナルを生成するようにします (これは -z -Z オプションの補足です)。 -B bind 共有ライブラリを使っているプログラムの実行時バインディング動作を選択したり、 共有ライブラリの生成に必要なバインディング方法を選択します。 bind の最も一般 Section 1-704 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) 的な値は、以下のとおりです。 direct シンボルの解決中に解決された共有ライブラリ名を記録することに より、シンボル参照と共有ライブラリの間に直接リンクを作成しま す。この情報は、実行時に、ロードされているすべてのライブラリ を検索することなく迅速にシンボルを解決する目的で使用されま す。 -B direct では、シンボリックバインディングは無条件にオンになり (-B symbolic を参照してください)、依存共有ライブラリの処理は無 効になります。 実行時に直接バインディングを無効にするには、 LD_NODIRECTBIND 環境変数を設定します。 deferred プログラム起動時ではなく最初の参照でアドレスをバインドします ( デフォルト)。 group 共有ライブラリをマークして、 dlopen() に RTLD_GROUP フラグを 指定してロードしたかのように動作させます。これは、依存共有ラ イブラリには影響しません。 注記 : -B group バインディングモードは、現在は 64 ビットアプリ ケーションでのみサポートされています。 immediate ライブラリのロード時に、すべてのシンボルのアドレスを即座にバ インドします。通常、この後に -B nonfatal を指定すると、プログラ ム起動時に解決できないプロシージャ呼び出しを、最初の参照で解 決できます。 -B nonfatal は、解決できないシンボルに関するメッセージを表示し ないので、それらのメッセージを表示するには -B verbose を指定し ます。 以下の例を参照してください。 lazydirect 遅延ローディングとしてマークされている共有ライブラリへの直接 バインド情報のみを記録します。 +[no]lazyload を参照してくださ い。 nodelete 共有ライブラリをマークして、プロセスから共有ライブラリを切り 離さずに dlclose() または shl_load() を使用した明示的なアンロード が警告なしに正常終了を返すようにします。その後、共有ライブラ リ ハ ン ド ル は shl_findsym() に 対 し て の み 有 効 に な り ま す。 dlsym() 、 dlclose() 、 お よ び shl_unload() は、 shl_load() ま た は dlopen() を使用して次に明示的にロードするまで無効なままです。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-705 ld_pa(1) ld_pa(1) nodirect 直接バインディングを禁止します。遅延ローディングがマークされ たライブラリに対する参照については、1つの「直接ヒント」のみ が記録されます。これはデフォルトの動作です。 nonfatal -B immediate も指定した場合、プログラムの起動時にバインドでき なかったコードシンボルは、それらが参照されるまでバインドしな いでください。上記の -B immediate の説明を参照してください。 -B nonfatal は、解決できないシンボルに関するメッセージを表示し ないので、それらのメッセージを表示するには -B verbose を指定し ます。 restricted シンボル定義の検索が、ライブラリがロードされたときの可視シン ボルのみに対して行われるようにします。 symbolic 共有ライブラリを生成するときのみに (-b オプションを指定) 使用さ れます。このオプションは、可能な場合は、ライブラリ内のすべて の未解決のシンボルが内部で解決されるようにします。デフォルト では、未解決のシンボルはライブラリの中かライブラリの外の最も 近接した定義で解決されます。 注記: Integrity システムで aC++ 共有ライブラリを構築する際には、 このオプションを使用しないでください。 aC++ オプション -B protected_def を使用してください。 verbose -B nonfatal を指定した場合以外には、デフォルトで、シンボルをバ インドするときに冗長メッセージを表示します。 -B nonfatal を指定 した場合、メッセージを表示するには、 -B verbose を明示的に指定 しなければなりません。 バインディングモードの使用法についての詳細は、 +help オプションまたは 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 -D offset データセグメントの原点 (16 進数) を設定します。 +ild オプションと共に使用した場合、初期インクリメンタルリンク後にオフセットを 変更すると、リンカーは自動的に初期インクリメンタルリンクを実行します。 -E 共有ライブラリにエクスポートするためにプログラムで定義したシンボルをすべて マークします。 32 ビットリンクまたは +compat モードの 64 ビットリンクでは、 ld は、リンクの対象共有ライブラリから実際に参照されているシンボルだけをマークし ます。 64 ビットの +std リンクでは、すべてのシンボルがデフォルトでエクスポート されるので、シンボルが見えるように -E を指定する必要はありません。一方、この オプションを指定すると、エクスポートされるシンボルは副作用ですべて必要と見な されるため、デッドコードの削除を指定 (+Oprocelim) しても削除されません。 Section 1-706 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) -Fl lib アーカイブライブラリ lib の全メンバーオブジェクトのロードを強制します。 -Fl を 使用しない場合、リンカーは必要なアーカイブメンバーのみを lib からロードしま す。このオプションは、アーカイブライブラリから共有ライブラリを作成する場合 ( メンバーオブジェクトが位置に依存しないコードの場合)、または、共有ライブラリ に必要なシンボルを定義するアーカイブメンバーをロードする必要がある場合に便利 です。 コマンド行で、オプションとライブラリのペアを複数使用して、ライブラリを複数指 定することができます。この場合、指定する各ライブラリの前に、 -Fl オプションを 付加しなければなりません。 -G 出力ファイルからロード不能データをすべて削除します。このオプションは通常、デ バッグ情報の削除に使用します。 -I 実行時にプロファイル情報を収集するコードを組み込みます。プログラムの実行時に 収集されるプロファイルデータは、 -P オプションと併用できます。このオプション でリンクされた 32 ビットプログラムは、起動ファイル /opt/langtools/lib/icrt0.o を使用 しなければなりません。このオプションは、 -P, -A, -O, +ild または +O オプションと ともに使用しないでください。 -L dir デフォルト位置で調べる前に、 dir で libx.a または libx.sl を検索します。複数のディ レクトリを指定できますが、各ディレクトリの前には -L を付けなければなりませ ん。 -L オプションが有効になるのは、コマンド行の -l オプションの前にある場合に 限られます。 -O リンカー最適化をオンにします。現在、最適化には、実行可能ファイル (32 ビットの み ) におけるコードからの不要な ADDIL 命令および不要な手順の除去が含まれま す。 +O4 コンパイラオプションが選択されると、-O は、コンパイラによってリンカーに 渡されます。 このオプションは、 +ild オプションと併用できません。 リンカーの最適化に関する詳細は、 +help オプションまたは 『HP-UX リンカー & ラ イブラリー ユーザーズガイド』を参照してください。 -P 組み込まれたプログラム (-I オプションを参照) によって生成されるデータファイルを 検査して、コードに対してプロファイルベースの最適化を行います。このオプション は、 -A オプションや +ild オプションとともに使用しないでください。 -Q 64 ビットリンクでは無効です。実行可能出力ファイルを生成します。ファイルタイプ は、 -N を指定すれば EXEC_MAGIC、 -n を指定すれば SHARE_MAGIC になりま す。このオプションはデフォルトで指定されます。このオプションには、 -q との互 換性はありません。 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-707 ld_pa(1) ld_pa(1) -R offset テキスト (つまりコード) セグメントの原点 (16 進数) を設定します。 +ild オプションと共に使用した場合、初期インクリメンタルリンク後にオフセットを 変更すると、リンカーは自動的に初期インクリメンタルリンクを実行します。 32 ビットモードでは、リンク時にメモリーではなく、テンポラリファイルにロード -T データおよび再配置情報をセーブします。このオプションにより、リンカーの仮想記 憶の要件は軽減します。 TMPDIR 環境変数が設定されると、テンポラリファイル は、/var/tmp ではなく、指定ディレクトリで作成されます。 64ビットモードではこのオプションは +nommap オプションと同じです。 使用している ld のバージョンに関する情報が含まれたメッセージを出力します。 -V null ポインターの実行時参照を可能にします。 cc(1) で -Z および pointers の説明を参 -Z 照してください (これは -z オプションの補足です)。 デバッグ可能な関数を並べ換えます。通常、 -P は、 .o ファイルの関数をデバッグ情 -Pd 報とともに並べ換えることはありません。並べ換えるとデバッグできなくなるためで す。このオプションはそれよりも優先され、関数を並べ換えます。デフォルトでは、 並べ換えは、 flow.data から作成されたリンクオーダーファイルを基に実行されま す。 -PF オプションを指定すると、リンカーは flow.data の代わりに、指定したリン クオーダーファイルを使用して並べ換えます。このオプションは、 +ild オプションと 同時に使うことはできません。 -PD filename -P オプションを用いてリンクした際に fdp が生成したリンクオーダー ファイルを ユーザー指定ファイルに保存します。このオプションは、 +ild オプションと一緒に使 用することはできません。 -PF filename リンカーに対して、 /usr/ccs/bin/fdp を用いてファイルを生成せず、指定されたファイ ルをリンカーファイルとして用いるよう指示します。このオプションには、 +ild オプ ションと一緒に使用することはできません。 +afs func_sym_x=func_sym_y ... 共有ライブラリおよび実行可能ファイルのリンクで、リンカーに対して、関数シンボ ルを代替関数シンボルに置き換えるよう指示します。 +afs オプションは、関数シンボルの別名をサポートします。ユーザープログラムの関 数は、最適化されたライブラリ内の異なる名前の関数と機能が同一であることがよく あります。これらのユーザー定義関数は、通常はプログラムの中で頻繁に呼び出され ます。 +afs オプションを使用すると、リンク時にユーザー定義関数への参照をすべ て、チューニング済みのライブラリ関数への参照に置き換えることができるので、こ れらの関数は再リンクするだけで最適化され、性能を大幅に向上させることができま す。 Section 1-708 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) どちらの関数も、同じ数とタイプのパラメータを定義し、同じタイプの値を返す必要 があります。一致しない場合、結果は予測できず、リンカーは警告メッセージを生成 しません。 例: $ ld ... +afs func_sym1=func_sym2 ... この例では、リンカーは関数シンボル func_sym1 への参照をすべて、 func_sym2 への 参照に置き換えます。 func_sym2 シンボルは、別名でない通常の関数でなければなり ません。これは、他の +afs オプションの "=" 記号の左側に置くことはできません。 コマンド行で、オプションとシンボルのペアを複数使用して、関数シンボルの別名を 複数指定することができます。この場合、指定する各シンボルペアの前に、 +afs オプ ションを付加しなければなりません。 +allowdups 複数シンボル定義を許可します。デフォルトでは、再配置可能なオブジェクト間で複 数シンボル定義を行うと、致命的エラーの状態になります。このオプションでは、エ ラー状態を抑制し、最初のシンボル定義を使用することができます。 +b path_list -l または -l: オプションのいずれかで指定した、実行可能出力ファイルに必要な共有 ライブラリをプログラム実行時に検索するディレクトリ (埋め込みパス) をコロンで区 切ったリストで指定します。 引き数がコロン (:) だけであれば、 -L オプションおよび LPATH 環境変数 (+s オプ ションを参照) によって指定されるすべてのディレクトリを使って、 ld によってリス トを構築する必要があることを示します。 32 ビットのリンクでは、リンク行に複数の +b オプションがある場合、「最初に」指 定されたものが記録されます。また、2つのコロン (::) は、リンク時にライブラリが あった位置として解釈されます。 64 ビットのリンクでは、複数の +b オプションのうち「最後の」ものが出力ファイル に記録されます。2つのコロン (::) には、特別な意味はありません (NULL エント リーとして扱われます)。 +compat このオプションは、32 ビットリンクでは無視されます。このオプションは、64 ビッ トリンクを 32 ビットリンクのように動作させる互換モードをオンにします。 +copyobjdebug objdebug スペースをコピーします。 +df file -P オプションと併用すると、このオプションは、file をプロファイルデータベース ファ イ ル と し て 使 用 す る よ う に 指 定 し ま す。 デ フォ ル ト 値 は flow.data で す。 FLOW_DATA 環境変数の説明を参照してください。このオプションは、 +ild オプ ションと一緒に指定することはできません。 HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-709 ld_pa(1) ld_pa(1) +e symbol 共有ライブラリまたはプログラムを構築する際、ダイナミックローダーにエクスポー トするシンボルをマークします。明示的にマークしたシンボルだけがエクスポートさ れます。共有ライブラリを構築する際、エクスポートされないシンボルへの呼び出し が内部解決されます。 +ee symbol このオプションは、シンボルをエクスポートする点で +e オプションに似ています。 しかし、 +e オプションとは異なり、 +ee はファイル内の他のどのシンボルの可視性 も変更しません。 32 ビットリンクまたは +compat モードの 64 ビットリンクでは、 デフォルトでエクスポートされるシンボルのどれも隠さないで指定のシンボルをエク スポートすると影響がでます。 64 ビット +std リンクでは、全シンボルがデフォルト でエクスポートされるので、 +ee はシンボルを可視にする必要がありません。しか し、シンボルを必要と識別することによる別の副作用があり、そのためデッドコード 削除 (+Oprocelim) を使用しても除去されません。 +ee は当然、 +hideallsymbols のよ うなオプションが指定されたときも、エクスポートでのふるまいは同じです。 リンカーで生成された実行可能ファイル上で fastbind ツールを実行するよう、リン +fb カーに指示します。実行可能ファイルは共有ライブラリとリンクされます。詳細は、 fastbind(1)、 +help オプション、または 『HP-UX リンカー & ライブラリー ユーザー ズガイド』を参照してください。このオプションは、 +ild オプションと一緒に指定す ることはできません。 +fbu fastbind ツールに -u オプションを渡します。詳細は、 fastbind(1) 、 +help オプショ ン、または 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してくださ い。このオプションは、 +ild オプションと一緒に指定することはできません。 +filter shared_library_path 共有ライブラリのフィルター機能を有効にします。この機能を使えば、大規模なライ ブラリを1つの「フィルター」といくつかの「処理系」ライブラリに分割できるの で、共有ライブラリを効率的に構成できます。 shared_library_path には、フィルター ライブラリの場所を指定します。詳細は、 『HP-UX リンカー & ライブラリー オンラ イン ユーザーズガイド』を参照してください。 +fini function_name ターミネータ (ファイナライザ) 関数を指定します。コマンド行上では、呼び出される 順に左から右へ指定します。ターミネータ関数は、イニシャライザ関数の「深さ優先 順」とは逆の順序で呼び出されます。 このオプションは、共有ライブラリ、不完全な実行可能プログラム、または完全バイ ンド実行可能プログラムを構築する際に使用します。このオプションに指定する関数 は、引き数を取らず、何も返さない関数 (void 関数) である必要があります。ターミ ネータは、 main() が exit() を呼び出した場合にのみ呼び出されます。 main() が return() を呼び出した場合は呼び出されません。 Section 1-710 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) +fini は、 -r オプションとともに使用しないでください (リンカーは +fini オプション を無視します)。 コマンド行で、オプションとシンボルのペアを複数使用して、ターミネータ関数を複 数指定することができます。この場合、指定する各関数の前に、 +fini オプションを 付加しなければなりません。 ターミネータ関数についての詳細は、 +help オプションを使うか、または 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +gst シンボルのインポート/ エクスポートエントリーの値を検索するために使用する、グ ローバルシンボルテーブルのハッシュメカニズムを有効にします。 +gst と、これに関 連するオプションを使用すると、エクスポートされたシンボルの検索を高速化するグ ローバルシンボルテーブルが利用され、性能が向上します。詳細は dld.sl(5) と 『HPUX リンカー & ライブラリー オンライン ユーザーズガイド』を参照してください。 +gstsize size グローバルシンボルテーブルのハッシュメカニズムに使用するハッシュ配列のサイズ を指定します。デフォルト値は 1103 です。この値は、実行時に _HP_DLDOPTS 環境 変数へ値 -symtab_size prime number を設定することで変更できます。この値は、 chatr +gstsize size file を用いて設定できます。 +h internal_name 共有ライブラリを作成する際に、internal_name をライブラリ名として記録します。ラ イブラリが別の実行可能ファイル (プログラムまたは共有ライブラリ) をリンクするた めに使用される場合、入力共有ライブラリのファイルシステムパス名の代わりに、こ の internal_name が出力ファイルのライブラリリストに記録されます。 つまり、 +h を使用しない場合、共有ライブラリには内部名がないため、その共有ラ イブラリを使って実行可能ファイルを構築すると、リンカーは自分が参照しているラ イブラリ名を記録します。 internal_name が完全に修飾されたパス名の場合、次のリンク元の実行可能ファイルの ライブラリリストに そのまま記録されます。 internal_name が相対パス名の場合、ま たはディレクトリ以外の要素が指定された場合、 internal_name は、入力共有ライブ ラリのファイルシステムディレクトリ部分に 付加され 、次のリンク元の実行可能 ファイルのライブラリリストに記録されます。 +h オプションがリンク行に複数指定されている場合、最初のオプションが使用さ れ、警告メッセージが表示されます。 +help いくつかの HP コンパイラに付属のヘルプウィンドウ ユーティリティー 『HP-UX リ ンカー & ライブラリー オンライン ユーザーズガイド』を表示します (表示させるに は、X ウィンドウシステムを実行し、かつ環境変数 DISPLAY に使用しているワーク ステーション名または X 端末を設定する必要があります)。詳細は、 『HP-UX リン HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-711 ld_pa(1) ld_pa(1) カー & ライブラリー ユーザーズガイド』を参照してください。 +init function_name 呼び出すイニシャライザ関数を、逆順に指定します。コマンド行では、呼び出される 順に右から左へ指定します。イニシャライザ関数は「深さ優先順」に呼び出されま す。たとえば、共有ライブラリがロードされる際、依存ライブラリすべてのイニシャ ライザ関数が最初に呼び出されます。 このオプションは、共有ライブラリ、不完全な実行可能プログラム、または完全バイ ンド実行可能プログラムを構築する際に使用します。このオプションに指定する関数 は、引き数を取らず、何も返さない関数 (void 関数) である必要があります。ターミ ネータは、 main() が exit() を呼び出した場合にのみ呼び出されます。 main() が return() を呼び出した場合は呼び出されません。 +init は、 -r オプションとともに使用しないでください (リンカーは +init オプション を無視します)。 コマンド行で、オプションとシンボルのペアを複数使用して、イニシャライザ関数を 複数指定することができます。この場合、指定する各関数の前に、 +init オプション を付加しなければなりません。 イニシャライザ関数についての詳細は、 +help オプションを使うか、または 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +[no]inputmmap +inputmap は、リンク中に共有ライブラリの内容を読み取るために、 mmap を使用す る機能を有効にします。これはデフォルトの動作です。通常、入力共有ライブラリを mmap する方法では、ディスクから読み取ってバッファリングする方法に比べて、リ ンクが高速に行われます。 +noinputmmap は mmap 機能を無効にし、入力共有ライブラリのテキストセグメント を mmap しないようリンカーに通知します。リンカーはバッファリングされるディス ク入出力 (fread) を使用して、入力共有ライブラリのテキストセグメントの情報にア クセスします。 注記: +noinputmmap は、メモリー不足で mmap が失敗し、リンクが失敗した場合に のみ使用してください。このオプションを指定すると、ディスクの入出力でリンク時 間が大幅に長くなるためです。 +interp file dld のパスを変更して、引き数で指定したプログラムを dld.sl の代わりに「インタプ リタ」として使用するようにします。 +k リンク中にエラーがまったく発生しなかったときだけ実行可能ファイルを作成するよ う、リンカーに指示します。 (システムエラーや参照未解決) エラーが発生した場合、 出力ファイルは削除されます。 Section 1-712 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) +mergeseg 共有ライブラリのセグメントマージ機能を有効にします。 『HP-UX リンカー & ライ ブラリー ユーザーズガイド』で、共有ライブラリのセグメントマージについての説明 を参照してください。このオプションを指定すると、プログラムの起動時にロードさ れる共有ライブラリのデータセグメントがすべてマージされるようになります。カー ネルで大きなページテーブルエントリーを使うことが可能になるため、実行時の性能 が向上します。 +mmap 出力データを書き込むために、 mmap を使用する機能を有効にします。これはデフォ ルトの動作です。 mmap を有効にすると、リンカーは高速になります。 +n アーカイブライブラリや共有ライブラリを検索する前に、リンカーにオブジェクトモ ジュールをすべてロードさせます。それから、コマンド行で指定したアーカイブライ ブラリと共有ライブラリを左から右の順序で検索します。コマンド行のライブラリの 左から右への検索は、該当しないシンボルがなくなるか、新しい定義の追加がない最 後の検索になるまで繰り返されます。このオプションは、2つのライブラリに互いに 依存するシンボルが指定された場合に有効です。 +nocopyobjdebug objdebug スペースをコピーしません。このオプションをリンク行で -r オブジェクト ファイルとともに使用すると、LINKMAP スペースを実行可能ファイルにコピーする デフォルトの動作を抑制できます。 +noobjdebug +objdebug コンパイラオプションを無効にし、すべてのデバッグ情報を実行可能ファ イルにコピーします。 -g とともに使用すると、 +objdebug はリンク時に実行可能ファイルへデバッグ情報を コピーせず、オブジェクトファイル内にデバッグ情報を残します。これにより、リン ク時間が短縮され、実行可能ファイルが小さくなります。コンパイル時のデフォルト である +noobjdebug では、デバッグ情報が実行可能ファイルにコピーされます。 コンパイル時に -g を指定すると、コンパイラはシンボリックデバッグ情報をオブ ジェクトファイルに置きます。デフォルトでは、リンカーは pxdb を呼び出して、こ のデバッグ情報を圧縮し実行可能ファイルにコピーします。コンパイル時に +objdebug を使用すると、リンカーはデバッグ情報をオブジェクトファイル内に残します。 実行可能ファイルをデバッグするには、HP WDB デバッガがオブジェクトファイルへ のアクセス権を持っていなければなりません。オブジェクトファイルを移動した場合 は、HP WDB の objdir コマンドを使用して、オブジェクトファイルの位置を知らせ る必要があります。 +objdebug オプションは、デバッグ情報のコピーを行わないこと により、リンク時間を短縮し、実行可能ファイルのサイズを小さくします。 コンパイル時のデフォルトは、 +noobjdebug です。リンカーは +objdebug でコンパイ ルされたオブジェクトを検出すると、デバッグ情報をそれらのファイル内に残しま す。 +objdebug でコンパイルされていないオブジェクトファイルについては、デバッ HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-713 ld_pa(1) ld_pa(1) グ情報が実行可能ファイルにコピーされます。デバッグ情報を一部のオブジェクト ファイルでは残し、他のファイルでは残さないようにできます。 アーカイブメンバーが +objdebug ではコンパイルされておらず、デバッグ情報がある (-g でコンパイルされている) 場合、アーカイブメンバーのデバッグ情報は、デフォル トで a.out にコピーされます。 +objdebug と +noobjdebug のどちらでコンパイルされ ているかに関係なく、リンカーは共有ライブラリのデバッグ情報を a.out にはコピー しません。 +objdebug でコンパイルされたファイルからもデバッグ情報を実行可能ファイルにコ ピーするようにリンカーに明示的に指示するには、 +noobjdebug オプションをリンク 時に使用します。 +nomergeseg 共有ライブラリのセグメントマージ機能を無効にします。これはデフォルトです。 +nommap mmap 機能を無効にして、通常のバッファリング方式を用いて出力ファイルに書き込 みます。 注記: システムのメモリー容量が小さく、そのためにリンカーが失敗する場 合を除いて、 +nommap は使用しないでください。 +objdebugonly 非 objdebug のオブジェクトやアーカイブのデバッグ情報を無視して、 +objdebug モー ド で 実 行 し ま す。 こ の オ プ ショ ン は、 C ま た は C++ の コ マ ン ド 行 か ら、 -Wl,+objdebugonly として渡されます。 +objdebug オプションでコンパイルされた ファイルだけをデバッグする場合は、 +objdebugonly を使用すると、 +noobjdebug で コンパイルされたファイルのデバッグ情報の処理をリンカーが省略するため、リンク 時間を短縮することができます。 +objdebugonly オプションを使用すると、リンカー は pxdb の呼び出しを抑制します。 +origin shared_library_name -lx (-l オプションの前か、共有ライブラリの名前の前でのみ使います。) リンカーが共有 ライブラリリストの共有ライブラリ名の前に $ORIGIN を追加するようにします。実 行時、ダイナミックローダーは親モジュール (共有ライブラリ、または実行可能プロ グラム) の現在のディレクトリを調べ、 $ORIGIN をそのディレクトリ名で置き換え ます。 例: $ ld -dynamic main.o +origin libx.sl -L /usr/lib/ -lc +origin オプションが利用可能ですが、 +b オプションを使って埋め込みパス内で $ORIGIN を指定する方法をお勧めします。例を次に示します。 $ ld -dynamic main.o -L /usr/lib/ -lc +B $ORIGIN $ORIGIN についての詳細は、 +help オプションを使うか、 『HP-UX リンカー & ラ イブラリー ユーザーズガイド』を参照してください。 Section 1-714 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) +pd size データ用に使用する仮想メモリーのページサイズを指定します。サポートされている サイズは 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, D, L です。サイズを D にす ると、使用するページのサイズをカーネルが選択します。サイズを L にすると、でき るかぎり大きなページサイズが使用されます。要求したサイズが実現できない場合、 実際のページサイズは変わることがあります。 +pgm name -P オプションと併用すると、このオプションは、プロファイルデータベースファイル におけるルックアップ名として、name を使用するように指定します。デフォルトは 出力ファイルのベース名です (-o オプションによって指定されます)。 このオプションは、 +ild オプションと一緒に使用することはできません。 +pi size 命令用に使用する仮想メモリーのページサイズを指定します。詳細は +pd オプション を参照してください。 +profilebucketsize size プロファイリングカウンターのサイズを制御します。この変数に使用できる値は 16 または 32 です。 16 または 32 以外の値を指定すると、警告が出力されます。このカ ウンターのデフォルト値は 16 です。有効な値が指定されない場合は、このデフォル ト値が使用されます。リンク時の値は、 PROFILE_BUCKET_SIZE 環境変数を使用 することでオーバーライドできます。詳細は、 gprof (1) の説明を参照してください。 +s 共有ライブラリローダーが環境変数 SHLIB_PATH および LD_LIBRARY_PATH (64 ビットのみ) を使用すると、 -l または -l: オプションのいずれかで指定した実行可能 出力ファイルに必要な共有ライブラリを探し出せることを、実行時に示します。環境 変数は、ディレクトリをコロンで区切ったリストに設定する必要があります。 +s お よび +b を両方とも使用する場合、コマンド行の相対的な順序が、どのパスリストを 最初に検索するかを示します (+b オプションを参照)。 +std 32 ビットのリンクでは、このオプションは無視されます。 64 ビットモードでのデ フォルトのスタンダードモードがオンになります。このオプションでオンになるオプ ションは、 -dynamic です。このオプションが指定された場合にオフになるか、また は無視されるオプションは +compat,+noenvvar,-noshared です。 +vallcompatwarnings このオプションは 64 ビット ld では無効ですが、それ以外には有効です。互換性の問 題に関する警告についての詳細を示します。デフォルトでは、簡潔なメッセージのみ 出力されます。詳細については、後述の 「警告」の項を参照してください。 +v[no]compatwarnings このオプションは 64 ビット ld では無効ですが、それ以外には有効です。システム間 の互換性の問題に関する警告を出力可能 [不可] にします。この機能の中には、将来の リリースで変更される可能性のあるものもあります。デフォルトは +vcompatwarnings です。詳細については、後述の 「警告」の項を参照してください。 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-715 ld_pa(1) ld_pa(1) +v[no]shlibunsats 共有ライブラリが使用する未解決シンボルのリストのプリントが [disable] になってい た場合、プリントを可能にします。デフォルトは +vnoshlibunsats です。リンカーか ら報告される未解決シンボルの中には、シンボルを参照するモジュールが使用されて いないために実行時に不要なものもあります。 +FP flags プログラム起動時に浮動小数点演算の環境をどのように初期化するかを指定します。 デフォルトでは、モードは IEEE 浮動小数点標準として指定されます。すなわち、ト ラップはすべて無効、段階的なアンダーフロー、最も近い値への丸めです。 +FP オプ ションでは、以下のモードがサポートされます (大文字のフラグは有効、小文字のフ ラグは無効を表します)。 V (v) 無効な浮動小数点演算をトラップします。 Z (z) ゼロ除算をトラップします。 O (o) 浮動小数点オーバーフローをトラップします。 U (u) 浮動小数点アンダフローをトラップします。 I (i) 不正確な結果を生成する浮動小数点演算をトラップします。 D (d) 非正規化値の突発的なアンダーフロー (急にゼロになります) を使用可能に します。 RU 上方向への丸めを有効にします (+Infinity へ)。 RD 下方向への丸めを有効にします (-Infinity へ)。 RZ ゼロ方向への丸めを有効にします (切り捨て)。 RN 最も近い値への丸めを有効にします (デフォルト)。 注記 : 突発的なアンダーフローの有効化は、PA-RISC 1.0 ベースのシステ ムでは未定義の操作ですが、これは PA-RISC のこれ以降のすべてのバー ジョンで定義されています。このフラグを選択すると、実行時に使用中の プロセッサで利用できる場合に限って、突発的なアンダーフローが有効に されます。 カンマ区切りリストで複数のモードを指定できます。たとえば次のように指定しま す。 +FP D,O,V,RZ これは、突発的なアンダーフロー、オーバーフローおよび無効演算のトラップ、ゼロ 方向への丸めを指定します。 +FP とモードの間にあるカンマとスペースは省略できま す。すなわち、 +FPDOVRZ は +FP D,O,V,RZ と同じ意味になります。 Section 1-716 Hewlett-Packard Company − 17 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) 実行時にこれらの設定値を動的に変更する方法については、 fesettrapenable(3M) 、 fesetflushtozero(3M)、および fesetround(3M) を参照してください。 +I symbol 共有ライブラリを構築する際、初期設定関数の名前を指定します。共有ライブラリに は、複数の初期設定操作を指定することもできます。初期設定操作は、指定した順に 実行されます。複数の初期設定操作を指定できますが、それぞれの前に +I を付けな くてはなりません。初期設定関数についての詳細は、 +help オプションまたは 『HPUX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +O[no]fastaccess グローバルデータへの高速アクセスを可能 [ 不可] にします。リンカーは、実行可能 ファイル内の ADDIL 命令の数がさらに少なくなるように、データを配置し直しま す。 この最適化によって、データの配置に関する想定に関連した、いくつかの分かりにく いプログラミングエラーが明らかになります。また、この最適化は、最適化レベル 2、3および4で実行されます。デフォルトは、最適化レベル2および3では +Onofastaccess で、最適化レベル4では +Ofastaccess です。 デバッグ情報があるときに +Ofastaccess オプションを使用すると警告メッセージが生 成され、デバッグ情報が破損するおそれがあります。 +Ofastaccess と -g オプション は同時に使用しないでください。 このオプションは、64 ビット ld でも指定可能ですが、無視されます。 +O[no]procelim アプリケーションから参照されていないプロシージャおよびデータの削除を有効 [無 効] にします。デフォルトは +Onoprocelim です。 プロシージャおよびデータの削除は、レベル0の場合も含めて、すべての最適化レベ ルで実行されます。削除はセクション単位で行われます。セクションの削除は、その セクション内のすべてのプロシージャ/データが参照されていない場合にのみ行われま す。詳細については、 +help オプションまたは 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。このオプションは、 +ild オプションと一緒 に使用することはできません。 コンパイラは、高い最適化レベルで、リンカーに +Oprocelim を渡すことがあるので 注意してください。詳細は、コンパイラのマニュアルを参照してください。 +Oreusedir=dir オブジェクトコードの再利用機能のための再利用リポジトリとして使用するディレク トリの名前を指定します。このディレクトリには、コンパイルされたオブジェクト ファイルが再利用のために保存されます。 dir は、リンカーを起動したディレクトリ への絶対パスまたは相対パスです。 +Oreusedir オプションを用いると、 +O4 または プロファイルベースの最適化を使用した場合に、中間オブジェクトコードをオブジェ クトコードに再コンパイルしないので、リンク時間が短縮されます。 HP-UX 11i Version 3: February 2007 − 18 − Hewlett-Packard Company Section 1-717 ld_pa(1) ld_pa(1) +Oselectivepercent n インライン処理のような手続き間最適化を、オブジェクトファイルの最初の n パーセ ントに対して高水準で行うよう、手続き間最適化ドライバに指示します。 +Oselectivesize size 手続き間最適化を、オブジェクトファイルの最初の k 個のルーチンに対して高水準で 行うよう、手続き間最適化ドライバに指示します。 k には、対象ルーチンの合計サイ ズが size より小さくて一番近くなる値が選ばれます。 +OselectiveO3 +O4 のリストに含まれていないルーチンを +O3 でコンパイルするよう、手続き間最 適化ドライバに指示します。 +Ostaticprediction PA-RISC 2.0 アーキテクチャでのみ使用します。このオプションは、実行可能出力 ファイルの補助ヘッダーに分岐確定ビットを設定します。 PA-RISC 32 ビットオプション -A name このオプションは逐次的なロードを指定します。生成されたオブジェクトを、すでに 実行中のプログラムに読み込むことができるようにリンクが編成されます。引き数 name が指定するファイルのシンボルテーブルは、追加シンボルを定義するための ベースになります。新たにリンクされたマテリアルだけは a.out のテキストおよび データ部分に入力されますが、新しいシンボルテーブルは、逐次的なロードの前後に 定義したすべてのシンボルを反映します。また、 -R オプションは、 -A と同時に使用 でき、新たにリンクしたセグメントを対応するアドレスで始めることができます。デ フォルトの開始アドレスは _end の以前の値です。-A オプションには、-r および -b との互換性はありません。また、 ld -A でコードを動的にロードするプログラムは、 共有ライブラリを使用できません。このオプションの説明については、 +help オプ ションまたは 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してくだ さい。 -C n 最大のパラメータ照合レベルを n に設定します。デフォルトは最大3です。パラメー タ照合レベルの意味については、言語マニュアルを参照してください。 -Fw unwind テーブルを出力しません。コンパイラやツールが unwind テーブルを必要とす る場合は、このオプションを使用しないでください。 -Fz $$dyncall_external への呼び出しを $$dyncall に変換するリンカー機能を無効にしま す。 -N ファイルタイプ EXEC_MAGIC の実行可能出力ファイルを生成します。このオプショ ンには -n および -q との互換性はありません。このオプションにより、データはテキ ストの直後に入れられ、テキストは書き込み可能になります。このタイプのファイル は共有できません。 Section 1-718 Hewlett-Packard Company − 19 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) -S 出力ファイルに対してデフォルトの HP-UX 補助ヘッダーではなく、初期プログラム ローダー (IPL) の補助ヘッダーを生成します。 +cdp oldpath:newpath a.out の中に記録された共有ライブラリへのパスを置き換えます。 32 ビットモードで は、 ld は、リンク時に a.out ファイル内で検索された任意の共有ライブラリの絶対パ ス名を記録します。プログラムが実行を開始する時に、ダイナミックローダーは、リ ンク時に検索された共有ライブラリを結び付けます。 +b や +s リンカーオプションを 使用すると、ダイナミックローダーが共有ライブラリを検索するディレクトリを指定 することができますが、ダイナミックローダーは最後の参照として、 a.out の中に記 録されている絶対パスで共有ライブラリを検索します。複数の共有ライブラリ oldpath:newpath を指定できますが、それぞれの前に +cdp オプションを付けなければな りません。 +cg pathname pathname が、ISOM を SOM にコンパイルするためのコードを生成するために使用さ れるようにします。詳細については、 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』にあるプロファイルベースの最適化についての説明を参照してく ださい。 +dpv 不要な手順を取り除く目的で取り除かれた手順に関する冗長メッセージを表示しま す。削除した手順のシンボル名、入力オブジェクトファイル、およびサイズ (バイト 数) が表示されます。それらの手順の全体的なサイズ (バイト数) も表示されます。 +ea filename filename ファイル内のシンボルをすべてエクスポートします。 +gstbuckets size グローバルシンボルテーブルのハッシュ機構を用いて、エントリーごとに特定数のバ ケットを要求します。デフォルト値は3です。この値は、実行時に _HP_DLDOPTS 環境変数へ値 -symtab_buckets number を設定することで変更できます。 chatr +gstbuckets size file を用いて値を設定できます。 +nosmartbind 共有ライブラリをバインドする際に、SmartBind を無効にします。このオプションを 有効にすると、リンカーは .o ファイルをそれぞれのモジュール内に配置せず、リンク 内のすべてのシンボルを単一の SmartBind モジュールに配置します。 +plabel_cache plabel キャッシュ機構が有効になります。このオプションは +gst オプションとともに 使用します。 このオプションは、C++ でのみ有効です。 C++ アプリケーションでは、ダイナミッ クローダーが PLABEL 情報 (インポートスタブ) に繰り返しアクセスする必要があり ます。このアクセスを高速にするために、ダイナミックローダーはグローバルシンボ ルテーブル構造体に PLABEL エントリーも含めるようにします。この動作は、 dl_header 構造体の PLABEL_CACHE フラグを設定すると有効になります (ld +plabel_cache enable a.out または chatr +plabel_cache enable a.out で有効になります)。 HP-UX 11i Version 3: February 2007 − 20 − Hewlett-Packard Company Section 1-719 ld_pa(1) ld_pa(1) PA-RISC 64 ビットオプション -k filename 出力ファイルのメモリーマップを記述したマップファイルを指定します。 +ild オプションと一緒に、ユーザー指定のマップファイル指定を使用できます。ただ し、初期インクリメンタルリンク後はマップファイルを変更しないでください。初期 リンク後にマップファイルを変更すると、初期インクリメンタルリンクが自動的に行 われます。 詳細は、 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してくださ い。また、 +nodefaultmap も参照してください。 -symbolic symbol 共有ライブラリを構築するときに、指定したシンボルへのすべての参照を、リンカー がライブラリ内に定義されているシンボルで解決するように指示します。このオプ ションは -B symbolic と似ていますが、シンボルごとに指示することができます。 複数のオプションシンボルペアをコマンド行で使って、 symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、 -symbolic オプションを付加しなけ ればなりません。 symbol は、複数のシンボル名に一致する正規表現にすることもできます。正規表現に ついては regexp(5) で説明しています。 全ての警告を抑止します。 -w +alloc_hidden_commons 非表示「共通」シンボルの記憶領域を -r 出力に強制的に割り当てます。これは、すべ ての非表示「共通」シンボルを記憶領域に割り当てる -d オプションと同じです。 +alloc_hidden_commons と -d オプションの両方を指定した場合は、 -d が優先しま す。 +allowrorelocs ( カーネル仮想環境サポートのみ) .text および .rodata のような読み取り専用のセク ションに動的リロケーションの生成を許可します。通常は、読み取り専用のセクショ ンに動的リロケーションが必要になると、リンカーはエラーメッセージを出力しま す。詳細は 「カーネル仮想環境サポート」の項を参照してください。 +[no]allowunsats +allowunsats は、出力ファイルに未解決シンボルがある場合でもエラーのフラグをつ けません。これは再配置可能リンクおよび共有ライブラリ生成に対するデフォルトで す。 +noallowunsats は、出力ファイルに未解決シンボルがある場合はエラーのフラグ をつけます。これはプログラムファイルに対するデフォルトです。 +[no]defaultrpath デフォルトは、 +defaultrpath です。 +b オプションを指定しない限り、 -L で指定し たパスが埋め込みパスに含まれます。 +b を使うと、 +b で指定したパスリストだけ Section 1-720 Hewlett-Packard Company − 21 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) が埋め込みパスに含まれます。 +nodefaultrpath オプションを使うと、 -L オプションで指定したすべてのライブラリ パスが、埋め込みパスから削除されます。リンカーは、 -L オプションで指定された ライブラリパスを、リンク時に検索します。実行時に検索されるライブラリパスは、 LD_LIBRARY_PATH 環境変数および SHLIB_PATH 環境変数で指定されているライ ブラリパス、 +b リンカーオプションで指定されているライブラリパス、デフォルト のライブラリパスだけです。 +[no]forceload +forceload は、アーカイブライブラリからすべてのオブジェクトファイルをロードし ます。デフォルトは +noforceload で、アーカイブライブラリから必要なオブジェクト ファイルだけをロードします。モードは明示的に、あるいはデフォルトで選択でき、 変更されるまでそのモードのままです。 +hideallsymbols +e で明示的にエクスポートしない限り、すべてのシンボルのエクスポートを禁止しま す。 +ild インクリメンタルリンクを指定します。 出力ファイルが存在しないか、出力ファイルが +ild オプションなしで作成されている 場合、リンカーは初期インクリメンタルリンクを実行します。作成された出力ファイ ルは、以降のインクリメンタルリンクで使用できます。インクリメンタルリンクオプ ションは、実行可能プログラムと共有ライブラリのどちらのリンクにも有効です。 注記: HP WDB シンボリックデバッガは、 +objdebug コンパイラオプションを有効に して作成した、インクリメンタルリンクされたロードモジュールのデバッグのみをサ ポートしています。 (HP DDE デバッガは +ild オプションをサポートしていません。) インクリメンタルリンクしたバイナリをデバッグするには、 +ild と +objdbg の両方 を指定してコンパイルおよびリンクする必要があります。 +ild と矛盾する次の ld オプションのいずれかを指定すると、リンカーは警告メッ セージを出力し、 +ild オプションを無視します。 • -r オプション: 再配置可能オブジェクトファイルを作成します。 • ストリップオプション: -s と -x は、出力ファイルをストリップします。 (インクリ メンタルリンクは、これらのオプションで削除される出力ロードモジュールの一部 を必要とします。) • 最適化オプション : -I 、 -O 、 -P 、 -PD 、 -PF 、 +df file 、 +fb 、 +fbu 、 +fbs 、 +pgm name、 +Oprocelim 以下のオプションは +ild オプションと併用できますが、制限事項があります。 • -D offset、-R offset HP-UX 11i Version 3: February 2007 − 22 − Hewlett-Packard Company Section 1-721 ld_pa(1) ld_pa(1) データセグメントおよびテキストセグメントのオリジンを設定します。初期インク リメンタルリンクの後にオフセットを変更すると、リンカーは初期インクリメンタ ルリンクを自動的に実行します。 • -k mapfile デフォルト以外のマップファイルを指定します。 +ild オプションと一緒に、ユー ザー指定のマップファイル仕様を使用できます。ただし、初期インクリメンタルリ ンク後はマップファイルを変更しないでください。初期リンク後にマップファイル を変更すると、初期インクリメンタルリンクが自動的に行われます。 +ildnowarn インクリメンタルリンクに関する警告を抑制します。デフォルトでは、リンカーはイ ンクリメンタルリンクに関連する警告をすべて出力します。 +ild と +ildrelink のどち らも指定していない場合、このオプションは無視されます。 +ildpad percentage インクリメンタルリンカーが割り当てるパディングの量を、パディングされるオブ ジェクトファイル構造のサイズに対する割合 ( percentage) で制御します。デフォルト では、リンカーは 25 % のパディングスペースを割り当てます。 +ild と +ildrelink の どちらも指定していない場合、このオプションは無視されます。 +ildrelink 出力ロードモジュールの状態にかかわらず、初期インクリメンタルリンクを実行しま す。 状況によっては ( 例えば、内部パディングスペースの不足)、インクリメンタルリン カーは初期インクリメンタルリンクを強制的に実行することがあります。 +ildrelink オプションを使用して定期的に出力ファイルを再構築することにより、このような予 期しない初期インクリメンタルリンクが発生するのを防ぐことができます。 +interposer 共有ライブラリの構築時にのみ使用します。インタポジションとして使用可能な共有 ライブラリを作成します。直接バインド情報 (-B direct を参照) を使用したアプリケー ションの参照を解決する場合、ダイナミックローダーはまず仲介ライブラリを検索し ます。すべての仲介ライブラリに対してシンボルを解決できなかった場合は、直接バ インディング情報が使用されます。 +[no]lazyload 共有ライブラリの遅延ローディングを有効 [無効] にします。 +lazyload を指定した共 有ライブラリのロードは、実行中にそのライブラリが参照されるまで遅延されます。 +lazyload 共有ライブラリの依存ライブラリは、リンク行上に明示的に指定されてい ない限り、リンク時には処理されません。 LD_NOLAZYLOAD 環境変数を設定することにより、実行中に遅延ローディングを無 効にすることができます。 +linkersyms (カーネル仮想環境サポートのみ) 共有ライブラリの構築であっても、リンカー生成シ ンボルを作成します。仮想環境をサポートしているカーネルは、 -b オプションを指 Section 1-722 Hewlett-Packard Company − 23 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) 定して構築されます。これは、デフォルトでは共有ライブラリ内にリンカー生成シン ボルを作成しません。詳細は、 「カーネル仮想環境サポート」の項を参照してくださ い。 +nobss データセグメントをゼロでパディングし、実行時に mmap を1回呼び出すだけでデー タセグメントをマッピングできるようにします。通常、データセグメントのマッピン グでは、ファイルバック記憶領域に対して1回の mmap 呼び出し、 bss (blank static storage) に対して2回目の mmap 呼び出しが必要です。このオプションを使用すると 出力ファイルのサイズが大きくなります。 +nodefaultmap このオプションは、リンカーがデフォルトのメモリーマップを使用しないようにしま す。 -k リンカーオプションによってマップファイルを指定する必要があります。 +nodynhash +gst オプションのデフォルトのリンカー動作を無効にして、実行可能プログラムまた は共有ライブラリの .dynhash セクションを作成します。ライブラリまたは実行可能プ ログラムがグローバルシンボルテーブル検索機能とともに使用されることがほとんど ない場合、または計算済みのハッシュ値を格納するためのオーバーヘッドが高すぎる 場合に、このオプションを使用して、それらの計算済みのハッシュテーブル情報が生 成されないようにします。このオプションは、 -r オプションとともに使用すると効果 がなくなります。 +noenvvar ダイナミックローダーが実行時に環境変数 LD_LIBRARY_PATH、 SHLIB_PATH、 および $ORIGIN を無視するようにします。これは、 ld +compat を指定するとオンに なります (ただし、ダイナミックローダーは LD_PRELOAD 環境変数を +noenvvar オ プションをとともに使用します)。デフォルト、または ld +std を指定するとオフにな ります。 +compat または +std を参照してください。一般に、このオプションはセ キュアプログラム (setuid など) に使用します。 +noprocelim_sym symbol [+noprocelim_sym symbol]... デッドコードの除外 (+Oprocelim). を使っているときには symbol を削除しないでくだ さい。このオプションは非表示シンボルとエクスポートされたシンボルに使えます。 コマンド行で、オプションとシンボルのペアを複数使用して、 symbol を複数指定す ることができます。この場合、指定する各 symbol の前に、 +noprocelim_sym オプ ションを付加しなければなりません。 +nosectionmerge -r オプションとともに使用して、プロシージャが個別に配置されるようにします。デ フォルトでは、プロシージャはすべて単一のセクションにマージされます。 +nosymb symbol -B symbolic を指定して共有ライブラリを構築する際に、指定したシンボルをリンカー での -B symbolic シンボル解決から除外します。 HP-UX 11i Version 3: February 2007 − 24 − Hewlett-Packard Company Section 1-723 ld_pa(1) ld_pa(1) コマンド行で、オプションとシンボルのペアを複数使用して、 symbol を複数指定す ることができます。この場合、指定する各 symbol の前に、 +nosymb オプションを付 加しなければなりません。 また、 symbol は、複数のシンボル名に一致する正規表現にすることもできます。正 規表現については regexp(5) で説明しています。 +paddata pagesize pagesize の倍数になるように、データセグメントをゼロでパディングします。これに よりページ割り当てが改善され、TLB ミスが減ります。 +padtext pagesize pagesize の倍数になるように、テキストセグメントをゼロでパディングします。これ によりページ割り当てが改善され、TLB ミスが減ります。 +pdzero データセグメントの先頭に、4K バイトのゼロページを生成します。また、データセ グメントのデフォルトの開始アドレスを 0x8000000000000000 とします。このオプ ションを指定すると、カーネルが通常より大きいデータページを割り当てるようにな り TLB ミスが減るため、性能が向上します。 +stripunwind unwind テーブルを出力しません。このオプションにより、実行可能ファイルのサイズ が小さくなります。デバッグや C++ の例外処理に unwind テーブルが不要であれば、 このオプションを使用してください。 +tools アプリケーションを、CXperf でのプロファイリング用にリンクするように要求しま す。 +vtype type リンク操作について冗長な情報を出力します。 type には、次の値があります。 files ロードされた各オブジェクトファイルの情報をダンプします。 heap リンクで使用されたヒープのサイズの情報をダンプします。 libraries 検索されたライブラリの情報をダンプします。 procelim +Oprocelim オプションで拒否されたセクションの情報をダンプしま す。 sections 出力ファイルに追加された各入力セクションの情報をダンプしま す。 symbols 入力ファイルに定義された、または入力ファイルから参照されたグ ローバルシンボルの情報をダンプします。 all Section 1-724 Hewlett-Packard Company 上記の情報をすべてダンプします。 -v と同じです。 − 25 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) デフォルト 特に指示されない限り、 ld はその出力を a.out と命名します。 -o オプションは名前を置き換えます。実行可 能出力ファイルのタイプは SHARE_MAGIC です。 -a のデフォルトの状態は、利用できれば共有ライブラリ を、利用できなければアーカイブライブラリを検索することです。デフォルトのバインド動作は deferred で す。 -Z/-z オプションのデフォルト値は -Z です。 64 ビットモードでは、デフォルトで +std がオンになります。 ld でのインクリメンタルリンク (64 ビットモードのみ) リンク時間は、編集、コンパイル、リンク、デバッグの開発サイクルで大きなウエートを占めます。インクリ メンタルリンカー (+ild オプションと +ildrelink オプションで利用可能) は、以前のバージョンのプログラムの 大半は再利用できること、未変更のオブジェクトファイルは処理が不要だということを利用して、リンク時間 を短くします。インクリメンタルリンカーを使用すると、未変更のオブジェクトファイルを再リンクすること なく、以前に作成した出力ファイル (実行可能ファイルまたは共有ライブラリ) にオブジェクトコードを挿入で きます。初期インクリメンタルリンク後の再リンクに必要な時間は、変更したモジュールの数に従って変化し ます。 リンカーには、次のリンクモードがあります。 • • 通常リンク: リンカーがすべてのモジュールをリンクする、デフォルトの動作モード。 初期インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作 成した出力モジュールが存在しないか、存在してもインクリメンタルリンカーがインクリメンタルアップ デートを実行できない場合に開始されるモード。 • インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作成し た出力モジュールが存在し、インクリメンタルリンカーが初期インクリメンタルリンクを必要としない場合 に開始されるモード。 一般的に、インクリメンタルリンクは通常リンクよりもかなり高速です。初回のリンクの場合、インクリメン タルリンクは通常のリンク処理と同じ時間を必要としますが、以後のインクリメンタルリンクは通常リンクよ りもかなり高速になります。中規模のリンク (ファイル数十個、合計数メガバイト) でオブジェクト1つの変更 では、通常の ld リンクよりも一般的に 10 倍程度速くなります。インクリメンタルリンカーは、割り当てられ ているパディングスペースや他の制約が許す限り、インクリメンタルリンクを実行します。リンク時間が短く なる代りに、実行可能ファイルまたは共有ライブラリのサイズが大きくなります。 インクリメンタルリンカーは、出力ファイルのすべての構成要素に対してパディングスペースを割り当てま す。パディングによりモジュールは、 ld でリンクされたモジュールよりも大きくなります。以後のインクリメ ンタルリンクでオブジェクトファイルのサイズが大きくなると、インクリメンタルリンカーは利用可能なパ ディングを使い尽くしてしまう可能性があります。このような状態になると、リンカーは警告メッセージを表 示し、モジュールの初期インクリメンタルリンクを完全に行います。オブジェクトファイルが変更されると、 インクリメンタルリンカーはリンクされる実行可能ファイルや共有ライブラリ内にあるそのファイルの内容を HP-UX 11i Version 3: February 2007 − 26 − Hewlett-Packard Company Section 1-725 ld_pa(1) ld_pa(1) 置き換えるだけではなく、そのオブジェクトファイル内で定義され、他のオブジェクトから参照されているす べてのシンボルへの参照も調整します。この処理は、インクリメンタルリンクされた実行可能ファイルまたは 共有ライブラリに保存されている再配置レコードを参照することによって実行されます。 初期インクリメンタルリンクでは、リンカーは入力のオブジェクトファイルおよびライブラリを、通常リンク と同じ方法で処理します。通常リンクの処理の他に、インクリメンタルリンカーはオブジェクトファイル、グ ローバルシンボル、および再配置についての情報を保存し、出力ファイル内に拡張用のセクションをパディン グします。以後のインクリメンタルリンクでは、リンカーはタイムスタンプとファイルサイズを使用してどの オブジェクトファイルが変更されたかを調べ、そのモジュールをアップデートします。 状況によっては、インクリメンタルリンカーはインクリメンタルリンクを実行できません。このような状態に なると、インクリメンタルリンカーは自動的に初期インクリメンタルリンクを実行し、インクリメンタルリン クが可能な状態にします。次の状況で、リンカーは自動的に出力ファイルの初期インクリメンタルリンクを実 行します。 • リンカーのコマンド行が変更された場合。つまり、リンカーのコマンド行が出力ファイルに格納されている コマンド行と異なる場合 (冗長オプションとトレースオプションを除く)。 • • いずれかのパディングスペースを使い尽くした場合。 モジュールが、 ld -s オプションまたは ld -x オプションで、またはツール (strip(1) など) で変更された場 合。インクリメンタルリンクは、これらのオプションで削除された出力ロードモジュールの一部を必要とし ます。 • インクリメンタルリンカーのバージョンに互換性がない場合。つまり、古いバージョンのリンカーで作成さ れた実行可能ファイルに対して新しいバージョンのインクリメンタルリンカーを実行した場合。 • 作業ディレクトリが新しい場合。現在のディレクトリを変更すると、インクリメンタルリンカーは初期イン クリメンタルリンクを実行します。 • アーカイブまたは共有ライブラリがリンカーコマンド行に追加されたり、リンカーコマンド行から削除され た場合。 • オブジェクトがリンカーコマンド行に追加されたり、リンカーコマンド行から削除された場合。 詳細については、 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (ld +help) を参照してく ださい。 アーカイブライブラリの処理 未解決のシンボルがある場合、インクリメンタルリンカーはアーカイブライブラリを検索します。リンカーは 未解決のシンボルに対応するすべてのアーカイブメンバーを抽出し、それらのメンバーを新しいオブジェクト ファイルとして処理します。アーカイブライブラリが変更された場合、リンカーは修正後のアーカイブライブ ラリに置き換えます。 以前のリンクでアーカイブライブラリから抽出されたオブジェクトファイルは、そのオブジェクトファイル内 Section 1-726 Hewlett-Packard Company − 27 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) で定義されているシンボルへの参照がすべて削除されても、出力ロードモジュールに残ります。リンカーは、 次回の初期インクリメンタルリンクの実行時にこれらのオブジェクトファイルを削除します。 共有ライブラリの処理 初期インクリメンタルリンクでは、リンカーは共有ライブラリのシンボルテーブルを走査し、未解決のシンボ ルを通常のリンクと同様に解決します。インクリメンタルリンクでは、リンカーは共有ライブラリおよびその シンボルテーブルを処理せず、共有ライブラリの未解決は報告しません。この未解決は、ダイナミックロー ダーが実行時に検出します。コマンド行上の共有ライブラリに変更されたものがあれば、リンカーは、初期イ ンクリメンタルリンクを実行し直します。 性能 オブジェクトファイルの大半を変更した場合は、インクリメンタルリンカーによる性能の向上は期待できませ ん。 小規模なプログラムでは、インクリメンタルリンカーでリンクの速度が改善されないことがあり、大規模なプ ログラムに比べ実行可能ファイルのサイズの増加率が大きくなります。 一般的には、インクリメンタルリンク時であっても、未解決のシンボルを判断するために、リンカーはリンク 行上のすべての共有ライブラリを走査する必要があります。この処理を実行すると、インクリメンタルリンク の速度が低下することがあります。インクリメンタルリンカーは共有ライブラリの走査を行わず、共有ライブ ラリの未解決の検出をダイナミックローダーに任せます。 最終の製品モジュールを作成する場合は、インクリメンタルリンカーを使用しないでください。インクリメン タルリンカーはパディングスペースを余分に予約するため、インクリメンタルリンカーで作成したモジュール は通常のリンカーで作成したモジュールよりもかなり大きくなります。 注記: HP WDB シンボリックデバッガは、 +objdebug コンパイラオプションを有効にして作成した、インクリメンタ ルリンクされたロードモジュールのデバッグのみをサポートしています。 (HP DDE デバッガは +ild オプショ ンをサポートしていません。) 実行可能ファイルを変更するプログラム (strip(1) など) を使用すると、 ld がインクリメンタルリンクを実行で きなくなることがあります。このような状況が発生した場合、インクリメンタルリンカーはメッセージを出力 し、初期インクリメンタルリンクを実行します。 オブジェクトファイルを処理する他社のツールを使用すると、インクリメンタルリンカーで作成されたモ ジュールに予期しない結果を引き起こすことがあります。 カーネル仮想環境サポート カーネルで仮想環境をサポートするには、 (-noshared オプションの代わりに) 次のリンカーオプションを使用 してカーネルを構築します。 $ ld ... -B symbolic -b +hideallsymbols +allowrorelocs +linkersyms ... HP-UX 11i Version 3: February 2007 − 28 − Hewlett-Packard Company Section 1-727 ld_pa(1) ld_pa(1) これらのオプションを使用すると、カーネルは自己完結型の共有ライブラリとして作成され、エクスポートさ れるシンボルはありません (-B symbolic 、 -b 、および +hideallsymbols オプションで ) 。カーネルには、 _etext、 _end、および _edata のような、リンカーで生成されるシンボルへの参照が含まれるため、 +linkersyms オプションにより、これらのシンボルを作成するようリンカーに指示します (デフォルトでは共有ライブ ラリに対してはこの処理は行われません)。カーネルは、読み取り専用データ空間に対する直接の呼び出しとリ ロケーションを含みます。通常、これらはリンク時に適用され、リンク時に仮想アドレスに解決されます。リ ロケータブルカーネルの場合、リンカーは動的リロケーションを作成して、これらの参照を実行時に解決する 必要があります。 +allowrorelocs オプションは、読み取り専用セクションの動的リロケーションを許可するよ うにリンカーに指示します (通常、リンカーはエラーメッセージを出力します)。 セキュリティに関する制限 きめ細かい特権をサポートするシステムでは、プロセスがバイナリの拡張属性から何らかの特権を得た場合、 動的パス検索が無効になります。同じように、コンパートメントをサポートするシステムでは、バイナリに拡 張属性が設定されているためにプロセスがコンパートメントを変更した場合、動的パス検索が無効になりま す。バイナリに拡張属性を設定する方法については、 setflexsec(1M) を参照してください。特権とコンパートメ ントについての詳細は、 privileges(5) と compartments(5) を参照してください。 セキュアプログラムのリンク セキュアプログラムとは、通常 root などの特権を持つユーザーによって実行されるプログラム、または、 setuid または setgid 保護により引き上げられた特権で実行されるプログラムです。共有ライブラリを使用する セキュアプログラムをリンクする際は、特に注意が必要です。リンカーのデフォルトの動作は、32 ビットアプ リケーションには十分であっても、 64 ビットアプリケーションには十分でないことがあります。 64 ビットのセキュアプログラムでは、 +noenvvar オプションを用いてリンクして、共有ライブラリの依存対象 を探すために SHLIB_PATH や LD_LIBRARY_PATH を使用しないようにする必要があります。また、64 ビッ トのセキュアプログラムでは +nodefaultrpath を用いてリンクして、 -L オプションで指定した検索ディレクト リに基づいて埋め込み検索パスを自動的に構築しないようにする必要があります。リンク時に検索されるディ レクトリのほとんどは、実行時に検索する必要はありません。また、これらのディレクトリが相対パスとして 指定されている場合、プログラムは SHLIB_PATH や LD_LIBRARY_PATH を用いた場合と同じセキュリティ 上のリスクにさらされることになります。 SHLIB_PATH または LD_LIBRARY_PATH で指定したディレクトリにのみ存在するライブラリに依存する通 常のプログラムは (64 ビットモードのみ)、 +s を用いてリンクし、 SHLIB_PATH や LD_LIBRARY_PATH の 検索を有効にします。 SHLIB_PATH や LD_LIBRARY_PATH に依存するプログラムは、 setuid または setgid プログラムとして保護することはできません。 dld は、次の条件が満たされる場合に限り、(SHLIB_PATH および LD_LIBRARY_PATH による) 動的パス検索 を使用します。 getuid() == geteuid() && getgid() == getegid() すなわち、 uid または gid が実効 uid または実効 gid と一致しない場合、 dld は SHLIB_PATH および LD_LIBRARY_PATH で指定したディレクトリをチェックしません。これにより、実行時エラー "library not Section 1-728 Hewlett-Packard Company − 29 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) found" が発生します。 多言語化対応 環境変数 以下の環境変数は、 ld の処理内容に影響します。 BROWSER +help オプションを使用したときに、 『HP-UX リンカー & ライブラリー オンライン ユー ザーズガイド』を表示する HTML ブラウザのパス名を指定します。 ENABLE_PBO_FORK デフォルトでは、計測機能付きの実行可能プログラム (-I オプションを参照) がプロファイル データを書き込むと、バックグラウンドで実行する別のプロセスが作成され、メインのプロ セスは終了します。この環境変数に "OFF" をセットすると、別のプロセスは作成されず、同 じプロセスがプロファイルデータを書き込みます。これは、実行可能ファイルを実行した後 に、実行可能ファイルを削除または変更して、ETXTBSY エラーが発生した場合に便利で す。この環境変数は、32 ビットの実行可能プログラムにのみ有効です。計測機能付きの共有 ライブラリの場合、プロファイルデータは常に同じプロセスによって書き込まれます。 FDP_FORK FLOW_DATA ENABLE_PBO_FORK と同じ目的で、64 ビットの実行可能プログラムに使用します。 設定した実行可能プログラム (-I オプションを参照) は、現在のディレクトリの flow.data と いうデータベースファイルにプロファイルデータを書き出します。このファイルの名前と保 存先の指定は、 FLOW_DATA に目的のパス名を設定して行います。プロファイルデータ は、実行時に指定した実行可能ファイルの basename と同じ参照名でデータベースファイル に保存されます。単一の flow.data ファイルは、複数のプログラムファイルのプロファイル データを保持できます。 LDOPTS 引き数は、コマンド行のほかに、 LDOPTS 環境変数を使ってリンカーに渡すことができま す。リンカーは LDOPTS の値を取得し、その内容をコマンド行の引き数の前に置きます。 LPATH ライブラリファイルを検索するデフォルトディレクトリを指定します。 -l オプションを参照 してください。 LD_LIBRARY_PATH、SHLIB_PATH、およびLD_PRELOAD 実行時にライブラリファイルを検索するディレクトリを指定します。詳細については -s オプ ション、 dld.sl(5)、および +help オプションで 『HP-UX リンカー & ライブラリー オンライ ン ユーザーズガイド』を参照してください。 LD_PROFILE 実行時に、共有ライブラリのパスがプロファイルされるように指定します ( 詳細は、『HPUX リンカー & ライブラリー オンライン ユーザーズガイド』を参照してください)。 LD_GPROF_LIB_NAME 実行時に、共有ライブラリのプロファイルに使用するプロファイラのパスを指定します。デ フォルト値は、 32 ビットアプリケーションでは /usr/lib/libgprof32.sl で、 64 ビットアプリ ケーションでは /usr/lib/pa20_64/libgprof.sl です。 HP-UX 11i Version 3: February 2007 − 30 − Hewlett-Packard Company Section 1-729 ld_pa(1) ld_pa(1) 一時ファイル用のディレクトリを指定します。 TMPDIR 以下の多言語化対応変数は、 ld の処理内容に影響します。 LC_ALL および他の LC_* 環境変数が指定されていない場合に、母国語のロケールカテゴ LANG リ、ローカルカスタム、およびコード文字セットを定義します。LANG が指定されていない 場合、または空文字列が指定されている場合、デフォルトの C (lang(5) を参照) が LANG の 代わりに使用されます。 すべてのロケールカテゴリの値を定義し、LANG および他の LC_* 環境変数よりも優先的に LC_ALL 使用されます。 LC_MESSAGES フォーマット、および標準エラーに書き込まれる診断メッセージの内容を変更するために使 用するロケールを定義します。 LC_NUMERIC 数値フォーマティングのためのロケールカテゴリを定義します。 LC_CTYPE 文字操作関数のローカルカテゴリを定義します。 NLSPATH LC_MESSAGES の処理を行うために、メッセージカタログの位置を定義します。 多言語化対応変数のいずれかの設定が不適当な場合には、ld はすべての多言語化対応変数が C に設定されて いるものとして動作します。 environ(5) を参照してください。 戻り値 ld は、以下の値を返します。 0 正常終了しました。リンクは正常です。 n!=0 失敗。エラーが発生しました。 例 後で ld によって処理するための、プログラムのリンク部分。 (出力オブジェクトファイルの .o サフィックスに 注意してください。これは、リンク可能なオブジェクトファイルを示すための HP-UX のきまりです)。 ld -r file1.o file2.o -o prog.o 32 ビットで、シンボリックデバッガ dde (dde(1) を参照) で使用するために、簡単な FORTRAN プログラムをリ ンクします。コマンド行に -o オプションがないため、出力ファイル名は a.out です。 ld /usr/ccs/lib/crt0.o ftn.o -lcl -lisamstub \ -lc /opt/langtools/lib/end.o 64 ビットでは、次のようにします。 ld ftn.o -lcl -lisamstub \ -lc /opt/langtools/lib/pa20_64/end.o 64 ビットで、標準モードで共有のバインドされたプログラムをリンクします。 crt0.o は、共有リンクにおいて はもはや必要ないので、指定しないことに注意してください。 Section 1-730 Hewlett-Packard Company − 31 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) ld himom.o +std -lc 64 ビットで、互換モードプログラムをリンクします。 crt0.o は、アーカイブリンクのため含まれています。 ld /opt/langtools/lib/pa20_64/crt0.o himom.o +compat -a archive -lc 次の指定では、共有ライブラリを作成します。 ld -b -o libfunc.sl func1.o func2.o func3.o 次の指定では、内部名称が付けられた共有ライブラリが作成されます。 ld -b -o libfoo1.1 foo1.o foo2.o +h libfoo1.1 ln -s libfoo1.1 libfoo1.sl cc -g mytest.c -L . -lfoo1 chatr a.out ... shared library list: dynamic ./libfoo1.1 +h を使用しない場合は、共有ライブラリには内部名はありません。リンカーは、 .sl がシンボリックリンクで あるかどうかはチェックしません。内部名がない場合は、リンカーは自分が参照しているライブラリ名を記録 します。 chatr a.out ... shared library list: dynamic ./libfoo1.sl 32 ビットで、プログラムを libfunc.sl とリンクしますが、C ライブラリのアーカイブバージョンを使用しま す。次の指定では、 nonfatal 修飾子とともに即時バインディングモードを指定し、冗長診断メッセージが表示 されるようにします。 ld /usr/ccs/lib/crt0.o -B immediate -B nonfatal -B verbose \ program.o -L . -lfunc -a archive -lc 64 ビットでは、次のようにします。 ld -B immediate -B nonfatal -B verbose \ program.o -L . -lfunc -a archive -lc 次の指定では、32 ビットで Pascal プログラムをリンクします。 ld /usr/ccs/lib/crt0.o main.o -lcl -lm -lc 上記の例では、/usr/ccs/lib/crt0.o の代わりに /opt/langtools/lib/crt0.o と指定することもできます。 HP-UX 11i Version 3: February 2007 − 32 − Hewlett-Packard Company Section 1-731 ld_pa(1) ld_pa(1) 警告 ld は、いくつかの名前を特殊な意味があるものとして認識します。 _end シンボルは、プログラムのアドレス 空間の終端を超える最初のアドレスを参照するために予約されています。また _edata シンボルは、初期化デー タを超える最初のアドレスを参照し、 _etext シンボルはプログラムテキストを超える最初のアドレスを参照し ます。シンボル end, edata, etext もリンカーによって定義されますが、プログラムの内容がこれらのシンボル への参照であり、定義しない場合に限ります ( 詳細については、 end(3C) を参照)。 32 ビットで、シンボル __tdsize は、プログラムまたは共有ライブラリで要求されるスレッドのローカル記憶領域の合計サイズを示し ます。 64 ビットでは、リンカーはさらにいくつかのシンボルを定義しています。シンボル __TLS_SIZE は、スレッ ドのローカル記憶領域の合計サイズを示します。シンボル _FPU_STATUS は、FPU ステータスレジスタの初期 ステータスを示します。シンボル __SYSTEM_ID は、コンパイル単位で使用する最大のアーキテクチャ リビ ジョンレベルを示します。 リンカーは、上記で示したシンボルのいずれかのユーザー定義をエラーとして処理します。 そのオプションを通じて、リンクエディターにより、ユーザーには多大な柔軟性が得られます。ただし、リン カーを直接呼び出すユーザーは、何らかの責任が追加されるものとしなければなりません。入力オプション で、プログラムの以下の特性を確実にする必要があります。 • リンクエディターが cc(1) を通じて呼び出されると、起動ルーチンがユーザーのプログラムとリンクされま す。このルーチンは、メインプログラムの実行後に exit(2) を呼び出します。ユーザーが ld を直接呼び出す 場合、プログラムがエントリールーチンの終端を通過せず、常に exit() を呼び出すようにしてください。 • シンボリックデバッガ dde で使用するためにリンクする際、プログラムには main というルーチンが必要で す。また、ユーザーは、コマンド行上で最後に指定したファイルとして 32 ビットにはファイル /opt/langtools/lib/end.o を、 64 ビットにはファイル /opt/langtools/lib/pa20_64/end.o をリンクしなければなりません。 リンカーがアーカイブライブラリからファイルをピックアップし、ライブラリ内の発生と同じ相対順序で最後 のプログラムに入れるという保証はありません。 リンカーは常に互換性の問題を検出したところに警告を出します。その他にも、これらの問題には後から変更 される機能だけでなく、アーキテクチャの問題があります。問題には以下があります。 • PA 2.0 オブジェクトファイルをリンクします。これは、PA 1.x システム上では動作しません。 • -A オプションで増分ロードします。 • プロシージャ呼び出しのパラメータとリターンタイプをチェックします。これには -C オプションも 含まれます。 • 同じ名前で異なる型 (たとえば、CODE や DATA) のシンボルがあります。 • ときどきアーカイブライブラリから特定のオブジェクトファイルをスキップするリンカーが、該当 しないシンボルをチェックします。この警告は、 -v オプションも指定した場合のみに出されます。 Section 1-732 Hewlett-Packard Company − 33 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) • 共有ライブラリ内のオブジェクトのバージョンになります。 これらのメッセージは +vnocompatwarnings オプションを指定して使用不可にすることができます。 オプションセクションに記載したように、64 ビットリンカーには、存在しないオプションがいくつかありま す。次のオプションが 64 ビットリンカーには、存在しません。 • -q • -A • -C • -E • -Q • -S • -T • -X • +dpv 著者 ld は AT&T、カリフォルニア大学バークレイ校、HP で開発されました。 ファイル /usr/lib/lib* 32 ビットのシステムアーカイブおよび共有ライブラリ /usr/lib/pa20_64/lib* 64 ビットのシステムアーカイブおよび共有ライブラリ /usr/ccs/lib* 32 ビットのアーカイブおよび共有ライブラリを作成 /opt/langtools/lib/pa20_64 64 ビットのオブジェクトファイル、アーカイブおよび共有ライブラリ を作成 a.out 出力ファイル /usr/lib/dld.sl 32 ビットのダイナミックローダー /usr/lib/pa20_64/dld.sl 64 ビットのダイナミックローダー /opt/langtools/lib/end.o 32 ビット dde デバッガで使用 /opt/langtools/lib/pa20_64/end.o 64 ビット dde デバッガで使用 /usr/ccs/lib/crt0.o 32 ビットの実行時の起動ファイル /opt/langtools/lib/crt0.o /usr/ccs/lib/crt0.o と同じ /opt/langtools/lib/pa20_64/crt0.o 64 ビットの実行時の起動ファイル /usr/ccs/lib/dyncall.o 32 ビットのみ。 -A オプションのリンクで使用 /opt/langtools/lib/mcrt0.o 32 ビットのプロファイリングを伴う実行時の起動 ( prof (1) を参照) HP-UX 11i Version 3: February 2007 − 34 − Hewlett-Packard Company Section 1-733 ld_pa(1) ld_pa(1) /usr/lib/milli.a ld により自動的に検索される 32 ビットのミリコードライブラリ /usr/lib/pa20_64/milli.a ld により自動的に検索される 64 ビットのミリコードライブラリ /opt/langtools/lib/gcrt0.o プロファイリングを伴う実行時の起動 (gprof (1) を参照) /opt/langtools/lib/icrt0.o 32 ビットのプロファイリングを伴う実行時の起動 (前述のプロファイル ベースの最適化についての説明を参照) /usr/lib/nls/$LANG/ld.cat メッセージカタログ /var/tmp/ld* 一時ファイル flow.data 設定した実行可能ファイルを実行した結果生成されるプロファイルデー タを含むファイル 設定した実行可能ファイルにより作成されたプロファイルデータベース /usr/ccs/bin/fdp ファイルからプロシージャリンク順序を決定するプログラム -P オプ ションにより fork されます。 /opt/langtools/lbin/ucomp PA-RISC コードジェネレータ 参照 プロファイリングおよびデバッグ用ツール adb(1) アブソリュートデバッガ gprof (1) コールグラフ プロファイルデータを表示 prof (1) プロファイルデータを表示 dde(1) C、C++、FORTRAN、および Pascal のシンボリックデバッガ システムツール aCC(1) HP-UX aC++ コンパイラを実行 ar(1) アーカイブライブラリの作成 CC(1) HP-UX C++ コンパイラを実行 cc(1) HP-UX C コンパイラを実行 chatr(1) プログラムの内部属性を変更 exec(2) ファイルの実行 f77(1) HP-UX FORTRAN 77 コンパイラを実行 f90(1) HP-UX FORTRAN 90 コンパイラを実行 fastbind(1) fastbind ツールを実行 nm(1) オブジェクトファイルの名称リストをプリント pc(1) HP-UX Pascal コンパイラを実行 strip(1) オブジェクトファイルから、シンボルおよび行番号情報を削除 その他 setflexsec(1M) Section 1-734 Hewlett-Packard Company − 35 − HP-UX 11i Version 3: February 2007 ld_pa(1) ld_pa(1) crt0(3) 起動ルーチンを実行 end(3C) プログラムの最後の位置のシンボル a.out(4) アセンブラ、コンパイラ、およびリンカーの出力 ar(4) アーカイブ形式 compartments(5) dld.sl(5) ダイナミックローダー privileges(5) テキストとチュートリアル 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプション参照) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 標準準拠 ld: SVID2, SVID3, XPG2, XPG4 HP-UX 11i Version 3: February 2007 − 36 − Hewlett-Packard Company Section 1-735 ldd(1) ldd(1) 名称 ldd − 実行可能ファイルや共有ライブラリの動的依存関係を出力 構文 特記事項 Integrity システムでは ldd_ia(1) を、PA-RISC システムでは ldd_pa(1) をそれぞれ参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Integrity システムで、それ以外の値であれば PA-RISC システムです。 参照 ldd_ia(1), ldd_pa(1), uname(1) Section 1-736 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ldd_ia(1) ldd_ia(1) 名称 ldd_ia: ldd − 実行可能ファイルや共有ライブラリの動的依存関係をリスト 構文 ldd [-d] [-r] [-s] [-v] filename... 備考 このマンページは Integrity システム用 ldd の説明をします。 PA-RISC システム用 ldd は ldd_pa(1) を参照して ください。 説明 ldd は、不完全な実行可能ファイルや共有ライブラリの動的依存関係をリストするコマンドです。 ldd は、動的依存関係とシンボル参照についての冗長情報をリストします。オブジェクトファイルが実行可能 ファイルの時には、 ldd は、実行の際にロードされるすべての共有ライブラリをリストします。共有ライブラ リの時には、 ldd は、ライブラリをロードする際にロードされるすべての共有ライブラリをリストします。 ldd は、共有ライブラリを実行時に検索するために、ダイナミックローダー (/usr/lib/hpux32/dld.so および /usr/lib/hpux64/dld.so) と同じアルゴリズムを使用します。詳細については、 dld.so(5) の 「動的パスリスト」を 参照してください。 オプション ldd では、以下のオプションが指定できます。 -d データシンボルの参照をチェックします。 -r データおよびコードシンボルの参照をチェックします。 -s 共有ライブラリを探すために使用される検索パスを表示します。 -v すべての依存関係を表示します。 外部への影響 環境変数 ldd は次の環境変数を使用して、共有ライブラリを見つけます。 LD_LIBRARY_PATH 共有ライブラリの実行時の検索パスを定義する、パス名をコロンで区切ったリストです。詳細につい ては、 dld.so(5) の「動的パスリスト」を参照してください。 SHLIB_PATH 共有ライブラリの実行時の検索パスを定義する、パス名をコロンで区切ったリストです。詳細につい ては、 dld.so(5) の「動的パスリスト」を参照してください。 次の国際化変数は、 ldd の実行に影響を及ぼします。 LANG LC_ALL および、他の LC_* 環境変数が指定されていない場合、母国語、地域慣習およびコード化 キャラクタセットのロケールカテゴリを決定します。もし、 LANG が指定されていなかったり、空文 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-737 ldd_ia(1) ldd_ia(1) 字列が設定されている場合には、 C のデフォルト (lang(5) 参照) が、 LANG の代わりに使用されま す。 LC_ALL すべてのロケールカテゴリに対する値を決定し、そして、それは、 LANG および、他の LC_* 環境変 数に優先します。 LC_MESSAGES 標準エラー出力に出される診断メーセージのフォーマットと内容を左右するために使用されるロケー ルを決定します。 LC_NUMERIC 数値フォーマットのロケールカテゴリを決定します。 LC_CTYPE 文字操作関数のロケールカテゴリを決定します。 NLSPATH LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 国際化変数に無効な設定がされているものがある時には、 ldd は、国際化変数が C に設定されているものとし 動作します (environ(5) 参照)。 診断 ldd は、共有ライブラリパス名を標準出力に出力します。オプションの、未解決シンボルのリストは、標準エ ラーに出力されます。 ldd は、操作が正常に終了すればゼロを返します。ゼロ以外の戻り値は、エラーが発生したことを示します。 例 デフォルトでは、ldd は、簡単な動的パス情報を出力します。実行可能ファイル (または共有ライブラリ) 中に 記録されている依存関係の後に、ライブラリが見つかった物理的な位置が出力されます ldd a.out ./libx.so => ./libx.so libc.so => /usr/lib/hpux32/libc.so.1 libdl.so => /usr/lib/hpux32/libdl.so.1 -v オプションを指定すると、ldd は、動的パス情報とともに依存関係を出力します。 ldd -v a.out find library=./libx.so; required by a.out ./libx.so => ./libx.so find library=libc.so; required by a.out libc.so => /usr/lib/hpux32/libc.so.1 find library=libdl.so; required by /usr/lib/hpux32/libc.so.1 Section 1-738 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ldd_ia(1) ldd_ia(1) libdl.so => /usr/lib/hpux32/libdl.so..1 -r オプションを指定すると、ldd は、すべてのシンボル参照を解析し、解決できないコードおよびデータシン ボルの情報を出力します。 ldd -r a.out ./libx.so => ./libx.so libc.so => /usr/lib/hpux32/libc.so.1 libdl.so => /usr/lib/hpux32/libdl.so.1 symbol not found: val1 (./libx.so) symbol not found: count (./libx.so) symbol not found: func1 (./libx.so) 警告 ldd は、 dlopen(3C) や shl_load(3X) を使って明示的にロードされる共有ライブラリをリストしません。 ファイル a.out 出力ファイル /usr/lib/hpux32/dld.so 32 ビット Integrity システムダイナミックローダー /usr/lib/hpux64/dld.so 64 ビット Integrity システムダイナミックローダー /usr/ccs/lib/hpux32/lddstub 共有ライブラリの依存関係をチェックするためにロードされる、ダ ミーの 32 ビット実行可能ファイル /usr/ccs/lib/hpux64/lddstub 共有ライブラリの依存関係をチェックするためにロードされる、ダ ミーの 64 ビット実行可能ファイル /usr/lib/nls/$LANG/ldd.cat メッセージカタログ 参照 システムツール ld(1) リンクエディターの起動 その他 a.out(4) アセンブラ、コンパイラおよびリンカーの出力 dld.so(5) ダイナミックローダー テキストおよびチュートリアル 『HP-UX リンカー & ライブラリー ユーザーズガイド』 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-739 ldd_pa(1) ldd_pa(1) 名称 ldd_pa: ldd − 実行可能ファイルや共有ライブラリの動的依存関係をリスト 構文 ldd [-b] [-d] [-r] [-s] [-v] filename... 備考 このマンページは PA-RISC システム用 ldd の説明をします。 Integrityシステム用 ldd は ldd_ia(1) を参照してく ださい。 説明 ldd は、不完全な実行可能ファイルや共有ライブラリの動的依存関係をリストするコマンドです。 ldd は、動的依存関係とシンボル参照についての冗長情報をリストします。オブジェクトファイルが実行可能 ファイルの時には、 ldd は、実行の際にロードされるすべての共有ライブラリをリストします。共有ライブラ リの時には、 ldd は、ライブラリをロードする際にロードされるすべての共有ライブラリをリストします。 ldd は、 共 有 ラ イ ブ ラ リ を 実 行 時 に 検 索 す る た め に、 ダ イ ナ ミッ ク ロー ダ (/usr/lib/dld.sl お よ び /usr/lib/pa20_64/dld.sl) と同じアルゴリズムを使用します。詳細については、dld.sl(5) の 「PA-RISC 32-bit 動的 パスリスト」、 「PA-RISC 64-bit 動的パスリスト」および 「LD_PRELOAD 環境変数」を参照してください。 オプション ldd では、以下のオプションを指定できます。 -b PA-RISC 32-bit のみ。 -d や -r と一緒に使用すると、 dld.sl は、依存するライブラリをすべてバイ ンドし、unsats (未解決シンボル) を報告します。デフォルトでは、dld.sl のスマートバインド機 構によって、シンボルが明示的に参照されているライブラリだけがバインドされます。 -d データシンボルの参照をチェックします。 -r データおよびコードシンボルの参照をチェックします。 -s 共有ライブラリを探すために使用される検索パスを表示します。 -v すべての依存関係を表示します。 外部から影響 環境変数 ldd は次の環境変数を使用して、共有ライブラリを見つけます。 LD_LIBRARY_PATH 64 ビットモードで使用されます。共有ライブラリの実行時の検索パスを定義する、パス名をコロンで 区切ったリストです。詳細については、 dld.sl(5) の 「PA-RISC 64-bit 動的パスリスト」を参照してくだ さい。 Section 1-740 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ldd_pa(1) ldd_pa(1) LD_PRELOAD 実行時に、ダイナミックローダが暗黙的に最初にロードするライブラリを、コロン(:)あるいは空白で 区切ったリストです。詳細については、dld.sl(5) の 「LD_PRELOAD 環境変数」を参照してください。 SHLIB_PATH 共有ライブラリの実行時の検索パスを定義する、パス名をコロンで区切ったリストです。詳細 については、dld.sl(5) の 「PA-RISC 32-bit 動的パスリスト」および 「PA-RISC 64-bit 動的パス リスト」を参照してください。 次の国際化変数は、 ldd の実行に影響を及ぼします。 LANG LC_ALL および、他の LC_* 環境変数が指定されていない場合、母国語、地域慣習およびコー ド化キャラクタセットのロケールカテゴリを決定します。もし、LANG が指定されていなかっ たり、空文字列が設定されている場合には、デフォルトの C (lang(5) を参照) が、LANG の代 わりに使用されます。 LC_ALL すべてのロケールカテゴリに対する値を決定し、そして、それは、 LANG および、他の LC_* 環境変数に優先します。 LC_MESSAGES 標準エラー出力に出される診断メーセージのフォーマットと内容を左右するために使用される ロケールを決定します。 LC_NUMERIC 数値フォーマットのロケールカテゴリを決定します。 LC_CTYPE 文字操作関数のロケールカテゴリを決定します。 NLSPATH LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 国際化変数に無効な設定がされているものがある時には、 ldd は、国際化変数が C に設定されている かのようにふるまいます。 environ(5) 参照。 診断 ldd は、共有ライブラリパス名を標準出力に出力します。オプションの、未解決シンボルのリストは、 標準エラーに出力されます。 ldd は、操作が正常に終了すればゼロを返します。ゼロ以外の戻り値は、エラーが発生したことを示し ます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-741 ldd_pa(1) ldd_pa(1) 例 デフォルトでは、ldd は、簡単な動的パス情報を出力します。実行可能ファイル (または共有ライブラ リ) 中に記録されている依存関係の後に、ライブラリが見つかった物理的な位置が出力されます $ ldd a.out ./libx.sl => ./libx.sl libc.2 => /lib/pa20_64/libc.2 libdl.1 => /lib/pa20_64/libdl.1 -v オプションを指定すると、ldd は、動的パス情報とともに依存関係を出力します。 $ ldd -v a.out find library=./libx.sl; required by a.out ./libx.sl => ./libx.sl find library=libc.2; required by a.out libc.2 => /lib/pa20_64/libc.2 find library=libdl.1; required by /lib/pa20_64/libc.2 libdl.1 => /lib/pa20_64/libdl.1 -r オプションを指定すると、ldd は、すべてのシンボル参照を解析し、解決できないコードおよびデー タシンボルの情報を出力します。 ldd -r a.out ./libx.sl => ./libx.sl libc.2 => /lib/pa20_64/libc.2 libdl.1 => /lib/pa20_64/libdl.1 symbol not found: val1 (./libx.sl) symbol not found: count (./libx.sl) symbol not found: func1 (./libx.sl) -s オプションを指定すると、ldd は、ライブラリをロードするために使用した動的検索パスのリスト を、参照した順序で出力します。 $ export SHLIB_PATH=/tmp $ export LD_LIBRARY_PATH=/var/tmp:/var/adm $ ldd -s a.out find library=./libx.sl; required by a.out ./libx.sl => ./libx.sl find library=libc.2; required by a.out search path=/var/tmp:/var/adm (LD_LIBRARY_PATH) trying path=/var/tmp/libc.2 Section 1-742 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ldd_pa(1) ldd_pa(1) trying path=/var/adm/libc.2 search path=/tmp (SHLIB_PATH) trying path=/tmp/libc.2 search path=/usr/lib/pa20_64:/opt/langtools/lib/pa20_64: (RPATH) trying path=/usr/lib/pa20_64/libc.2 libc.2 => /usr/lib/pa20_64/libc.2 find library=libdl.1; required by /usr/lib/pa20_64/libc.2 search path=/var/tmp:/var/adm (LD_LIBRARY_PATH) trying path=/var/tmp/libdl.1 trying path=/var/adm/libdl.1 search path=/tmp (SHLIB_PATH ) trying path=/tmp/libdl.1 search path=/usr/lib/pa20_64 (RPATH) trying path=/usr/lib/pa20_64/libdl.1 libdl.1 => /usr/lib/pa20_64/libdl.1 警告 ldd は、dlopen(3C) や shl_load(3X) を使って明示的にロードされる共有ライブラリをリストしません。 ファイル a.out 出力ファイル /usr/lib/dld.sl 32 ビット PA-RISC ダイナミックローダ /usr/lib/pa20_64/dld.sl 64ビット PA-RISC ダイナミックローダ 共有ライブラリの依存関係をチェックするためにロードされ /usr/ccs/lib/lddstub る、ダミーの 32 ビット実行可能ファイル /usr/ccs/lib/pa20_64/lddstub 共有ライブラリの依存関係をチェックするためにロードされ る、ダミーの 64 ビット実行可能ファイル /usr/lib/nls/$LANG/ldd.cat メッセージカタログ 参照 システムツール ld(1) リンクエディタの起動 その他 a.out(4) アセンブラ、コンパイラおよびリンカの出力 dld.sl(5) ダイナミックローダ HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-743 ldd_pa(1) ldd_pa(1) テキストおよびチュートリアル 『HP-UX リンカー & ライブラリー ユーザーズガイド』 Section 1-744 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 leave(1) leave(1) 名称 leave − 終了時刻の通知 構文 leave [ hhmm ] 説明 leave コマンドは、指定時刻まで待機し、終了を通知します。指定時刻の5分前および1分前、指定時刻、それ 以降は毎分に通知します。ログオフすると、 leave は終了します。 時間の形式は hhmm です。ただし、 hh は時間(0から11か、0から24時の範囲)単位の時刻、 mm は分です。 hh の値が11(24時間時計時)より大きい場合、指定した値は、12減じて0から11の範囲における新規の値になりま す。したがって、アラームタイムは、次の12時間以内に起動されるように常に設定されます。例えば、 hhmm が1350で、現在の時刻が4:00 PM(1600)ならば、1350値は150に変更され、アラームは、現在から9時間50分後 の1:50 AMに設定されます。他方、現在9:00 AMで、 hhmm を2200(10:00 PM)として指定すると、使用される値 は1000に変換され、アラームは指定した13時間後ではなく、1時間後に設定されます。 引き数を与えないと、 leave は、 When do you have to leave? と通知します。改行で応答すると、 leave は終了します。そうでなければ、応答は時刻であるものと仮定され ます。この形式は、 .login または .profile ファイルに含めるのに適しています。 leave コマンドは、割込み、終了、および終了シグナルを無視します。終了させるには、ログオフするか、また はそのプロセス ID を指定した kill -9 を使用してください。 例 コマンド leave 1204 ターミナルにアラーム(ビープ)を送り、12:04でログオフするよう促し、12:04以降は1分間隔で、遅れているこ とを注意します。 警告 leave コマンドは、100秒ごとに /etc/utmp ファイルをチェックすることにより、ユーザーがログアウトしたか どうかをチェックします。ユーザーがログアウトし、 leave がその定期的チェックを行なう前に、同じttyに再 びログインすると、 leave は、ユーザーがログアウトしたことを感知できません。 著者 leave はカリフォルニア大学バークレー校で開発されました。 ファイル /etc/utmp HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-745 leave(1) leave(1) 参照 calendar(1) Section 1-746 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lifcp(1) lifcp(1) 名称 lifcp − LIF ファイル間のコピー 構文 lifcp [ −Txxx ] [ −Lxxx ] [ −vxxx ] [ −a ] [ −b ] [ −i xxx ] [ −r ] [ −t ] file1 file2 lifcp [ −Txxx ] [ −Lxxx ] [ −vxxx ] [ −a ] [ −b ] [ −ixxx ] [ −r ] [ −t ] [ file1 file2 ... ] directory 説明 lifcp は、LIF ファイルを HP-UX ファイルに、HP-UX ファイルを LIF ファイルに、または LIF ファイルを別の LIF ファイルにコピーします。また、(HP-UX/LIF) ファイルのリストを (LIF/HP-UX) ディレクトリにコピーし ます。引き数リストの最後の名前は、宛先ファイルまたはディレクトリです。 −Txxx ファイルを LIF ボリュームにコピーする場合にのみ使用します。このオプションは、LIF ディレクトリエントリーのファイルタイプを、強制的に指定の引き数に設定します。引 き数は、標準の "C" 表記法を使い、10 進、8 進、または 16 進とすることができます。 −Lxxx ファイルを LIF ボリュームにコピーする場合にのみ使用します。このオプションは、 「最後のボリュームフラグ」を xxx に設定します(0 または 1)。デフォルトの「最後のボ リュームフラグ」は 1 です。 −vxxx ファイルを LIF ボリュームにコピーする場合にのみ使用します。このオプションは「ボ リューム番号」を xxx に設定します。デフォルトの「ボリューム番号」は 1 です。 −a このオプションは、ファイルタイプとは関係なく ASCII モードで強制的にコピーしま す。ASCII モードで HP-UX から LIF にコピーする場合、デフォルトのファイルタイプは BINARY (1) です ( 利用できるコピーモードの詳細については lif (4) を参照)。このオプ ションは、LIF から LIF にコピーする場合には何も影響を及ぼしません。 −b このオプションは、ファイルタイプとは関係なく BINARY モードで強制的にコピーしま す。BINARY モードで HP-UX から LIF にコピーする場合、デフォルトのファイルタイプ は BINARY (−2) です (利用できるコピーモードの詳細については lif (4) を参照)。このオ プションは、LIF から LIF にコピーする場合には何も影響を及ぼしません。 −ixxx ファイルを LIF ボリュームにコピーする場合のみ使用します。このオプションは、 LIF ディレクトリエントリーの「インプリメンテーション」フィールドを与えられた引き数 に設定します。引き数値は標準の "C" 表記法を使い、10 進、8 進、または 16 進とするこ とができます。「インプリメンテーション」フィールドは、ファイルタイプ −2001 から −100000 (8進) に対してのみ設定できます。「インプリメンテーション」フィールドは、 すべての交換ファイルタイプおよびファイルタイプ −2 から −200 (8進) に対しては 0 に 設定されます。「インプリメンテーション」値が保護およびレコードサイズに関する LIF ファイルの属性を制御することに注意してください。lifls −l または lifls −i は、ファイル の「インプリメンテーション」値を決定するのに使用できます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-747 lifcp(1) lifcp(1) ファイルタイプとは関係なく RAW モードで強制的にコピーします。RAW モードで HP- −r UX から LIF にコピーする場合、デフォルトのファイルタイプは BIN (−23951) です。−T オプションは、デフォルトのファイルタイプを置き換えます (コピーの各種モードについ ては lif (4) で説明)。−r オプションは、LIF から LIF へのコピー操作においては何も影響 しません。 HP-UX ファイル名を LIF ユーティリティにより受入れ可能な名前に変換します。つま −t り、小文字の英字はすべて大文字に変換され、数値を除くその他の文字はすべてアン ダースコア(_) に変更されます。HP-UX ファイル名が英字以外の文字から始まる場合、 ファイル名の前に大文字のXが付きます。したがって、例えばコロン(:)およびセミコロン (;)という名前の2つのファイルがコピーされた場合、両方ともX_に変換されます。ファ イル名は最大 10 文字で切り捨てられます。LIF ファイルを HP-UX または LIF ファイル にコピーする場合、−t は何も影響を及ぼしません。−t を省略すると、不適当な名前が使 用された場合にエラーが生成されます。 LIF から HP-UX にコピーする際のデフォルトのコピーモードは、以下の表に要約されます。 ファイルタイプ デフォルトのコピーモード ASCII ASCII BINARY BINARY BIN RAW other RAW HP-UX から LIF にコピーする場合、デフォルトのコピーモードは ASCII であり、ASCII ファイルが生成され ます。 オプションを指定しないで LIF から LIF にコピーする場合、すべての LIF ディレクトリフィールドおよびファ イルの内容が、ソースから宛先に複写されます。 LIF ファイル名は、埋め込まれたコロン(:) デリミタにより認識されます (LIF ファイル命名規約については lif (4) を参照)。LIF ディレクトリは後続するコロンにより認識されます。コロンを含む HP-UX ファイル名を使 用する場合、コロンは2つのバックスラッシュ文字 (\\) でエスケープしなければなりません (シェルはそのど ちらかを削除します)。 ファイル名 − (ダッシュ) は、引き数リストにおけるその位置に応じて、標準入力または標準出力として解釈さ れます。データが標準でない変換を必要とする場合、これは特に便利です。標準入力からコピーする場合、そ の他の名前が見つからなければ名前 "STDIN" が使用されます。 LIF ファイル命名規約は LIF ユーティリティにのみ有効です。ファイル名の展開はシェルによって行われるた め、この機構は LIF ファイル名の展開には使用できません。 lifcp を使用している間はスペシャルファイルをマウントしないでください。 Section 1-748 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lifcp(1) lifcp(1) 診断 ファイルが正常にコピーされると、lifcp は終了コード 0 を戻します。それ以外の場合、診断をプリントして0 以外の値を戻します。 例 HP-UX ファイル abc を、 LIF ボリュームとなるよう初期化された、実際に HP-UX ファイルである LIF ボ リューム lifvol の LIF ファイル CDE にコピーします。 lifcp abc lifvol:CDE カレントディレクトリの HP-UX ファイルすべてを、親ディレクトリにある LIF ボリューム lifvol にコピーし ます。ファイル名は適切な LIF ファイル名に変換されます。 lifcp −t ∗ ../lifvol: カレントディレクトリの HP-UX オブジェクトファイルすべてを、LIF ボリューム lifvol にコピーします。コ ピーモードは RAW であり、LIF ファイルタイプは −5555 に設定されます。 lifcp −r −T −5555 −t ∗.o lifvol: カレントディレクトリのオブジェクトファイルすべてを、LIF ボリューム lifvol にコピーします。コピーモー ドは BINARY であり、LIF BINARY ファイルが生成されます。 lifcp −r −T 0xffffe961 −i 0x20200080 bdat lifvol:BDAT BDAT ファイルを BASIC ワークステーションから HP-UX LIF ボリューム lifvol にパスワードなしでコピーし ます。 −i が保護およびレコードサイズ属性を制御する点に注意してください。BDAT ファイルのファイルタイ プは −5791 (または、0xffffe961) であり、そのレコードサイズは1レコードにつき 256 バイトです。 lifcp −b ∗.o lifvol: カレントディレクトリのファイルすべてを、root ディレクトリの LIF ボリューム lifvol にコピーします。コ ピーモードは RAW であり、LIF ファイルタイプは BIN に設定されます。 lifcp −r −t ∗ /lifvol: ファイル abc: を lifvol の LIF ファイル CDE にコピーします。 lifcp abc\\: lifvol:CDE ファイル abc および def を、lifvol 内の LIF ファイル ABC および DEF にコピーします。 lifcp −t abc def lifvol: lifvol 内の LIF ファイル ABC を、カレントディレクトリ内のファイル ABC にコピーします。 lifcp lifvol:ABC . 標準入力を、LIF ボリューム /dev/dsk/c0t6d0 の LIF ファイル A_FILE にコピーします。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-749 lifcp(1) lifcp(1) lifcp − /dev/dsk/1s2:A_FILE lifvol の LIFファイル ABC を、/dev/dsk/c0t6d0 の LIF ファイル CDE にコピーします。 lifcp lifvol:ABC /dev/dsk/c0t6d0:CDE pr の出力を LIF ファイル ABC にコピーします。 pr abc | lifcp − lifvol:ABC pr の出力を LIF ボリューム lifvol にコピーします。ファイル名が指定されないため、LIF ファイル STDIN が 生成されます。 pr abc | lifcp − lifvol: lifvol の LIF ファイル ABC を standard output にコピーします。 lifcp lifvol:ABC − カレントディレクトリのファイルすべてを、LIF ボリューム lifvol の同じファイル名の LIF ファイルにコピー します (カレントディレクトリのファイル名が LIF の命名規約に従っていない場合、エラーが発生する場合が あります)。 lifcp ∗ ../lifvol: 制約 シリーズ700/800 次のオプションもサポートしています。 −Knnn 各ファイルをボリュームの先頭から nnn × 1024 バイト境界の先頭へコピーさせます。 700/800 シリーズのブート媒体に対してファイルを使用するとき便利です。LIF ボリュー ムからコピーする場合、このオプションは効果ありません。 著者 lifcp は、HP で開発されました。 参照 lifinit(1), lifls(1), lifrename(1), lifrm(1), lif(4) Section 1-750 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 lifinit(1) lifinit(1) 名称 lifinit − LIF ボリュームヘッダのファイルへの書き込み 構文 lifinit [-vnnn ] [-dnnn ] [-n string ] [-snnn ] [-lnnn ] [-ennn ] file 説明 lifinit は LIF ボリュームヘッダを、ボリュームまたはファイルに書き込みます。 オプション lifinit は、任意の順序で指定可能な以下のオプションおよびコマンド行の引き数を認識します。 -vnnn ボリュームサイズを nnn バイトに設定します。nnn が 256 の倍数でなければ、それに近い 倍数に切り捨てられます。 -dnnn ディレクトリサイズを nnn ファイルエントリーに設定します。nnn が 8 の整数倍数でなけ れば、それに近い次の倍数に切り上げられます。 -n string ボリューム名を string に設定します。-n オプションを指定しなければ、ボリューム名は file によって指定されるパス名の、最後の構成要素に設定されます。使用可能な LIF ボ リューム名の長さは6文字であり、大文字英字 (A-Z)、数字 (0-9) およびアンダースコア (_) に制限されます。この最初の文字は (もしあれば)、英字でなければなりません。ユー ティリティは自動的に変換を行って、使用可能な LIF ボリューム名を作成します。した がって、小文字英字はすべて大文字に変換され、数値およびアンダースコアを除くその他 の文字は、すべて大文字 X に置き換えられます。ボリューム名が英字から始まらない場 合、ボリューム名の前には、大文字 X が付きます。また、ボリューム名が、6文字よりも 長いときはその文を切捨て、そうでなければ右側にスペースを埋めて6文字とします。-n を string と併用しなければ、デフォルトボリューム名は6つのスペースに設定されます。 -snnn ボリュームラベルにおいて、初期システムローダー (ISL) 開始アドレスを nnn に設定しま す。これは、シリーズ 700/800 システム用のブートメディアを構築する際に有効です。 -lnnn LIF ボリュームの中の ISL コードの長さをバイト数で指定します。 -ennn ISL エントリーポイントを ISL の先頭から nnn バイトの位置に設定します。例えば、 -e3272 と指定した場合、ISL エントリーポイントは ISL オブジェクトモジュールの先頭か ら 3272 (10 進数) バイトの位置になります。 -Knnn ディレクトリ開始位置がボリュームの先頭から nnn × 1024 バイトの位置になるように強制 します。これは、シリーズ 700/800 システムを LIF メディアからブートする場合に必要で す。 file がなければ、通常の HP-UX ディスクファイルが作成されて初期化されます。 ボリュームサイズのデフォルト値は、通常のファイルの場合には 256 K バイト、デバイスファイルの場合には デバイスの実際の容量です。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-751 lifinit(1) lifinit(1) デフォルトディレクトリサイズはボリュームサイズの関数です。ボリュームサイズのパーセンテージは、以下 のようにボリュームディレクトリに割り当てられます。 ボリュームサイズ ディレクトリサイズ < 2MB ˜1.3% > 2MB ˜0.5% 各ディレクトリエントリーは、32 バイトの記憶領域を占有します。実際のディレクトリスペースは、上記の丸 め規則に従います。 lifinit を使用する際は特殊ファイルをマウントしないでください。 戻り値 ボリュームの初期化が正常終了すると、lifinit は終了コード 0 を戻します。そうでなければ、診断メッセージ をプリントし、非ゼロを戻します。 例 ファイル x を初期化して、ボリュームサイズが 500 000 バイトでディレクトリサイズが 10 ファイルエントリー の LIF ボリュームにします。 lifinit -v500000 -d10 x デフォルトの初期化条件を使用して、デバイス /dev/rdsk/c0t6d0 を LIF ボリュームとして初期化します (デバイ スはマウントされたファイルシステムデバイスであってはいけません)。 lifinit /dev/rdsk/c0t6d0 警告 メディアを破損しないようにするには、実行が開始されたら lifinit を終了させないでください。 著者 lifinit は、HP で開発されました。 参照 lifcp(1), lifls(1), lifrename(1), lifrm(1), lif(4) Section 1-752 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lifls(1) lifls(1) 名称 lifls − LIFディレクトリの内容のリスト 構文 lifls [ option ] name 説明 lifls は標準出力に LIF ディレクトリの内容をリストします。標準出力がキャラクタ型スペシャルファイルなら ば、デフォルトの出力フォーマットは、(ソートされ分類できない点を除いて、 ls(1) と同様に)マルチカラムで ファイル名をリストします。標準出力がtty装置でなければ、出力フォーマットは1行につき1つのファイル名で す。 name は、 LIF ボリュームおよびオプションファイル名を含む HP-UX ファイルに対するパス名です。 name がボリューム名ならば、ボリューム全体がリストされます。 name が volume: file の形式ならば、ファイ ルだけがリストされます。以下のオプションが利用できますが、1回のコマンドには1つのオプションのみを指 定してください。 -l 長いフォーマットでリストして、ボリューム名、ボリュームサイズ、ディレクトリの先頭、 ディレクトリサイズ、ファイルタイプ、ファイルサイズ、ファイルの先頭、「インプリメン テーション」フィールド(16進で)、作成日、最終のボリューム、およびボリューム番号を与え ます。 -C 標準出力のタイプとは関係なく、マルチカラム出力フォーマットを強行します。 -L 10進で「最終のボリュームフラグ」の内容を戻します。 -i 16進で「インプリメンテーション」フィールドの内容を戻します。 -v 10進で「ボリューム番号」の内容を戻します。 -b blist DEV_BSIZE ユニット内のコンマで区切られたブロック番号のリスト blist で指定したブロッ ク番号を使用して、ファイルのみにレポートします。 lifls を使用する際は、スペシャルファイルをマウントしないでください。 診断 ディレクトリが正常にリストされた場合、 lifls は0を戻します。そうでない場合診断をプリントし、0でない値 を戻します。 例 lifls -C /dev/rdsk/c0t6d0 著者 lifls はHPで開発されました。 参照 lifcp(1), lifinit(1), lifrename(1), lifrm(1), lif(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-753 lifrename(1) lifrename(1) 名称 lifrename − LIFファイルの名称変更 構文 lifrename oldfile newfile 説明 oldfile は、名称変更するファイル( 例えば、 liffile:A_FILE) の完全な LIF ファイル指定子です( 詳細について は、 lif (4) を参照)。 newfile は、ファイル(ファイル名部分のみ)に与えられる新規の名前です。この操作は、 コピーまたは削除を含みません。古いファイル名は、そのファイル名が正当な LIF 名でない場合でも、名称変 更されるファイル名に一致しなければなりません。 lifrename を使用する際は、スペシャルファイルをマウントしないでください。 診断 ファイル名が正常に変更されると、 lifrename は0を戻します。そうでなければ、それは診断をプリントし、0 でない値を戻します。 例 lifrename liffile:A_FILE B_FILE lifrename /dev/dsk/c0t6d0:ABC CDE 著者 lifrename はHPで開発されました。 参照 lifcp(1), lifinit(1), lifls(1), lifrm(1), lif(4) Section 1-754 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 lifrm(1) lifrm(1) 名称 lifrm − LIFファイルの削除 構文 lifrm file1 ... filen 説明 lifrm は単一または複数のエントリーを、 LIF ボリュームから削除します。ファイル名指定子は lif (4) に説明が あるものです。 lifrm を使用する際は、スペシャルファイルをマウントしないでください。 診断 ファイルが正常に削除されると、 lifrm は0を戻します。そうでなければ、診断をプリントし、0以外を戻しま す。 例 lifrm liffile:MAN lifrm /dev/rdsk/c0t6d0:F 著者 lifrm はHPで開発されました。 参照 lifcp(1), lifinit(1), lifls(1), lifrename(1), lif(4) HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-755 line(1) line(1) 名称 line − ユーザー入力から1行の読出し 構文 line [-t timeout ] 説明 line は、1行(改行まで)を標準入力からコピーし、それを標準出力に書き出します。 EOF があると終了コード1 を戻し、つねに少なくとも1つの改行をプリントします。このコマンドは、シェルファイルでユーザーのター ミナルから読み取るのによく使います。 オプション line は次のコマンド行オプションを認識します。 -t timeout timeout が整数値である timeout 秒後のタイムアウト(非整数値を指定した場合は、整数に 変換されます。つまり、切り捨てられます)。空白は -t と timeout 引き数の間に必要で す。このオプションは、 POSIX およびその他の業界標準でドキュメント化されていない ため、移植性を考慮したアプリケーションでは使用しないでください。 多言語化対応 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 シェルスクリプトにおける次の行では、ファイル名を入力するように求め、このファイルに関する情報を表示 します。 echo ’Enter file name: \c’ reply=‘line‘ ls -l $reply 応答時間を10秒に制限するには、以下の形式を使用してください。 reply=‘line -t 10‘ 次に、応答がないかどうかテストします。タイムアウトが満了となる前に応答がなければ、デフォルトの動作 を与えます。 参照 sh(1), read(2) 警告 このコマンドは、X/Open標準から廃止されます。このコマンドを使用しているアプリケーションは、異機種の システムへは移植できない可能性があります。代替コマンドとして read を推奨します。 Section 1-756 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 line(1) line(1) 標準準拠 line: SVID2, SVID3, XPG2, XPG3 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-757 listusers(1) listusers(1) 名称 listusers − ユーザーログインデータの表示 構文 listusers [ [-b|-c] -g groups] [-l logins] [-r local|nis] 説明 listusers コマンドは、ユーザーログインに関するデータを表示します。出力は、ユーザーログインと、 /etc/passwd コメントフィールド値( ユーザー名や場所など) を示すものです。デフォルトでは、すべてのユー ザーログインに関するデータが表示されます。 オプション listusers コマンドは次のオプションをサポートします。 一次グループとして groups を持つユーザーだけを表示します。 -g オプションと一緒 -b に使用します。 補足グループとして groups, を持つユーザーだけを表示します。 -g オプションと一緒 -c に使用します。 -g groups groups に属する全ユーザーを、ログインでソートして表示します。コンマで区切った リストで、複数のグループを指定することができます。 -l logins 要求された logins を表示します。コンマで区切ったリストで、複数のログインを指定 することができます。 -r local | nis NIS( nis )あるいは local ユーザーのどちらかの保管場所に所属するユーザーのみを 表示します。 ユーザーログインには、100以上の UID がついています。 -l オプションと -g オプションを組み合わせると、指定されている複数のグループにそのログインが属していて も、ユーザーログインは1回だけしか表示されません。 例 すべてのユーザーログインをリストします。 listusers グループ cmds およびユーザー bob, john, otto のすべてのユーザーログインを、重複を避けてリストします。 listusers -g cmds -l bob,john,otto 一次グループとして cmds を持つすべてのユーザーをリストします。 listusers -b -g cmds 補足グループとして cmds を持つすべてのユーザーをリストします。 Section 1-758 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 listusers(1) listusers(1) listusers -c -g cmds ローカル ユーザーログインのみを表示します。 listusers -r local NIS ユーザーログインのみを表示します。 listusers -r nis ファイル /etc/passwd /etc/group 参照 passwd(1), logins(1M), passwd(1M), group(4), passwd(4) 標準準拠 listusers: SVID3 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-759 ln(1) ln(1) 名称 ln − ファイルとディレクトリのリンク 構文 ln [−f] [−i] [−s] file1 new_file ln [−f] [−i] [−s] file1 [ file2]... dest_directory ln [−f] [−i] [−s] directory1 [directory2]... dest_directory 説明 ln コマンドは、以下のリンクを実行します。 • file1 を、新規または既存の new_file へリンクします。 • file1 を既存の dest_directory で指定された、新規または既存の file1 ファイルへリンクします。 • file1, file2, ... を既存の dest_directory にある、同じ名前の新規または既存のファイルへリンクしま す。 • directory1, directory2, ... を、既存の dest_directory にある同じ名前の新規ディレクトリへリンクしま す。 • または、ファイル間またはディレクトリ間でシンボリックリンクを作成します。 リンク先が dest_directory の場合、そのディレクトリにおける対応するファイルまたはディレクトリ名は、file1, file2, ..., に、または directory1, directory2, ..., に、またはその他に適宜リンクされます。 2つ以上の既存のファ イルまたはディレクトリ(宛先ファイル名 new_file を除いて)を指定する場合は、宛先はディレクトリでなけれ ばなりません。 new_file がすでに通常ファイル(または別ファイルとのリンク)として存在するならば、−f オプ ションを指定した場合に限って、その内容(または既存のリンク)およびその ACL は破壊されます。リンク後の new_file における ACL は、source_file ファイルと同じです。 −f および −i オプションを指定し、作成するリンクが既存のリンクまたは通常のファイル名で、しかもファイ ルのアクセスパーミッションが書き込み禁止であれば、ln はファイルをオーバライトしてもよいか尋ねます。 ディレクトリのアクセスパーミッションが書き込み禁止であれば、ln は、(ファイルが通常ファイルで、別の ファイルへのリンクでなくても)エラーメッセージ cannot unlink new_file を表示して打ち切り、終了します。既存のファイルまたはリンクを、オーバーライトしてもよいか尋ねる ln は、モード (chmod(2) および以下の アクセス制御リストを参照) をプリントし、次に現在の母国語で yes およ び no ワードの最初の1文字を続けて、応答のためのプロンプトを表示し、標準入力から1行を読み出します。 もし応答が肯定的で許可されたものであれば、処理が行われます。そうでない場合、コマンドは、もしあれば 次のソースファイルに進みます。 ハードリンクは、リンク先のファイルまたはディレクトリファイルと同じ所有権、およびパーミッションで作 成されます。所有権またはパーミッションがリンク、ファイル、またはディレクトリに対して変更されると、 Section 1-760 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 ln(1) ln(1) 同様な変更が対応するハードリンクにも行われます。 ln コマンドはディレクトリへのハードリンクを許可しま せん。 シンボリックリンクは、作成者の所有権で作成され、そのパーミッションは、作成者の現在のumaskに基づき ます。いったん作成されると、システムはシンボリックリンクのモードと所有権を無視するので、シンボリッ クリンクの所有権とパーミッションは変更されません。 file1 がファイルで、new_file が既存のファイル、または他とリンクを有する既存のファイルの場合、new_file は、既存のファイルおよびリンクから引き離され、file1 にリンクされます。 ln が新規または既存のファイル 名へのリンクを作成するとき、所有権およびパーミッションはつねにリンク先ファイルのものと同じです。 chown 、chgrp 、または chmod をファイル、またはリンクの所有権、またはパーミッションを変更するのに使 用すると、変更はファイルおよびすべての対応するリンクに適用されます。ファイルおよびすべての対応する リンクの最後の修正時刻、および最後のアクセスタイムは同じです (chown(1) 、chgrp(1) 、および chmod(1) を 参照)。 シンボリックリンクの説明については、symlink(4) を参照してください。 オプション ln コマンドが認識するオプションは以下のとおりです。 −f −i リンクを許可するため、既存の宛先パス名を削除します。 プロンプトを標準エラー出力に書き出し、既存のファイルをオーバライトする各リンクごと に確認を要求します。 −f オプションと合わせて使用した場合に限って、このオプションは有 効になります。 −s ln は、通常のハードリンクではなく、シンボリックリンクを作成します。シンボリックリン クの内容は、リンク先ファイルの名前です。参照されるファイルは、open() 操作がリンクに 行われたときに使用されます (open(2) を参照)。シンボリックリンクへの stat() は、リンク先 ファイルを戻します。リンクに関する情報を得るには、lstat() を実行しなければなりません (stat(2) を参照)。 readlink() 呼び出しを使用して、シンボリックリンクの内容を読み込むこと ができます。(readlink(2) を参照)。シンボリックリンクは、複数のファイルシステムにまたが ること、およびディレクトリを参照することが可能です。 アクセス制御リスト(ACL) オプションの ACL エントリーが new_file に関連付けられている場合、ln は、ファイルのオーバライトの許可 を要求する際、アクセスモードの後に、プラス符号 (+) を表示します。 new_file が新規ファイルならば、file1 のアクセス制御リストを継承して、2ファイル間の所有権の違いを反映 するように変更されます (acl(5) および aclv(5) を参照)。 JFS ファイルシステムでは、ln を使って新たに作成 したファイルは、それらの親ディレクトリのデフォルトの ACL エントリ (どのようなものであっても) を継承 しません。その代わりに、それらのファイルの元々の ACL を維持します。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-761 ln(1) ln(1) 多言語化対応 環境変数 LC_CTYPE により、テキストをシングルバイトおよびマルチバイト、またはそのいずれかの文字で解釈する かを決定します。 LANG および LC_CTYPE は (yes/no 問合わせ用に) y と等価なローカル言語を決定します。 LANG により、メッセージの表示に使用する言語を決定します。 LC_CTYPE が環境において指定されていないか、空の文字列が設定されている場合には LANG の値が、それ ぞれの未指定または空の変数のデフォルトとして使用されます。 LANG が指定されていないか、空の文字列が 設定されている場合には、LANG ではなく C (lang(5) を参照) がデフォルトとして使用されます。多言語対応 変数のいずれかの設定が不適当な場合には、ln はすべての多言語対応変数が C に設定されているものとして 動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 以下のコマンドは、オリジナルファイル file1 および file2 に再びリンクされる、file1 、および file2 を dest_dir に作成します。 ln −f file1 file2 dest_dir file1 または file2 またはその両方が宛先ディレクトリに存在した場合、そのファイルは削除され、それぞれ file1 または file2 へのリンクで置き換えられます。既存のファイル file1 または file2 が、別のファイルへのリン クまたはリンク付きのファイルである場合、既存のファイルは残ります。リンクだけが破壊され、file1 または file2 への新規リンクで置き換えられます。 警告 ln は複数のファイルシステム間でハードリンクを作成しません。 制約 NFS ネットワーク化ファイルのアクセス制御リストは(stat() によって st_mode で戻されるように) 要約されます が、新規ファイルにはコピーされません。そのようなファイルで ln を使用する際、ファイルのオーバライトの 許可を要求する際のモード値の後に、+ はプリントされません。 著者 ln は、AT&T、カリフォルニア大学バークレー校、および HP で開発されました。 Section 1-762 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 ln(1) ln(1) 参照 cp(1), cpio(1), mv(1), rm(1), link(1M), readlink(2), stat(2), symlink(2), symlink(4), acl(5), aclv(5) 標準準拠 ln: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-763 locale(1) locale(1) 名称 locale − ロケール固有の(NLS)情報の取得 構文 locale [ -a [ 32 | 64 ] -A -m ] locale [ -ck ] name ... locale [ -pa32 ] [ -pa64 ] 説明 locale コマンドは現在のロケールまたは利用可能なロケールに関する情報を表示します。 引き数なしで起動すると、 locale はロケールに関連した各環境変数の名前と実際のまたは暗黙の値を、次に示 す順序で1行に1つずつ表示します。 LANG LC_CTYPE LC_COLLATE LC_MONETARY LC_NUMERIC LC_TIME LC_MESSAGES LC_ALL 実際の値は、ユーザーの環境で変数に実際に入っている値です。暗黙の値は、別の変数の値から得られる値で す。暗黙の値は二重引用符で囲んで表示されます。実際の値には引用符がありません。 暗黙の値は、変数 LC_ALL が存在しヌルでない値を持つ場合、それが LC_ALL の実際の値となり、他の変数 はすべてこの値を暗黙の値として受け取るという方法で決定されます。 LC_ALL が設定されていない場合に は、設定されているすべての LC_* 変数が、実際の値としてその変数値で示されます。値を持たない変数は、 暗黙の値として LANG 環境変数の値で示されます。値がなければ LC_ALL は LC_ALL=\n として表示されま す。 LC_ALL にヌルあるいは無効な文字列が設定されている場合は、すべての LC_* 変数にはデフォルトロ ケール"C"が設定されます。 LC_ALL の値は環境変数 LC_* と LANG の値に優先します。 LC_* 環境変数が未定義の場合は LANG がデ フォルトとなります。詳しくは、 catopen(3C) を参照してください。 locale コマンドには複数の引き数を指定することができ、引き数にはロケールカテゴリ名、ロケールキーワー ド、または特殊ワード charmap があります (ロケールキーワードおよびcharmapについては、 localedef (1M) を 参照してください)。引き数がキーワードの場合、現在の環境でそのキーワードに対応する値と、選択されたオ プションに応じてその他の情報が表示されます。引き数がカテゴリ名 (つまり LC_*) ならば、そのカテゴリで 定義されているすべてのキーワードの値が表示されます。引き数が特殊ワード charmap ならば、現在のロケー ルの定義で使用されたcharmapファイル (ある場合) が表示されます。 プリント不能文字は、16進数値として形式 Section 1-764 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 locale(1) locale(1) \xhh でプリントされます。ただし、別のエスケープ文字がそのロケールで定義されていれば、"\"の代わりにその文 字が表示されます。 オプション 以下のオプションを指定することができます。 -a 使用可能なロケールをすべてリストします。これらは、 LANG またはシステム上の任意の LC_* 変数に割り当て可能な意味のある値で、システムにインストールされているロケール によって異なります。 PA-RISC システムのデフォルトでは、 /usr/lib/nls/loc/locales の中の ロ ケー ル が リ ス ト さ れ ま す。 Itanium(R) ベー ス シ ス テ ム で は デ フォ ル ト で、 /usr/lib/nls/loc/hpux32/locales の中のロケールがリストされます。このオプションには、32 (ILP32、32 ビット int、long、ポインター、32 ビットオフセットの場合) または 64 (LP64、 64ビット long、ポインター、64 ビットオフセットの場合) を引き数として指定します。 -a PA-RISC システムおよび Itaniumベース システムで 32 ビットのロケールを表示 します。 -a 32 PA-RISC システムおよび Itaniumベース システムで 32 ビットのロケールを表示 します。 -a 64 64 ビットシステムで 64 ビットのロケールのみを表示します。 32 ビットシステ ムで実行すると、エラーメッセージが返されます。 -A システム上で利用可能な Itaniumベース システム 32 ビットロケール、Itaniumベース システ ム 64 ビットロケール、PA-RISC 32 ビットロケール、および PA-RISC 64 ビットロケールを リストします。 -m システム上で使用可能な charmap ファイルのリストが表示されます。 charmap ファイルの 定義と使用法については、 localedef (1M) を参照してください。 -c 明示的にまたはその中に含まれているキーワードを指定することによって選択された、ロ ケールカテゴリの名称を表示します。このオプションは、 -k オプションとともに使用でき ます。 -k 明示的にまたはそれを含むカテゴリを引き数として指定することによって選択された、 キーワードの名称を表示します。キーワード名と値は次のように表示されます。 <keyword>=<value> -k オプションを指定しないと、値だけが表示されます。このオプションは、 -c オプション とともに使用できます。 -pa32 32 ビット PA-RISC ロケールを表示します。 (このオプションは、Itaniumベース システムで だけ利用可能です。) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-765 locale(1) locale(1) -pa64 64 ビット PA-RISC ロケールを表示します。 (このオプションは、Itaniumベース システムで だけ利用可能です。) name ロケールのカテゴリ名、ロケールのキーワード、特殊ワード charmap のいずれかを指定し ます。 多言語化対応 環境変数 LANG は、設定されていないまたはヌルの国際化変数に対して、デフォルトの値を用意します。 LANG が設 定されていないかヌルの場合には、"C"のデフォルト値 (lang(5) を参照) が使用されます。国際化変数のいずれ かに無効な設定値が入っていると、 locale はすべての国際化変数が"C"に設定されているものとして動作しま す。 environ(5) を参照してください。 LC_ALL は、空でない文字列値に設定されていると、他のすべての国際化変数の値をオーバーライドします。 LC_CTYPE は、テキストのシングルバイト/マルチバイト文字の解釈、プリント可能な文字の分類、また正規 表現内の文字クラス式と一致する文字を決定します。 LC_MESSAGES は、標準エラーに書き込まれる診断メッセージと標準出力に書き込まれる情報メッセージの フォーマットおよび内容の設定に使用する、ロケールを決定します。 NLSPATH は、 LC_MESSAGES を処理するメッセージカタログの位置を決定します。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 locale コマンドは以下の値のいずれかで終了します。 要求された情報はすべて見つかり、表示されました。 0 情報を探し出す際、またはそれを表示する際、エラーが発生しました。 >0 例 ロケール環境変数が次のように設定されている場合、 LANG=fr_FR.iso88591 LC_COLLATE=C コマンド locale からは次の出力が得られます。 LANG=fr_FR.iso88591 LC_CTYPE="fr_FR.iso88591" LC_COLLATE=C LC_MONETARY="fr_FR.iso88591" Section 1-766 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 locale(1) locale(1) LC_NUMERIC="fr_FR.iso88591" LC_TIME="fr_FR.iso88591" LC_MESSAGES="fr_FR.iso88591" LC_ALL= コマンド LC_ALL=POSIX locale -ck decimal_point は次の出力を生成します。 LC_NUMERIC decimal_point="." LANG が POSIX に設定され、その他のロケール変数が設定されていなければ、コマンド locale LC_NUMERIC は次の出力を生成します。 "." "" "" これは、キーワード decimal_point, thousands_sep, grouping, alt_digit に対応します。 参照 localedef(1M), catopen(3C), localeconv(3C), nl_langinfo(3C), setlocale(3C), charmap(4), localedef(4), environ(5), lang(5) 標準準拠 locale: XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-767 lock(1) lock(1) 名称 lock − ターミナルの予約 構文 lock 説明 lock はユーザーにパスワードを要求します。それから LOCKED をターミナルにプリントし、パスワードが繰 り返されるまで、ターミナルの使用撤回を拒否します。ユーザーがパスワードを忘れた場合は、他の場所でロ グインし、ロックプロセスを終了させることによってのみ復帰できます。 Section 1-768 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 logger(1) logger(1) 名称 logger − システムログのエントリー作成 構文 logger [-t tag] [-p pri] [-i] [-f file] [message ... ] 説明 logger は syslog() システムログ モジュールへのプログラムインタフェースを提供します( syslog(3C) を参照)。 メッセージは、コマンド行で与えることができ、即座にログされるか、またはファイルが読み込まれ、それぞ れの行がログされます。 file または message を指定しなければ、標準入力の内容がログされます。 オプション logger は以下のコマンドオプションおよび引き数を認識します。 -t tag 指定された tag があるログの各行をマークします。デフォルトは getlogin() によって 戻される値です。 (getlogin(3C) を参照)。 getlogin() が NULL を戻す場合、 syslog が デフォルトとなります。 -p pri 指定してある優先順位でメッセージを入力します。優先順位は、数で指定するか、ま たは facility.level ペアとして指定できます。例えば、 -p local3.info は local3 機能で informational レベルとして、単一または複数のメッセージをログします。デフォルト は user.notice です。 -i それぞれの行でのloggerプロセスのプロセス ID をログします。 -f file 指定ファイルの内容をログします。 message ログするメッセージで、指定しなければ、 -f オプションによって指定されたファイ ル、または標準入力がログされます。 多言語化対応 環境変数 LC_MESSAGES により、メッセージの表示する言語を決定します。 現在使用している環境において、 LC_MESSAGES が指定されていない場合、または、空の文字列が指定され ている場合、 LANG の値がその変数のデフォルトとして用いられます。 LANG の値が指定されていなかった り、空の文字列だった場合、デフォルトの"C"( lang(5)参照) が LANG の値として使われます。 多言語対応変数のいずれかの設定が不適当な場合には、 logger はすべての多言語対応変数が"C"に設定されて いるものとして動作します。 environ(5) を参照して下さい。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-769 logger(1) logger(1) 例 メッセージ System rebooted を syslogd デーモンに送るには以下のように行います。 logger System rebooted users コマンド( users(1) を参照)から syslogd デーモンに、レベル info および機能 local0 でマークして出力を送 るには、以下のように行います。メッセージには文字列 USERS のタグが付けられます。 users | logger -p local0.info -t USERS System going down immediately!!! というメッセージを syslog デーモンに user 機能で emerg のレベルで送りま す。 logger -p user.emerg "System going down immediately!!!" 警告 syslogd デーモン( syslogd(1M) を参照) がシステム上で動作していなければ、 logger は効果がありません。 POSIX/C ロケール以外のロケールで書かれたメッセージはサポートされません。 著者 logger はカリフォルニア大学バークレー校で開発されました。 参照 syslogd(1M), getlogin(3C), syslog(3C) 標準準拠 logger: XPG4, POSIX.2 Section 1-770 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 login(1) login(1) 名称 login − サインオン、ターミナルセッションの開始 構文 login [name [env-var]...] 説明 login コマンドは、各ターミナルセッションの先頭で使用され、ログインしようとしているユーザーを正しく識 別します。 login は、ユーザーコマンドとして、またはログイン接続が確立されるときにシステムによって呼 び出されます。 login は、前のユーザーシェルが終了したときに、ターミナルの接続が切断されないときに も、システムによって呼び出されます。 login をコマンドとして呼び出す場合には、初期コマンドインタプリタ (ユーザーのログインシェル) を login に 置き換えなければなりません。これは、ユーザーシェルから以下のように入力すると行われます。 exec login 次の入力要求によって、ユーザーのログイン名が要求され (コマンド行に指定されていない場合)、対応するパ スワードが取得されます (必要な場合)。 login: Password: ターミナルエコーは、パスワードの記録を書き出さないようにするためにパスワード入力中はオフになります (可能であれば)。アカウントにパスワードがなく、そのアカウントの認証プロファイルがパスワードを必要と する場合には、login は pam_chauthtok() を実行してそのアカウントのパスワードを作成します。 高信頼性システム上では、login は最終的に成功したログイン時間と失敗したログイン時間、およびターミナル デバイスを表示します。標準システムでは、login は最終的に成功したログイン時間と失敗したログイン時間を 表示します。 security(4) の DISPLAY_LAST_LOGIN 属性を参照してください。 機密保護上の予防措置として、インスタレーションによっては、第 2 の「ダイヤルアップ」パスワードが必要 です。これは、ダイヤルアップ接続の場合のみで、メッセージ dialup password: によって要求されます。正常にログインするには、両方のパスワードが正しくなければなりません。ダイヤル アップ機密保護の詳細は、 dialups(4) を参照してください。 パスワードエージングがアクティブな場合には、ユーザーのパスワードが期限切れの可能性があります。この ような場合には、パスワードを変更するために pam_chauthtok() を呼び出すことになります。標準システムで は、ユーザーは、パスワードの変更に成功した後、再度ログインするように要求されます (passwd(1) を参照し てください)。 ログインに3回失敗すると HANGUP シグナルが発行されます。ログインが一定時間 (たとえば、1 分) 以内に 正常終了しなければ、ターミナルの接続は無表示で切断されます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-771 login(1) login(1) ログインが正常終了した後、アカウンティングファイルが更新され、ユーザー ID とグループ ID、グループア クセスリスト、およびワークディレクトリが初期化され、ユーザーのコマンドインタプリタ ( シェル ) が /etc/passwd および /etc/logingroup ファイル中の対応するユーザーエントリーから決定されます (passwd(4) およ び group(4) を参照)。 /etc/passwd に当該ユーザー名に対するシェルの指定がなければ、 /usr/bin/sh がデフォル トとして使用されます。次に、 login はシェルパス名の最後の構成要素の前に - を付けて (たとえば、 -sh また は -ksh) 適切なシェルを fork します。コマンドインタプリタがこのように名前の前に - 符号を付けて呼び出さ れると、シェルは、プロファイル、ログイン、またはその他の初期化スクリプトの実行を含めて、独自の初期 化を行います。 たとえば、ユーザーログインシェルが Kシェル、または POSIX シェルであれば (それぞれ ksh(1)、または shposix(1) を参照)、シェルはプロファイルファイルの /etc/profile および $HOME/.profile があればこれらのファ イルを (またプロファイルファイルの内容に応じて、おそらくその他のファイルも) 実行します。これらのプロ ファイルファイルの内容に応じて、メールファイル中のメールに関するメッセージや前回のログイン以来受信 したメッセージを表示することができます。 コマンド名フィールドが * ならば、エントリーのディレクトリフィールドで指定されたディレクトリに対して chroot() が行われます。その時点で login は /usr/bin/login コマンドや /etc/passwd ファイルを含めて独自のルー ト構造を持つ新しいレベルで再実行されます。 通常のユーザーの場合、基本的な環境変数 (environ(5) を参照) は以下のように初期化されます。 HOME=login_directory LOGNAME=login_name MAIL=/var/mail/login_name PATH=:/usr/bin SHELL=login_shell login_directory、 login_name、および login_shell は、 passwd ファイルエントリーの対応するフィールドから取 り出されます ( passwd(4) を参照)。 スーパーユーザーの場合、 PATH は次のように設定されます。 PATH=:/usr/sbin:/usr/bin:/sbin リモートログインの場合、環境変数 TERM もリモートユーザーのターミナルタイプに設定されます。 環境は、login 実行時または login がログイン名を要求するときのいずれかの時点で、login に追加引き数を指 定することによって、拡張または修正することができます。引き数の形式は、value または varname=value で す。ここで、varname は新しい環境変数名か既存の環境変数名、value はその変数に代入する値です。 最初の形式の引き数 (等号のない形) は、次の形式で入力した場合と同様に環境に入れられます。 Ln = value ここで、 n は 0 から始まる数字で、新しい変数名が必要になるたび 1 ずつ大きくなります。 2 番目の形式の引き数 (等号のある形) は、修正せずに環境に入れられます。 Section 1-772 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 login(1) login(1) 変数名 (Ln または varname) がすでに環境中にある場合は、新しい値が古い値と置き換わります。 ただし、2つの例外があります。変数 PATH および SHELL は変更することができません。これは、制限付き のシェル環境でログインしたユーザーが制限のない二次シェルを生成することがないようにするためです。 login と getty は両方とも単純な 1 文字のエスケープ規約を認識します。文字の前にバックスラッシュをタイプ するとその文字が指定されたとみなされるので、スペースやタブなどを入れることができます。 ユーザー アカウント データベース /etc/utmps は、utmpd デーモン (utmpd(1M) 参照) によって更新されます。 これは、現在ログインしているユーザのデータベースです。 /var/adm/btmps が存在する場合、成功しなかったログインはすべてこのファイルに記録されます。 lastb コマ ンド (last(1) 参照) は、btmps の読み取りアクセス権を持つユーザーに対し、成功しなかったログインの要約を 表示します。 /etc/securetty ファイルが存在する場合、ログイン機密保護が実施されます。たとえば、root ユーザーは、この ファイルにリストされている tty だけに正しくログインできます。制限された tty は、1 行あたり 1 つ、デバイ ス名でリストされます。有効な tty 名はインスタレーションによって異なります。以下に例を示します。 console tty01 ttya1 など この機能によって、通常のユーザーが su コマンドを使用できなくなることはありません (su(1) を参照)。 HP-UX スマートカードによるログイン ユーザーアカウントがスマートカードを使用するように設定されている場合には、そのユーザーパスワードは このカード内に保存されます。このパスワードには、システム上に保存される通常のパスワードと同じ特性が あります。 スマートカードアカウントを使用してログインを行うには、そのカードをスマートカードリーダーに挿入しな ければなりません。ユーザーは、認証中に、パスワードの代わりに PIN (個人識別番号) を入力要求されます。 入力要求は、次のようになります。 login: Enter PIN: 正しい PIN が入力されると、パスワードは自動的にスマートカードから取り出されます。したがって、PIN 以 外にパスワードを覚えておく必要はありません。 誤った PIN が 3回連続して入力されると、このカードはロックされます。ロックの解除を行えるのは、カード の発行者だけです。 保護機能 標準システム上では、次のいずれかに該当するときは login がユーザーのログインを禁止します。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-773 login(1) login(1) • • アカウントのパスワードが期限切れで、ユーザーがパスワードの変更を正しくできなかった場合。 アカウントのパスワードが期限切れで、期限後、指定された日数を経過してもパスワードが変更されな かった場合 (shadow(4) を参照)。 • アカウントの寿命が切れている場合 (shadow(4) を参照)。 高信頼性システムの場合、次のいずれかに該当するときは login がユーザーのログインを禁止します。 • アカウントのパスワードが期限切れで、ユーザーがパスワードを正しく変更できない場合。 • アカウントのパスワードの寿命が切れている場合。 • 前回のログインから現在までの時間が、ログイン間隔として許されている時間を超えている場合。 • アカウントに対して管理ロックが設定されている場合。 • アカウントに対して行われたログインの失敗回数が制限値を超えている場合。 • 端末に対して行われたログインの失敗回数が制限値を超えている場合。 • 端末に対して管理ロックが設定されている場合。 • 端末に使用許可ユーザーリストがあり、当該ユーザーがそれに含まれていない場合。 • 端末に時間制限があり、現在の時間がその期間内でない場合。 高信頼性システムでは、login を使用すると、/etc/securetty が存在していないか、console を含まない場合でも スーパーユーザーはコンソールにログインすることができます。 このコマンドの動作に影響する構成可能な属性の詳細は、 security(4) マンページに記述のあるファイル /etc/default/security を参照してください。現在サポートされている属性は、以下のとおりです。 ABORT_LOGIN_ON_MISSING_HOMEDIR NOLOGIN NUMBER_OF_LOGINS_ALLOWED DISPLAY_LAST_LOGIN AUTH_MAXTRIES ALLOW_NULL_PASSWORD INACTIVITY_MAXDAYS LOGIN_TIMES 多言語化対応 環境変数 HOME ユーザーのホームディレクトリ MAIL メールを探す場所 PATH コマンドを検索するパス SHELL 使用中のコマンドインタプリタ Section 1-774 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 login(1) login(1) TERM ユーザーのターミナルの種類 varname ユーザーが指定した名前付きの変数 Ln ユーザーが指定した名前なしの変数 診断 状況によって、以下の診断が表示される可能性があります。 .rhosts is a soft link パーソナル等価ファイルがシンボリックリンクです。 Bad .rhosts ownership パーソナル等価ファイルの所有者が、ローカルユーザーまたは適切な特権をもつユーザーではありま せん。 Bad group id setgid() が異常終了しました (setuid(2) を参照)。 Bad user id setuid() が異常終了しました (setuid(2) を参照)。 Cannot open password file システム管理者に問い合わせてください。 Locuser too long ここで示された文字列が login の内部バッファーには長すぎます。 Login incorrect ユーザー名およびパスワードが一致しません。 No /usr/bin/login or /etc/login on root サブルートログインコマンドのないサブディレクトリルートにログインしようとしました。つまり、 passwd ファイルエントリーにシェルパス * がありますが、システムはそのホームディレクトリで login コマンドを見つけられませんでした。 No directory システム管理者に問い合わせてください。 No Root Directory 存在しないサブディレクトリにログインしようとしました。つまり、passwd ファイルエントリーに シェルパス * がありますが、システムはそのホームディレクトリに対して chroot() を実行できません でした。 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-775 login(1) login(1) No shell ユーザーシェル (/etc/passwd 中でシェル名がでヌルならば /usr/bin/sh) が exec コマンドで実行できませ ん。システム管理者に問い合わせてください。 No utmp entry. You must exec "login" from the lowest level "sh" シェルの exec 内部コマンドを使用せずに、または初期シェル以外から、login をコマンドとして実行し ようとしました。現在のシェルは終了します。 Remuser too long ここで示された文字列が login の内部バッファーには長すぎます。 Terminal type too long ここで示された文字列が login の内部バッファーには長すぎます。 Unable to change to directory name ユーザーのホームディレクトリに chdir できません。 Your password has expired. Choose a new one パスワードエージングが使用可能になっており、ユーザーのパスワードが期限切れです。 警告 /etc/group が /etc/logingroup にリンクされており、ログインしようとするユーザーの所属するグループがネッ トワーク情報サービス (NIS) によって管理されている場合、応答できる NIS サーバーが存在しなければ、login はサーバーが応答するまで待ちます。 HP-UX 11i Version 3 は、高信頼性システムの機能をサポートする最後のリリースです。 制約 組み込み可能認証モジュール (PAM) PAM は、ユーザー認証、パスワード変更、およびアカウントの有効性チェックに対する Open Group の標準で す。特に、login に関連するすべての関数を実行するために pam_authenticate() が呼び出されます。この中に は、パスワードの取り出し、アカウントの有効性チェック、およびエラーメッセージの表示が含まれます。 pam_chauthtok() は、パスワードの満了中または作成中に呼び出されます。 HP Process Resource Manager オプションの HP Process Resource Manager (PRM) ソフトウェアのインストールと構成が行われている場合、ロ グインシェルはユーザーの初期プロセスリソースグループで開始されます。ユーザーの初期グループが定義さ れていなければ、シェルはユーザーのデフォルトグループ (PRMID=1) で実行されます。 HP PRM の構成方法 については prmconfig(1) 、ユーザーの初期プロセスリソースグループの決定方法については prmconf (4) を参照 してください。 Section 1-776 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 login(1) login(1) 著者 login は、AT&T および HP で開発されました。 ファイル $HOME/.profile パーソナルプロファイル (個人ユーザーの初期化) $HOME/.rhosts リモートログインサーバーのパーソナル等価ファイル /etc/d_passwd ダイヤルアップ機密保護の暗号化パスワード /etc/default/security セキュリティデフォルト構成ファイル /etc/dialups ダイヤルアップ機密保護を必要とする回線 /etc/hosts.equiv パスワードなしでログインできる等価ホストのシステムリスト /etc/logingroup グループファイル — グループアクセスリストの定義 /etc/motd その日のメッセージ /etc/passwd パスワードファイル — ユーザー、パスワード、および一次グループの定義 /etc/profile システムプロファイル (すべてのユーザーの初期化) /etc/securetty ルートログインのできる tty のリスト /etc/shadow シャドウパスワードファイル /etc/utmp ユーザーアカウントデータベース (utmpd(1M) 参照) /tcb/files/auth/*/* 高信頼性システムのパスワードデータベース /var/adm/btmps 成功しなかったログインのヒストリ /var/adm/wtmps ログイン、ログアウト、および日付変更のヒストリ /var/mail/login_name ユーザー login_name のメールボックス 参照 csh(1), groups(1), ksh(1), last(1), mail(1), newgrp(1), passwd(1), sh(1), sh-posix(1), su(1), getty(1M), userstat(1M), initgroups(3C), btmps(4), dialups(4), group(4), passwd(4), profile(4), security(4), shadow(4), utmpd(1M), wtmps(4), environ(5) HP Process Resource Manager 『HP Process Resource Manager User’s Guide』の prmconfig(1), prmconf(4) 組み込み可能認証モジュール (PAM) pam_acct_mgmt(3), pam_authenticate(3), pam_chauthtok(3) HP-UX スマートカードによるログイン scpin(1), scsync(1) HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-777 logname(1) logname(1) 名称 logname − ログイン名の取得 構文 logname 説明 logname はユーザーのログイン名を標準出力に書き出します。ログイン名は getlogin() によって戻される値と 同じです( getlogin(3C) を参照)。 多言語化対応 環境変数 LANG により、診断メッセージの表示に使用する言語を決定します。 ファイル /etc/profile 参照 env(1), login(1), getlogin(3C), logname(3C), environ(5) 標準準拠 logname: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 Section 1-778 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 lorder(1) lorder(1) 名称 lorder − オブジェクトライブラリの順序関係の検出 構文 lorder [ files ] 説明 入力はコマンド行で指定するか、標準入力から読み込まれる単一または複数のオブジェクト、またはアーカイ ブライブラリ files ( ar(1)) を参照) からなります。標準出力はオブジェクトファイル名のペアのリストで、ペア の最初の方のファイルは、2番目のファイルに定義のある外部識別子を参照することを意味しています。出力 を tsort で処理して ld ( tsort(1) および ld(1) を参照) による1パスアクセスに適したライブラリの順序を探し出 すことができます。リンクエディタ ld はアーカイブ形式のアーカイブに対して複数回のパスが可能であり、 アーカイブ構築時に lorder を使用する必要がないことに注意してください。ただし、 lorder コマンドを使用 すると、リンクエディットプロセス時のアーカイブのアクセスが多少効率的になります。 ar によって保守されるシンボルテーブルでは、 ld はアーカイブ中のシンボルおよびファイルにランダムにア クセスできるので、アーカイブライブラリを構築する際に、 lorder を使用する必要はありません( ar(1) を参 照)。 多言語化対応 環境変数 次の国際変数は、 lorder の実行に影響を与えます。 LANG LC_ALL および他の LC_* 環境変数がない場合に、母国語のlocale環境カテゴリ、ローカルカ スタム、およびコード化文字セットを決定します。 LANG を指定しない、または空の文字列 を設定した場合は、デフォルトの C ( lang(5) を参照)が LANG の代わりに使用されます。 LC_ALL すべてのlocale環境カテゴリの値を決定し、 LANG および他の LC_* 環境変数より優先されま す。 LC_COLLATE 文字照合のlocale環境カテゴリを決定します。 LC_CTYPE 文字操作関数のlocale環境カテゴリを決定します。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージの形式および内容に影響を与えるlocale環境を決定 します。 LC_NUMERIC 数値フォーマットのlocale環境カテゴリを決定します。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-779 lorder(1) lorder(1) NLSPATH LC_MESSAGES の処理のメッセージカタログの位置を決定します。 国際変数のどれかが無効な設定を含んでいる場合には、すべての国際変数に C が設定されたものとして、 lorder は、動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 既存の .o ファイルから新規ライブラリを構築します。 ar cr library ‘lorder *.o | tsort‘ オブジェクトが多すぎて、シェルが *.o 拡張子を適切に処理できないようなライブラリを作成するときは、以 下のテクニックが有効です。 ls | grep ’.o$’ | lorder | tsort | xargs ar cq library 警告 名前が .o で終了しないオブジェクトファイルは、ライブラリアーカイブに含まれていても見落とされます。グ ローバルシンボルおよび参照は、その他のファイルからとられます。 ファイル /var/tmp/*symref, テンポラリファイル /var/tmp/*symdef 参照 システムツール: ar(1) アーカイブライブラリを作成します。 ld(1) リンクエディタを実行します。 その他: tsort(1) 順序にしたがった項目のリストを生成します(トポロジー的な並び換え)。 標準準拠 lorder: SVID2, SVID3, XPG2, XPG4 Section 1-780 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lp(1) lp(1) 名称 lp, lpalt, cancel − LP宛先へのプリント/変更/取消しの要求 構文 lp [-c] [-ddest] [-m] [-nnumber] [-ooption] [-ppriority] [-s] [-ttitle] [-w] [ file ...] lpalt id [-ddest] [-i] [-m] [-nnumber] [-ooption] [-ppriority] [-s] [-ttitle] [-w] cancel [id ...] [dest ...] [-a] [-e] [-i] [-uuser] [-f] 説明 lp コマンドは、ファイルをプリントのために待ち行列に入れます。 lpalt コマンドは、待ち行列に入っている 要求の情報を変更します。 cancel コマンドは、待ち行列に入っている要求を削除します。 lp コマンド lp コマンドは、指定されたファイル ( file ...) および関連情報(これらをまとめて「要求」と呼びます) を、LP ( ラインプリンタ) サブシステム内の宛先に出力するための待ち行列に入れます。この処理は、実際の出力装置 とは無関係にプリントと呼ばれます。 lp は、各要求に固有の識別子を対応付けて、それを次のメッセージを用いて標準出力に書き出します。 出力要求 ID は dest-シーケンス番号 (ファイル情報) 出力要求 ID は dest-シーケンス番号で、これを使用して後から要求のステータスを変更、取消し、または検索 することができます(下記の lpalt と cancel 、また lpstat(1) を参照)。 例えば次のメッセージでは、 出力要求 ID は pr47lf8e-2410 (1 ファイル) 出力要求 ID は pr47lf8e-2410 です。 lp のオプションと引き数 lp は以下のオプションと引き数を認識します。キーレターオプションは、任意の順序で指定することができま す。ファイル名( file ...) は最後に指定しなければなりません。 file ... 指定された各ファイルをプリントします。ファイル名を指定しない場合には、標準入力が使用 されます。ハイフン (-) も標準入力を指定し、コマンド行上でファイル名と合わせて指定する ことができます。 2つ以上の - が指定された場合、2つ目以降は無視されます。ファイルは、 指定したとおりの順序でプリントされます。最大 832 のファイルを指定できます。 -c 指定されたファイルを、LPサブシステム スプールディレクトリにコピーします。 通常、ファイルはスプールディレクトリにリンクされます。ファイルがリンクされても、ファ イルの所有権とモードは変化しません。 -c オプションを指定した場合、またはリンクが不可 能な場合 (おそらく、ファイルがスプールディレクトリと異なるファイルシステム上にあるた め) には、ファイルはスプールディレクトリにコピーされます。コピーの所有権とモードは、 所有者 lp に読み取りと書き込みアクセスが、グループ lp に読み取りアクセスが可能になるよ HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-781 lp(1) lp(1) うに設定されます。 ファイルがコピーでなくリンクされている場合には、指定されたファイルに対して要求の後で まだプリントが実行される前に変更が加えられると、その変更はプリント出力に反映されま す。標準入力は常に、リンクではなくコピーされます。 -ddest プリントを行うプリンタまたはプリンタクラスとして、 dest を選択します。 dest がプリンタ の場合、要求は指定したプリンタ上にのみプリントされます。 dest がクラスの場合には、要 求はクラスのメンバーの中で最初に使用可能なプリンタ上にプリントされます。一定の条件( プリンタが使用できない、ファイルスペースが不足している、など)のもとでは、特定の dest に対する要求は受け入れられません( accept(1M) および lpadmin(1M) を参照)。 -d オプションを指定しないと、 dest として環境変数 LPDEST の値が使用されます。この変数 が設定されていないまたは空の場合、環境変数 PRINTER の値が使用されます。この変数が 設定されていないまたは空の場合、デフォルトの待ち行列が使用されます。デフォルトの待ち 行列がない場合、デフォルトの待ち行列が設定されていても空または無効な宛先の場合、 LPDEST が設定されていても無効な値の場合、 PRINTER が設定されていても無効な値の場 合には、 lp はエラーメッセージを出し、要求は待ち行列に入りません。プリンタ名、クラス 名、およびデフォルトの待ち行列は、 LPサブシステム管理者が定義します (lpadmin(1M) およ び lpstat(1) を参照)。 -m 要求がプリントされた後で、ユーザーにメールメッセージを送信します( mail(1) を参照)。デ フォルトでは、プリント要求が正常に終了した場合は、メールは送信されません。 -nnumber number 部の出力をプリントします。このオプションで無効な値が指定された場合、デフォル トの1となります。 -ooption プリンタ固有のオプション option を指定します。 -o オプションを繰り返すことによって、複 数のプリンタオプションを指定することができます。システムでサポートされているプリンタ で使用可能なオプションについては、 /etc/lp/interface ディレクトリ内の、該当するプリンタ 名のインタフェース スクリプトを参照してください。 -p priority プリント要求の優先順位を設定します。 priority は、0 (最低の優先順位)から7 (最高の優先順 位)までの範囲内の値でなければなりません。優先順位は、プリント先のプリンタまたはプリ ンタクラスの次のスプールファイルを lpsched が選択するのに使用されます。優先順位が、そ のプリンタに設定されている最低優先順位の fence より低い場合には、 fenceが低くなるか優 先順位が高くなるまでプリント要求は遅延されます。プリンタ待ち行列のデフォルトは、 lpadmin または lpfence コマンドによって設定されたデフォルトの優先順位です( lpadmin(1M) および lpsched(1M) を参照)。クラス待ち行列のデフォルトは、クラス内のプリンタの中で最 高のデフォルト優先順位をもっているものです。 -s lp から、 " 出力要求 ID は ..." などの標準出力メッセージが出されないようにします。ただ し、エラーメッセージは標準エラーに表示されます。 Section 1-782 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lp(1) lp(1) -ttitle 出力のバナーページに title をプリントします。 title の最大長は79バイトです。 title が79バイ トより長い場合は、79バイトに切り捨てられます。 -w 要求がプリントされた後で、ユーザーのターミナルにメッセージを書き出します。ユーザーが ログインしていない場合、ユーザのターミナルへのメッセージ出力ができない場合 ( mesg(1) を参照)、または(リモートのプリントのために) ユーザーのローカルシステムで rlpdaemon ( rlpdaemon(1M) を参照) が実行中でない場合には、代わりにメールが送信されます。 lpaltコマンド lpalt コマンドは、前の lp コマンドによって出された要求がまだプリント中でなければ、その内容を変更しま す。 (現在プリント中の要求を待ち行列に入れなおすには、 disable コマンド( enable(1) を参照) を使用してプ リンタを停止させてください。) lpaltのオプション lpalt は以下のオプションと引き数を認識します。これらは、任意の順序で指定することができます。キーレ ターとその引き数の間に、空白を入れてはなりません。 id -ddest 変更したい要求を指定します。 id は、 lp または lpalt によって戻される要求 ID です。 指定するプリンタまたはクラス dest への要求を、待ち行列に入れなおします。新しい固有の 要求 ID が、標準出力に書き出されます。 -i ローカル要求だけを変更します。 -m プリント要求が正常に完了した場合に、メールを送信します。 -nnumber プリントの部数を number に変更します。 -ooption プリンタ固有のオプション option を指定します。 -o オプションを繰り返すことによって、複 数のプリンタオプションを指定することができます。この要求 ID に対する以前の lp および lpalt コマンドからは、 -o オプションがすべて削除されます。 -p priority 要求の優先順位を priority に変更します。 -s lpalt から "新しい出力要求 id は ..." などの標準出力メッセージが出ないようにします。ただ し、エラーメッセージは標準エラーに表示されます。 -ttitle 出力のバナーページの title を変更します。 -w 要求がプリントされた後で、ユーザーのターミナルにメッセージを書き出します。ユーザーが ログインしていない場合、ユーザのターミナルへのメッセージ出力ができない場合 ( mesg(1) を参照)、または(リモートのプリントのために) ユーザーのローカルシステムで rlpdaemon ( rlpdaemon(1M) を参照) が実行中でない場合には、代わりにメールが送信されます。 cancelコマンド cancel コマンドは、 lp コマンドによって出された要求を、現在プリント中であっても取り消します。 現在プリント中の要求を取り消すと、そのプリンタは次に使用できる要求をプリントできるようになります。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-783 lp(1) lp(1) cancelのオプションと引き数 cancel は以下のオプションと引き数を認識します。これらは、任意の順序で指定することができます。キーレ ターとその引き数の間に、空白を入れてはなりません。異なるオプションと引き数が混在して指定された場合 は、コマンド行で指定された順序い関係なく、 id ...、 dest ...、 -a、 -e、 -u の順序で処理されます。 id ... 取消す要求を1つ以上指定します。 id は、 lp または lpalt によって戻された要求 ID です。 printer ... 1つ以上のプリンタまたはクラスを指定します。 -a、 -e、 -u のいずれも指定されていない場 合は、それぞれの dest でプリント中の要求が取消されます。この場合は、 dest は、クラスで はなくプリンタである必要があります。 -a、 -e、 -u のいずれかが指定されている場合は、取 消し操作を行う宛先を指定します。この場合、 dest はプリンタまたはクラスであす。 各 dest から、ユーザー自身が所有している要求をすべて削除します。 dest の指定がなく -f が -a 指定されている場合は、システム内のすべての宛先から、ユーザー自身が所有している要求を すべて削除します。所有者は、ユーザーのログイン名と、 lp コマンドが呼び出されたマシン のホスト名によって判別されます。 各 dest のスプール待ち行列から、すべての要求を削除して空にします。 dest の指定がなく -f -e が指定されている場合は、システム内のすべてのスプール待ち行列を空にします。このオプ ションを使用できるのは、適切な特権をもつユーザーだけです。 -i ローカル要求だけを取り消します。 -uuser -uuser 各宛先 dest に対して、ユーザー user が所有している要求をすべて削除します。 dest の 指定がなく -f が指定されている場合は、システム内のすべての宛先から、 user が所有してい る要求をすべて削除します。 -u オプションを繰り返すことによって、複数のユーザーを指定 することができます。このオプションを使用できるのは、適切な特権をもつユーザーだけで す。 -a/-e/-u がシステム内のすべての宛先に対して取消し操作を行うように指示します。 -f プリントの概要 プリンタは、1つまたは2つの宛先の待ち行列からの要求をプリントすることができます。そのプリンタ自身の 待ち行列と、1台以上のプリンタで利用できるオプションのクラス待ち行列です。宛先待ち行列は lpadmin コ マンドによって設定されます。 lp コマンドはユーザーの指示に従って、プリンタまたはクラスの宛先待ち行列 にプリント要求を入れます。 lpsched スケジューラーは、宛先待ち行列の要求に従ってプリンタに指示を出し ます。 accept および reject コマンドは、 lp が宛先待ち行列に要求を入れることができるかどうかを制御しま す。 enable および disable コマンドは、 lpsched が待ち行列に入っている要求をプリンタに送れるかどうかを 制御します。プリンタに2つの待ち行列があって、一方の待ち行列が要求を拒絶している場合、ユーザーはも う一方の宛先待ち行列に要求を出して、その要求をプリントすることができます。 lpstat は、宛先待ち行列と スケジューラーの現在のステータスを報告します。 enable(1)、 lpstat(1)、 accept(1M)、 lpadmin(1M) を参照し てください。 Section 1-784 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 lp(1) lp(1) 多言語化対応 環境変数 LANG は、 LC_ALL および対応する環境変数( LC_ で始まるもの) の両方がロケールを指定していない場合 に、ロケールカテゴリに使用するロケールを決定します。 LANG が設定されていないか、空文字列の場合は、 デフォルトの"C" ( lang(5) を参照)が使用されます。 LC_ALL は、 LANG または LC_ で始まるいずれかの環境変数の設定値で指定されたロケールカテゴリの値を オーバライドするロケールを決定します。 LC_CTYPE は、テキストデータの一連のバイトを文字として解釈する場合のロケールを決定します(例えば、 引き数や入力ファイル内のシングルバイト文字とマルチバイト文字)。 LC_MESSAGES は、メッセージの表示に使用する言語を決定します。 LPDEST は、出力装置または宛先を決定します。 LPDEST 環境変数を設定しないと、 PRINTER 環境変数が 使用されます。 -d dest オプションは、 LPDEST より優先されます。 PRINTER は、出力装置または宛先を決定します。 LPDEST と PRINTER いずれの環境変数も設定しない場 合、デフォルトの待ち行列が使用されます。 -d dest オプションおよび LPDEST 環境変数は、 PRINTER より 優先されます。 多言語化対応変数のいずれかに無効な値が入っている場合には、コマンドはすべての多言語化対応変数が"C" に設定されているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 終了時には次の値が戻されます。 0 >0 正常に終了しました。 エラー状態が発生しました。 例 lp2 という名前のLaserjetプリンタが、 -c オプションで圧縮モードによるプリントを行うよう定義したインタ フェース スクリプトで構成されている場合、 myfile を圧縮モードで lp2 上にプリントするには次のコマンドを 使用します。 lp -dlp2 -oc myfile lp をパイプラインの最後に使用して、前のコマンドの結果をプリントすることができます。これは、フォー マットした出力をプリントする pr コマンド( pr(1) を参照) でよく使用されます。デフォルトのプリンタで、 ファイル .profile をページ形式にフォーマットし、それを3部プリントするには、次のコマンドを使用します。 pr .profile | lp -n3 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-785 lp(1) lp(1) 警告 リモートプリント要求を取消しできるのは、それを要求した lp コマンドを出したシステムから指示した場合だ けです。指定したプリンタで取消し制限機能( lpadmin(1M) を参照)が使用可能になっている場合、このプリン タへの要求をを取消すことができるのは、システム管理者か要求を行ったユーザだけです。 リモートプリント要求を変更できるのは、それを要求した lp コマンドを出したシステムで、システム管理者か 要求を行ったユーザが指示した時だけです。リモートシステムでは、指定した要求がプリント中であれば、そ の変更要求を無視します。 リモートシステムについては、 lpalt は dest および priority を変更することはできません。 宛先の待ち行列とプリント要求に関する情報は、 /var/spool/lp ディレクトリ内の pstatus、 qstatus、 outputq ファイルに保持されます。これらのファイルのデータフォーマットは将来変更される可能性があるので、 LP サブシステム以外のアプリケーションでこれらのファイルを読み込まないでください。 ファイル /etc/lp スプーラー構成データのディレクトリ /etc/lp/interface アクティブLPデバイス インタフェース スクリプトのディレクトリ /usr/lib/lp モデルおよびフォントファイルのディレクトリ /var/adm/lp スプーラーログファイルのディレクトリ /var/spool/lp LPスプーリング ファイル/ディレクトリのディレクトリ 参照 enable(1), lpstat(1), mail(1), slp(1), accept(1M), lpadmin(1M), lpana(1M), lpsched(1M), rcancel(1M), rlp(1M), rlpdaemon(1M), rlpstat(1M) 標準準拠 lp: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 cancel: SVID2, SVID3, XPG4 Section 1-786 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 lpfilter(1) lpfilter(1) 名称 lpfilter: divpage, fontdl, lprpp, plotdvr, printstat, reverse − lpインタフェーススクリプトによって呼び出されるフィル タ 構文 /usr/lbin/divpage [-p -l] [-h -q] [-nFontID ] filename /usr/lbin/fontdl [-nFontID ] [-l] [-p] filename /usr/lbin/lprpp [-i] [-o] [-e] [-lnn ] [-n] [-p] /usr/lbin/plotdvr -l request_id -u username [-e] [-f] [-i] filename /usr/sbin/printstat -l request_id -u username filename /usr/sbin/reverse [-l page_length ] 特記事項 これらのフィルタの構造は現在再検討中です。今後のリリースで差し替えになるか再構成される可能性があり ます。 説明 各種フィルタは、 lp サブシステムが特定のタイプの装置またはデータの特定の動作を得るために使用されま す。このエントリーでは、現在サポートされているフィルタについて説明します。 これらのフィルタのうちのいくつかは、指定された username および filename を使用して、プリントメッセー ジを発したユーザーの位置を判断します。 は、 要 求 の 発 信 元 の シ ス テ ム の hostname filename を 決 定 す る た め に 使 用 さ れ、 そ の 形 式 は [dirname]/d?A nnnhostname または [dirname]/dA nnnnhostname でなければなりません。ただし、 dirname はパス 名ではなくてベース名の親ディレクトリ名にすぎません。 filename は、プリンタのインタフェーススクリプト で $6 に設定されるときにこの要件に適合します。 divpage 1シートあたり複数のページをプリントし、組込みフォントを選択する機能が備わっています。 オプション -p モードをポートレイトに設定します(デフォルト)。 -l モードをランドスケープに設定します。 -h 半ページをプリントします(デフォルト)。 -q 1/4ページをプリントします。 -n FontID フォント番号 FontID を使用します。デフォルトは0です。文字列 ˆ[( FontIDX がプリン タに送られます (文字 ˆ[ はエスケープ (ESC) 文字を表します)。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-787 lpfilter(1) lpfilter(1) fontdl fontdl は filename にあるフォントを、標準出力に接続されたプリンタにダウンロードします。 オプション -n FontID フォントが参照されるID番号を指定します。デフォルトは0です。 -l ランドスケープモードを指定します。デフォルトはポートレイトです。 -p プロポーショナルスペーシングを指定します。デフォルトは固定です。 lprpp これは、バックスペース重ね打ちを水平プリント位置決めで行オーバプリントに変換して、ボールド体プリン トの質を高めるフィルタです。この機能は、重ね打ちをすることによりボールド体プリントを作成できない LaserJetなどのプリンタで必要とされます。 オプション <ANYCHAR> を <ANYCHAR><BACKSPACE>_ に変換して ANYCHAR をイタリック -i 体にします。また、重ね打ちされた( ボールド体) 文字を適切にイタリック体にしま す。次のような「ハッシュ重ね打ち」に対しては正しく機能しません。 <ANYCHAR><BACKSPACE><DIFFERENTCHAR><BACKSPACE>_ -o 奇数番号のページのみをプリントします。両面プリントの場合は -e と併用します。 -e 偶数番号のページのみをプリントします。両面プリントの場合は -o と併用します。 -l nn ページ長を行単位で指定します。 -n または -p を選択しない限り、デフォルトは60で す。上記の場合は66です。 nroff コマンドの出力をプリントするためにnroff モードを指定します。最初の行をプ -n リンタの論理行4に入れて、 1ページあたり66行をプリントします。 pr コマンドから出力をプリントするためにprモードを指定します。最初の行をプリン -p タの論理行3に入れて、 1ページあたり66行をプリントします。 plotdvr HP-GL プロッタフィルタ。このフィルタは "PG" コマンド( ペーパーフィード) のデータを走査します。この データを見つけると、フィルタはそれをデータストリームから取り除き、要求するユーザーにプロッタの用紙 を変更する必要があることを通知します。 オプション -l request_id プリンタ要求 ID を指定します。これはプロット要求に関する各種メッセージで使用 されます。 -u username Section 1-788 要求に関してユーザーと通信するのに使用される要求するユーザーのログイン名 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lpfilter(1) lpfilter(1) -e HP-GL コマンドではなくエスケープシーケンスを使用してプロッタステータスを決定 するように指定します。 -f 用紙変更のために停止せずにプロットします。 "PG" コマンドは、データストリーム から取り除かれず、ユーザーはそれを通知されません。このオプションは、自動ペー ジフィードが可能なプロッタで使用されます。 -i プロッタの初期化を防止します。 printstat ステータスに関して RS232 プリンタに問い合わせ、プリンタの準備が整うまで戻りません。プリンタが off-line、 out of paper または disconnected ならば、この状態が改善されるまで定期的にプリント要求者へ通知さ れます。プリンタがプリントする準備が整うと、このコマンドは終了します。 標準入力と標準出力は両方ともシリアルプリンタ装置に接続しなければなりません。 このプログラムは、 send-status コマンド ˆ[?ˆQ? を使用してステータスを決定します ( 文字 ˆ[ はエスケープ (ESC) または ˆ[ を、 ˆQ は DC1 または ˆQ をそれぞれ表します)。すべてのシリアルプリンタがこのコマンドに 応答するとは限りません。以下の設定でのみ、このコマンドはサポートされます。 プリンタ LaserJet コメント サポートされません LaserJetII サポートされます LaserJetIID HP 26013A モジュールが必要です LaserJetIIP サポートされません LaserJetIII HP 26013A モジュールが必要です LaserJet2000 サポートされません オプション -l request-id ユーザーとの各種通信で使用する要求 ID をプリントします。 -u username 要求に関してユーザーと通信するのに使用する要求するユーザーのログイン名 reverse 標準入力に表示されているデータを逆のページ順序で標準出力にプリントします。このコマンドは最大2000 ページまでを処理することができます。 オプション -l page_length ページ長を行数で指定します。デフォルトは66です。 診断 エラーメッセージおよび診断メッセージは状況に応じて、プリント出力、ユーザーのターミナルに表示される か、またはユーザーにメール転送されます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-789 lpfilter(1) lpfilter(1) 警告 これらのフィルタのインタフェースにはほとんど整合性がありません。 参照 lp(1), lpadmin(1M) 『HP-UX システム管理者ガイド』 Section 1-790 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 lpstat(1) lpstat(1) 名称 lpstat − LP サブシステムのステータス情報のレポート 構文 lpstat [−drst] [−a[list]] [−c[list]] [−o[list]] [−p[list]] [−u[list]] [−v[list]] [−i] [ID]... [dest]... 説明 lpstat は、LP サブシステムの現在のステータスに関する情報を標準出力に書き出します。 引き数がない場合、 lpstat は、ユーザーが lp に対して行なった要求の中で、まだ出力キューにある要求のス テータスを書き出します。 オプション lpstat は、XBD仕様の Section 10.2, Utility Syntax Guidelines をサポートしていますが、例外として、オプション の引き数は省略可能で、引き数を単独の引き数として指定することができません。 以下のオプションの中には、リストを付加することができるものがあります。このリストは、2つの形式のい ずれかで指定します。ひとつは、項目間をコンマで区切った形式。もうひとつは、項目間をコンマ1つまたは 1 つ以上の空白文字で区切って引用符で括った形式です。「例」を参照してください。 リストを指定できるオプションでリストを省略すると、そのオプションに関係のある全情報が標準出力に書き 出されます。例: lpstat −o まだ出力キュー内にあるすべての出力要求のステータスを書き出します。 −a[list] 出力要求に対する宛先の受け付けステータスを書き出します。 list 引き数は、プリンタ名 とクラス名のリスト(混在可能)です。 −c[list] −d クラス名とそのメンバーを書き出します。 list 引き数は、クラス名のリストです。 出力要求に対するシステムのデフォルト宛先を書き出します。 lpstat は、環境変数 LPDEST に設定されているデフォルト宛先を書き出します。この環境変数が設定されて いない あるいは空の場合、 lpstat は、環境変数 PRINTER に設定されているデフォルト 宛先を書き出します。この環境変数も設定されていない あるいは空の場合、 lpstat は、 デフォルトキューのデフォルト宛先を書き出します。 −i −o[list] リモートのステータス報告を抑止します。 出力要求のステータスを書き出します。 list 引き数は、プリンタ名、クラス名、および要 求IDのリスト(混在可能)です。 −i オプションも参照してください。 −p[list] プリンタのステータスを書き出します。 list 引き数は、プリンタ名のリストです。 −r LPスケジューラのステータスを書き出します。 −s ステータスの概要を書き出します。プリンタスケジューラのステータス、システムのデ フォルト宛先、クラス名とそのメンバーのリスト、各プリンタとそのデバイスのリスト HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-791 lpstat(1) lpstat(1) が含まれます。 すべてのステータス情報を書き出します。オプション −r, −s, −a, −p, −o. を指定するのと −t 同等です。 −i オプションを参照してください。 −u[list] ユーザーの要求のステータスを書き出します。 list 引き数は、ログイン名のリストです。 list には、最大50ユーザまで指定できます。 −v[list] プリンタ名とそのデバイスのパス名を書き出します。 list 引き数は、プリンタ名のリスト です。 オペランドと引数 オプションでない引数はすべて出力要求の ID (lp が返す) または LP 宛先として扱われます。 lpstat は、指定 された要求 ID または宛先に関連する出力要求のステータスを書き出します。 オプションを指定する順番に制 限はありません。繰り返すことも、他の引数と混在して指定することもできます。 次のオペランドがサポートされます。 ID で指定された出力要求のステータスを書き出します。 ID は、 lp が返す要求IDです。 ID dest で指定された宛先のステータスを書き出します。 dest は、プリンタ名あるいはクラ dest ス名です。 セキュリティ上の制約 すべてのキューを参照することができるのは、 lp サブシステム許可または printqueue 二次サブシステム許可 を持つユーザーのみです。許可されていないユーザーは、ユーザーの現在の機密レベル以下の機密レベルを持 つ自分のジョブのみを参照することができます。 allowmacaccess 特権は、機密レベルのより高いジョブの参照を可能にします。 多言語化対応と外部環境の影響 環境変数 次の環境変数は lpstat の実行に影響します。 LANG 国際化変数が設定されていないかヌルである場合のデフォルト値になります。 LANG が設定されていないかヌルの場合、デフォルトのロケール(実装依存)が 使われます。国際化変数のいずれかに無効な値が設定されている場合は、どの 国際化変数も定義されていない時と同じ動作をします。 LC_ALL 非空白文字列値に設定すると、他のすべての国際化変数の設定を上書きしま す。 LC_CTYPE テキストデータのバイトシーケンスを文字として解釈するためのロケールを決 定します。 (例えば 引き数のマルチバイト文字とシングルバイト文字の識別) LC_MESSAGES 標準エラーに出力される診断メッセージおよび標準出力への情報メッセージの フォーマットと内容に影響するロケールを決定します。 Section 1-792 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 lpstat(1) lpstat(1) LC_TIME −a, −o, −p, −t, または −u オプションを使ってプリンタのステータス情報を表示 する際の、日付および時間の表示フォーマットを決定します。 NLSPATH LC_MESSAGES 処理のためにメッセージカタログの場所を決定します。 TZ 日付および時間の表示で使われるタイムゾーンを決定します。 LPDEST 出力デバイスや宛先を決定します。環境変数 LPDEST が設定されていない場合 は、 PRINTER 変数が使用されます。 PRINTER 出力デバイスや宛先を決定します。環境変数 PRINTER が設定されていない場 合 は、 デ フォ ル ト の キュー が 使 用 さ れ ま す。 環 境 変 数 LPDEST の 設 定 が PRINTER の設定より優先されます。 標準出力 標準出力は、 オプションの項で説明されている情報を含むテキストファイルです。フォーマットは特定されて いません。 標準エラー 診断メッセージにのみ使われます。 終了ステータス 次の終了ステータスを返します。 0 >0 正常終了。 エラーが発生しました。 アプリケーション使用法 lpstat は、考えられるすべての状況で信頼できるプリント要求ステータスを決定することはできません。プリ ンタが別のオペレーティングシステムの制御下にある場合や、ネットワークで接続されたリモートシステム上 にある場合は、プリントジョブがローカルシステムのオペレーティングシステムの制御を離れた後で、そのス テータスを決定することがきでません。ローカルプリンタであっても、最終ページが印刷されるずっと以前 に、プリンタ内のスプーリングハードウェアはプリントジョブが完了したように報告することがあります。 例 ジョブが待ち行列に入っているかどうかをチェックするには次のように指定します。 lpstat ジョブが待ち行列中で何番目にあるかをチェックするには次のように指定します。 lpstat −t ジョブスケジューラが実行中かどうかを確認するには次のように指定します。 lpstat −r 2つのプリンタのステータス、2つのプリンタデバイスのパス名、および HiPri-33 というクラスの要求ステー タスを取得します。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-793 lpstat(1) lpstat(1) lpstat -plaser1,laser4 -v"laser2 laser3" -cHiPri-33 旧式の、空白とコンマが混在した形式で、ユーザーのプリントジョブのステータスを取得します。 lpstat -u"ddg,gmv, maw" ファイル /var/spool/lp/* /var/adm/lp/* /etc/lp/* /usr/lib/lp/* 参照 cancel(1), enable(1), lp(1), rlpstat(1M) 標準準拠 lpstat: SVID2, SVID3, XPG2, XPG3, XPG4 Section 1-794 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 ls(1) ls(1) 名称 ls, lc, l, ll, lsf, lsr, lsx − ディレクトリの内容のリスト 構文 ls [−abcdefgilmnopqrstuxACFHLR1] [names] lc [−abcdefgilmnopqrstuxACFHLR1] [names] l [ls_options] [names] ll [ls_options] [names] lsf [ls_options] [names] lsr [ls_options] [names] lsx [ls_options] [names] 説明 ls コマンドは、引き数として指定された各ディレクトリについて、ディレクトリの内容をリストします。ま た、引き数がファイルの場合には、ls はその名称と要求された情報を出力します。 ls デフォルトの場合、出力 は名前によって昇順にソートされます (下記の環境変数の項を参照してください)。引き数を指定しなければ、 現在のディレクトリがリストされます。また、複数の引き数を指定すると、まず各引き数が必要な順序に並べ 換えられます。ただし、ファイルは、ディレクトリやその内容より先に処理されます。 必要とされる特権を持つユーザーに対しては、デフォルトで . と .. を除くすべてのファイルがリストされま す。 主に3つのリスト形式があります。使用される形式は、出力をログインデバイスに送るかどうかによって異な ります (これは、出力デバイスファイルが tty デバイスであるかどうかで決まります)。また、リスト形式は各 種オプションフラグによって制御することができます。 ログインデバイス用のデフォルト形式では、カラムごとに縦方向に各エントリーをソートして、マルチカラム の形式でディレクトリの内容をリストします。 (引き数のリストにディレクトリ名ではなく個々のファイル名 を指定した場合は、各ファイル名は、必ずページの横方向にソートして表示されます。これは、縦方向にソー トすると、長すぎて表示しきれない場合があるためです)。標準出力がログインデバイスでない場合は、 1行に つき1エントリーの形式でリストされるのがデフォルトの形式です。 −C および −x の各オプションにより、マルチカラム形式の出力が使用可能になり、また −m オプションによ り、ストリーム形式の出力 (各ファイルをコンマで区切って、ページの横方向にリストする形式) が使用可能に なります。 ls は、−C, −x, および −m の各オプションの出力形式を決める場合に、環境変数 COLUMNS, を使 用して、各出力行に表示する桁数を決定します。この変数を設定していない場合は、terminfo データベースを 使用して、環境変数 TERM に対応する表示の桁数を決定します。この情報が得られない場合は、80 カラムを 使用します。 lc コマンドは、ls と同じ機能を持ちますが、デフォルトでは (リダイレクトした場合も) カラム形式でファイル の内容が出力されます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-795 ls(1) ls(1) オプション ls は、次のオプションを認識します。 −a すべてのエントリーをリストします。通常は、名称がピリオド (.) で始まるファイルはリスト されません。 −b −c 表示できない文字を \ddd の形式の8進数で表示します。 ソート (−t) または表示 (−l (英字 L の小文字)) の出力について、 iノードを最後に変更 (ファイ ルの作成、ノードの変更など) した時刻を使用します。 −d 引き数がディレクトリであれば、ディレクトリ名だけをリストします (その内容はリストされ ません)。 −l (英字 L の小文字) オプションと併用して、ディレクトリの状態を確認することが できます。 UNIX 2003 環境 (standards(5) 参照) では、-d オプションを指定したときに、-H または -L オプ ションを指定しないと、ls はシンボリックリンクをたどりません。 −e ファイルのエクステント属性を表示します。エクステント属性を持つファイルに対して、エク ステントサイズ、リザーブされたスペース、および割り当てフラグが表示されます。 −l (英字 L の小文字)オプションと併用しなければなりません。 −f 引き数をすべてディレクトリとみなし、各引き数の下にある名称をリストします。このオプ ションは、 −l ( 英字 L の小文字), −r, −s, および −t の各オプションを使用不能にし、 −a オプ ションを使用可能にします。各エントリーは、ディレクトリ内での順序で出力されます。 −g グループ名だけが表示される点を除き、 −l (英字 L の小文字) と同じです (所有者は省略され ます)。 −l (英字 L の小文字) と −g の両方を指定すると、所有者は表示されません。 −i 各ファイルについて、最初のカラムに iノード番号を表示します。また、マルチカラム出力に ついてこのオプションを使用すると、各カラムでファイル名の前に iノード番号が付きます。 −l ( 英字 L の小文字 ) 各ファイルのモード、リンク数、所有者、グループ名、サイズ ( バイト 数)、および最終変更時刻を長い形式でリストします (以降の「説明」および「アクセス制御」 リストを参照)。ファイルの最終変更時刻から6か月が経過した場合、または未来 (現在点より 先) の時刻になっている場合は、変更の時刻と分の表示に代わって、年数が示されます。ファ イルがスペシャルファイルの場合、サイズのフィールドには、ファイルのバイト数ではなくメ ジャーデバイス番号とマイナーデバイス番号が表示されます。ファイルがシンボリックリンク されている場合、ファイル名とともに、 -> の後にパス名と参照されたファイルが表示されま す。 UNIX 2003 環境 (standards(5) 参照) では、-l オプションを指定したときに、-H または -L オプ ションを指定しないと、ls はシンボリックリンクをたどりません。 −m Section 1-796 ストリーム形式の出力を指定します。 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 ls(1) ls(1) −n 所有者名とグループ名の代わりに、所有者の UID とグループの GID を表示する点を除き、 −l (英字 L の小文字) と同じです。 −o 所有者だけを表示する点を除き、 −l ( 英字 L の小文字) と同じです ( グループは省略されま す)。 −l (英字 L の小文字) と −o の両方を指定すると、グループは表示されません。 −p ファイルがディレクトリであれば、各ファイルの後にスラッシュ (/) を付けます。 −q ファイル名の中にある表示できない文字を強制的に (?) に置き換えて表示します。 −r 必要に応じてソート順を反転させ、名前によって降順、あるいはファイルの古い順から出力し ます。 −s 各エントリーについて、サイズを 512 バイトのブロック単位 (間接ブロックも含む) で出力し ます。最初のエントリーとして、そのディレクトリの総ブロック数が表示されます。このオプ ションをマルチカラム出力について使用すると、各カラムで、ファイル名の前にブロック数が 表示されます。ファイル内の間接ブロック数はファイルシステムに依存します。 −t ファイル名のアルファベット順によるソートの前に、ファイルの変更時刻順 ( 新しい順) で ソートします。 −u ソート (−t オプション)、または表示 (−l (英字 L の小文字) オプション) の出力について、ファ イルの最終変更時刻ではなく、最終アクセス時刻を使用します。 −x −A ソート済みの各エントリーを横方向にリストしたマルチカラム形式で出力します。 現在のディレクトリ . と1つ上のディレクトリ .. をリストしない点を除き、 −a と同じです。適 切な特権を持っているユーザーの場合、このフラグはデフォルトで ON になっており、 −A に よって OFF になります。 −C ソート済みの各エントリーを縦方向にリストしたマルチカラム形式で出力します。 −F 各ファイル名の後に以下の記号を付けます。 • ファイルがディレクトリの場合、またはディレクトリへのシンボリックリンクの場合に は、スラッシュ (/) を付けます。 • 実行可能なファイルであれば、アスタリスク (*) を付けます。 • ファイルが、ファイルに対するシンボリックリンクであれば、単価記号 (@) を付けます。 • ファイルが fifoの場合には、縦線 (|) を付けます。 UNIX 2003 環境 (standards(5) 参照) では、-F オプションを指定したときに、-H または -L オプ ションを指定しないと、ls はシンボリックリンクをたどりません。 −H コマンドラインで、ディレクトリ型のファイルを参照するシンボリックリンクが指定された場 合、ls は、そのファイルの情報とファイルタイプを、リンク自体ではなく、リンクの参照先の ファイルとして評価します。しかし、ls はリンクの参照先ファイルではなく、リンク自体の名 前を書き出します。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-797 ls(1) ls(1) すべてのシンボリックリンク (コマンドラインで名前を指定したか、ファイル階層構造中に検 −L 出されたかに関わらず) に対するファイル情報とファイルタイプをファイル自体ではなく、リ ンクの参照先のファイルとして評価されます。しかし、ls はリンクの参照先ファイルではな く、リンク自体の名前を書き出します。 -L と -l が一緒に使用される場合、長いフォーマット でシンボリックリンクの内容を書き出します。 −R サブディレクトリを再帰的にリストします。 −1 (数字の1) 出力デバイスにかかわらず、ファイル名をシングルカラム形式でリストします。こ のオプションは、強制的に単一カラム形式でファイル名をリストします。 次のような相互に排他的な複数のオプションのペアを同時に指定してもエラーにはなりません。 −C と −l (英 字 L の小文字)、 −m と −l (英字 L の小文字)、 −x と −l (英字 L の小文字)、 −C と −1 (数字の1)、 −H と −L と −c と −u。 ls には、次のような指定形式に対応する省略形式のコマンド名も用意されています。 l は ls −m と等価です。 ll は ls −l (英字 L の小文字) と等価です。 lsf は ls −F と等価です。 lsr は ls −R と等価です。 lsx は ls −x と等価です。 以上の省略形式は、 ls へのリンクとしてインプリメントされています。省略形式に対するオプションの引き数 は、省略しないコマンドにオプション引き数を追加した場合と同様に機能します。 モードビットの意味 (−l option) −l (英字 L の小文字) オプションが出力するリストでは、モードを計 10 文字で表します。例 −rwxr−xr−x 最初の文字は、エントリーの種類を表します。 b ブロック スペシャルファイル c キャラクタ スペシャルファイル d ディレクトリ l シンボリックリンク n ネットワーク スペシャルファイル p fifo (「名前付きパイプ」) スペシャルファイル s ソケット − 通常のファイル 以降の9文字は、3文字ごとの3つのセットとして解釈され、それぞれ所有者、グループ、およびその他のカテ ゴリが持つ、アクセス実行パーミッションを表します。 chmod(1) で説明しています。 − はパーミッションが 許可されていないことを表しています。種々のパーミッションをどんな組み合わせにもまとめて使用できま す。 x, s, S, t と T の文字が相互に排他的である場合を除きます。意味は次のとおりです。 Section 1-798 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 ls(1) ls(1) −r-------- 所有者による読み取り −-w------- 所有者による書き込み −--x------ 所有者による実行(ディレクトリ検索)。ユーザーIDを実行時に設定しません。 −--s------ 所有者による実行/検索。ユーザーIDを実行時に設定します。 −--S------ 所有者による非実行/非検索。ユーザーIDを実行時に設定します。 −---r----- グループによる読み取り −----w---- グループによる書き込み −-----x--- グループによる実行/検索。グループIDを実行時に設定しません。 −-----s--- グループによる実行/検索。グループIDを実行時に設定します。 −-----S--- グループによる非実行/非検索。グループIDを実行時に設定します。 −------r-- その他のユーザーによる読み取り −-------w- その他のユーザーによる書き込み −--------x その他のユーザーによる実行/検索。スティッキービットを実行時に設定しません。 −--------t その他のユーザーによる実行/検索。スティッキービットを実行時に設定します。 −--------T その他のユーザーによる非実行/非検索。スティッキービットを実行時に設定します。 文字モードの意味は次のとおりです。 − 対応するパーミッションが与えられていません。 r 対応するユーザークラスに読み取りパーミッションが与えられています。 w 対応するユーザークラスに書き込みパーミッションが与えられています。 x 対応するユーザークラスに実行( またはディレクトリ検索) パーミッションが与えられていま す。 s 対応するユーザークラスに実行(検索)パーミッションが与えられています。設定されている所 有者(セットユーザーID(SUID))、またはグループ(セットグループID(SGID))によってファイル が実行されます。 S 対応するユーザークラスに実行(検索)パーミッションが与えられていません。設定されている 所有者(セットユーザーID(SUID))、またはグループ(セットグループID(SGID))によってファイ ルが実行されます。 t その他のユーザーに実行(検索)パーミッションが与えられています。「スティッキー」(テキス トイメージを保存)ビットが設定されています。(chmod(2)) の S_ISVTX の説明を参照してくだ さい。) T その他のユーザーに実行(検索)パーミッションが与えられていません。「スティッキー」ビッ トが設定されています。 ディレクトリやファイルのサイズをバイトやブロック単位で表示するオプション ( −s または −l (英字 L の小文 字)) を指定した場合、リストの先頭にブロック全体の値 (間接ブロックも含む) が表示されます。 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-799 ls(1) ls(1) アクセス制御リスト (ACL) ファイルにオプションの ACL エントリーがある場合には、 −l (英字 L の小文字) オプションの指定によって、 ファイルのパーミッションの後に正符号 (+) が表示されます。表示されるパーミッションは、 stat() が st_mode フィールドに返すファイルのアクセス制御リストを要約したものです (stat(2) 参照)。HFS ファイルシ ステムでアクセス制御リストの内容をリストするには、 lsacl コマンドを使用してください (lsacl(1) および acl(5) 参照)。JFS ファイルシステムでは getacl コマンドを使用してください (getacl(1) および aclv(5) 参照)。 多言語化対応 UNIX 標準環境についての情報は、standards(5) を参照してください。 環境変数 COLUMNS 変数が設定されていれば、ls は、指定された幅に基づいてカラム出力の位置を決定します。 LC_ALL および対応する環境変数(先頭が LC_ で始まる)がロケール変数を指定しない場合、 LANG がロケー ルカテゴリで使われるロケール変数を決定します。 LANG が設定されていないかヌルに設定されている場合、 C がデフォルトとして使われます (lang(5) を参照)。 LC_COLLATE は出力のソート順序を決定します。 LC_CTYPE は、−b および −q オプションに対して、どの文字を表示できないとみなすかを決定します。ま た、ファイル名をシングルバイトまたはマルチバイトのいずれの文字として解釈するかを決定します。 LC_TIME は、−g, −l (英字 L の小文字), −n, および −o オプションが出力する日付および時刻文字列を決定しま す。 LC_MESSAGES は、日付および時刻文字列以外のメッセージの表示に使用する言語を決定します。 インターナショナル変数のいずれかの設定が不適当な場合には、ls はすべてのインターナショナル変数が C に 設定されているものとして動作します。 (environ(5) 参照)。 サポートされるコードセット シングル/マルチバイトの文字コードがサポートされています。 戻り値 ls は、次のいずれかの値で終了します。 0 >0 入力ファイルがすべて正しくリストされました。 ファイルへのアクセス時にエラーが生じたので、ls の実行が中止されました。エラーの原因 は、次のとおりです。 Section 1-800 • 指定したファイルが存在しない。 • ユーザーがディレクトリの読み取りパーミッションを持っていない。 • プロセスが十分なメモリを確保できない。 • 不適当なオプションが指定された。 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 ls(1) ls(1) 例 現在のワークディレクトリにあるすべてのファイルについて、ファイルサイズも含む長い形式でリストを出力 します。最後に変更した最新のファイルから新しい順に各ファイルをリストします。 . で始まる名称のファイ ルも表示します。 ls −alst 警告 ログイン (tty) デバイスの出力結果に基づいてオプションを決定すると、思わぬ結果をまねくことがあります。 これは、ls −s の出力が、ls −s | lp とは大きく異なることからも示されます。一方、これまで ls を使用していた 古いシェルスクリプトについて、このような設定を使用せずに実行すると、必ず異常終了します。 ファイル名の中に表示できない文字があると、カラム出力に混乱が生ずることがあります。(−b と −q オプ ションを除く) 制約 NFS ネットワークファイルについては、−l (英字 L の小文字) オプションを指定しても、アクセス パーミッション ビットの後に、オプションのアクセス制御リストの存在を示す正符号 (+) は表示されません。 著者 ls は、AT&T、カリフォルニア大学バークレイ校、および HP によって開発されました。 ファイル /etc/group −l および −g のグループID用 /etc/passwd −l および −o のユーザーID用 /usr/share/lib/terminfo/?/* ターミナル情報用 参照 chmod(1), find(1), getacl(1), lsacl(1), stat(2), acl(5), aclv(5), standards(5) 標準準拠 ls: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 −7− Hewlett-Packard Company Section 1-801 lsacl(1) lsacl(1) 名称 lsacl − ファイルのアクセス制御リスト(ACL)の表示 構文 /usr/bin/lsacl [-l] file ... 説明 lsacl は、単一または複数のファイルのアクセス制御リスト(ACL)をシンボリックな「短縮」形式で、出力行1行 につき 1ファイルの ACL とファイル名で示します。 ACL 構文については acl(5) を参照してください。 オプション lsacl が認識するオプションは以下のとおりです。 ACL を詳細形式でプリントします。各ファイルの ACL は1行を超えてもよく、ファイル名、コロ -l ン、改行が常に前に付いています。次のファイル名との間は空白行で区切られます。 ハイフン (-) をファイル名引き数として与えると、 lsacl は標準入力の ACL をプリントします。デフォルトで は、ファイル名を - としてプリントします。 -l オプションの場合は <stdin> のファイル名をプリントします。 ls と違って、 lsacl はサブディレクトリにあるファイルの ACL を自動的に示すことはできません。また、デ フォルトではカレントディレクトリにおけるファイルの ACL エントリーを示すことはできません。後者を行う には以下のような方法があります。 lsacl * または lsacl .* * 多言語化対応 環境変数 LANG により、メッセージの表示言語を決定します。 LANG が指定されていないか、または空の文字列の場合には、デフォルトの "C" ( lang(5) を参照)が LANG の 値として使われます。多言語対応変数のいずれかの設定が不適当な場合には、 lsacl はすべての多言語対応変数 が "C" に設定されているものとして動作します。 environ(5) を参照してください。 戻り値 lsacl が正常終了すると、ゼロを戻します。不正に起動されると、 1 の値を戻します。 lsacl は指定ファイルの ACL を読み込むことができなければ、エラーメッセージを標準エラーにプリントし、処理を続けます。その後 で 2 を戻します。 例 ファイル dir/file1 の ACL リストを示します。 lsacl dir/file1 カレントディレクトリにある全ファイルの ACL を詳細形式で示します。 Section 1-802 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 lsacl(1) lsacl(1) lsacl -l .* * mydir の下にある全ファイルの ACL を示します。 find mydir -print | sort | xargs lsacl 制約 lsacl は、ターゲットファイルが存在するファイルシステムが ACLをサポートしていない場合、異常終了しま す。 NFS lsacl はリモートファイルではサポートされません。 著者 lsacl はHPで開発されました。 参照 chacl(1), getaccess(1), ls(1), getacl(2), acl(5) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-803 m4(1) m4(1) 名称 m4 − マクロプロセッサー 構文 m4 [options] [ file ...] 説明 m4 は、Ratfor、C、および他の言語のフロントエンドとして意図されたマクロプロセッサーです。引き数ファ イルはそれぞれ順番に処理されます。ファイルがない場合、またはファイル名が - である場合、標準入力から 読み込まれます。処理されたテキストは、標準出力に書き出されます。 オプション m4 は以下のオプションを認識します。 対話的に動作します。割り込みは無視され、出力はバッファーリングされません。この -e モードは上級者向きと言えます。 -s Cプリプロセッサー (#line ...) に対して行sync出力を許可します。 -Bint プッシュバックおよび引き数収集バッファのサイズをデフォルトの4,096から変更します。 -Hint シンボルテーブル ハッシュ配列のサイズをデフォルトの199から変更します。サイズは素数 となるようにしてください。 -Sint 呼び出しスタックのサイズをデフォルトの100スロットから変更します。マクロは3つのス ロットをとり、非マクロの引き数は1つのスロットをとります。 -Tint トークンバッファのサイズをデフォルトの512バイトから変更します。 有効にするには、任意のファイル名の前、および任意の -D または -U オプションの前に、上記のオプ ションがなければなりません。 -Dname[=val] val がない場合、 name を val またはヌルに定義します。 -Uname name を定義しません。 マクロ呼び出し マクロ呼び出しの形式は以下の通りです。 name(arg1, arg2, ... ,argn) ( はマクロの名前のすぐ後に続かなければなりません。定義したマクロの名前に ( が続いていない場合、その マクロを引き数なしで呼び出したと解釈されます。潜在的なマクロ名は、アルファベットの英字、数字、およ びアンダースコア (_) で構成されます。ただし、最初の文字は数字ではありません。 先行する引用符のない空白、タブ、および改行は引き数を取得する際に無視されます。左および右一重引用符 (‘ と ’) は、文字列を引用符で囲むのに使用します。引用符で囲まれた文字列の値は、引用符を外した文字列で す。 Section 1-804 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 m4(1) m4(1) マクロ名が認識されると、その引き数は対応する右かっこを検索することによって取得されます。マクロ定義 で与えた引き数より少ない引き数を与えると、後続の引き数はヌルであると解釈されます。マクロの評価は、 引き数の取得の際正常に進み、偶然ネストした呼び出しの値の内部に現れるコンマまたは右小かっこは、元の 入力テキストのものと同様に有効です。引き数取得の後で、マクロの値は入力ストリームにプッシュバックさ れ、再スキャンされます。 組込みマクロ名 m4 により以下の組込みマクロが利用可能になります。それらは再定義できますが、一度これが行われると、 元の意味は失われます。特に指定されない限り、それらの値はヌルです。 changecom デフォルトの # および改行から、左および右コメントマーカを変更します。引き数なし で、コメントメカニズムは実際上、使用不可能になります。 1つの引き数により、左マー カは引き数になり、右マーカは改行になります。 2つの引き数により、両方のマーカが影 響を受けます。コメントマーカの長さは、最大5文字までが可能です。 changequote 引用シンボルを最初のおよび2番目の引き数に変更します。シンボルの長さは、最大5文字 までが可能です。引き数なしの changequote は、元の値(つまり、 ‘ と ’) に戻します。 decr その引き数から1を引いた値を戻します。 define 2番目の引き数は、名前が最初の引き数であるマクロの値としてインストールされます。 n が数字である置換テキストにおける $n の各出現例は、 n 番目の引き数で置き換えられま す。引き数0はマクロの名前です。欠落する引き数は、ヌル文字列で置き換えられます。 $# は引き数の番号で置き換えられます。 $* はコンマで区切られるすべての引き数のリス トで置き換えられます。 $@ は $* と等価ですが、それぞれの引き数は( 現在の引用符に よって)引用符で囲みます。 defn (単一または複数の)その引き数の引用符で囲まれた定義を戻します。マクロ、特に内蔵マ クロの名称変更に便利です。 divert m4 は、0∼9の番号がついた10個の出力ストリームを保守します。最終的な出力は、スト リームが番号順に連結されたもので、最初のストリームは番号 0 のストリームです。 divert マクロは、現在の出力ストリームを、その(数字列)引き数に変更します。 0から9以 外のストリームに分岐した出力は、廃棄されます。 divnum 現在の出力ストリームの値を戻します。 dnl 次の改行までの文字および次の改行を含む文字を読み込み、廃棄します。 dumpdef 指定した項目、または引き数を与えなければすべての項目に関して、現在の名前および定 義をプリントします。 errprint 診断出力ファイルにその引き数をプリントします。 eval 32ビット演算を使って、算術式としてその引き数を評価します。演算子は +, -, *, /, %, ** ( 指数), ビットごとの&, |, ˆ, ˜, 関係演算子、およびかっこを含みます。8 進数および16 進数 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-805 m4(1) m4(1) が、Cにおいて指定できるのと同じように指定できます。第2引き数は、結果として基数を 指定します。デフォルトは10です。第3の引き数を使用して、結果の最小桁数を指定でき ます。 hpux ifdef ヌル値のある定義済みオブジェクトです。 最初の引き数を定義する場合、値は第2引き数です。そうでなければ第3引き数です。第3 の引き数がない場合、値はヌルです。ワード unix は m4 の HP-UX システムバージョン上 で事前定義されます。 ifelse 3つ以上の引き数があります。最初の引き数が第2引き数と同じ文字列である場合、値は第 3 の引き数です。そうでない場合および4 つ以上の引き数がある場合、プロセスが引き数 4、5、6、および7で繰り返されます。そうでなければ、値は第4の文字列かまたはそれが 存在しなければヌルです。 include 引き数で指定したファイルの内容を戻します。 incr 引き数に1を足した値を戻します。引き数の値は、初期数字列を10進数と解釈することに よって計算されます。 index 第2引き数が始まる(0原点)その最初の引き数の位置、または第2引き数がなければ−1を戻 します。 len m4exit その引き数の文字数を戻します。 m4 を即座に終了します。引き数1を与えた場合、引き数1がexitコードです。デフォルトは 0です。 m4wrap 引き数1は最後の EOF で戻されます。例: m4wrap(‘cleanup()’) maketemp 現在のプロセス ID を、その引き数の XXXXX の文字列に記入します。 popdef ( 単一または複数の) その引き数の現在の定義を削除し、もしあれば前の定義を廃棄しま す。 pushdef shift define に類似していますが、任意の前の定義をセーブします。 その最初の引き数を除くすべての引き数を戻します。他の引き数は引用符で囲み、間にカ ンマを入れて戻されます。引用符で囲むと、続いて行われる追加スキャンの効果を無効に します。 sinclude ファイルがアクセス不能である場合に、何も通知しない場合を除いて、 include と同一で す。 substr その最初の引き数の部分文字列を戻します。第2引き数は、最初の文字を選択する0原点の 数です。第3引き数は、部分文字列の長さを示します。第3の引き数がない場合、最初の文 字列の終端に達するぐらい十分大きいと解釈されます。 Section 1-806 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 m4(1) m4(1) syscmd 最初の引き数で指定する HP-UX システムコマンドを実行します。値は戻されません。 sysval syscmd への最後の呼び出しからのリターンコードです。 traceoff グローバルに、指定したマクロに対するトレースをオフにします。 traceon によって特に トレースするマクロは、 traceoff への特定の呼び出しによってのみトレースされないよう にすることができます。 traceon 引き数なしで、すべてのマクロのトレースをオンにします(組込みマクロを含む)。そうで なければ、指定マクロのトレースをオンにします。 translit 第2引き数で指定したセットから第3引き数で指定したセットへ、最初の引き数の文字を翻 訳します。省略形は許されません。 undefine 引き数で指定したマクロの定義を削除します。 undivert 引き数として指定した分岐出力から、または引き数がなければすべての分岐出力からテキ ストを即座に出力します。テキストは別の分岐出力に分岐させないことができます。分岐 解除は分岐したテキストを廃棄します。 (XPG4の場合のみ) decr, divert, incr, m4exit, substr, undivert, および eval の組み込みマクロに、数値以外の文字 を含む引き数を指定するとエラーになります。 参照 cc(1), cpp(1), ratfor(1) 標準準拠 m4: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-807 machid(1) machid(1) 名称 machid: hp9000s200, hp9000s300, hp9000s400, hp9000s500, hp9000s700, hp9000s800, hp-mc680x0, hp-pa, pdp11, u370, u3b, u3b10, u3b2, u3b5, vax − プロセッサタイプの識別 構文 hp9000s200 hp9000s300 hp9000s400 hp9000s500 hp9000s700 hp9000s800 hp-mc680x0 hp-pa pdp11 u3b u3b2 u3b5 u3b10 u370 vax 説明 プロセッサタイプがコマンド名に一致すると、以下のコマンドが真値 (exitコード0) を戻します。そうでなけれ ば偽値 (exitコード非ゼロ) が戻されます。これらのコマンドは一般に、アプリケーションの移植性を改善する ために make makefileおよびシェルプロシージャ内で使用します( make(1) を参照)。 コマンド プロセッサが以下の コマンド ものであれば真 プロセッサが以下の ものであれば真 hp9000s200 シリーズ 200 pdp11 hp9000s300 シリーズ 300 u3b 3B20 コンピュータ 3B2 コンピュータ PDP-11/45、 PDP-11/70 hp9000s400 シリーズ 400 u3b2 hp9000s500 シリーズ 500 u3b5 3B5 コンピュータ hp9000s700 シリーズ 700 u3b10 3B10 コンピュータ hp9000s800 シリーズ 800/700 u370 IBM System/370 hp-mc680x0 シリーズ 200/300/400 コンピュータ vax VAX-11/750 VAX-11/780 hp-pa Section 1-808 シリーズ 700/800 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 machid(1) machid(1) 例 HP 9000 シリーズ 700 と 800 システムで実行したときに異なる動作を行う必要のあるシェルスクリプトの場 合、正しいコードセグメントを選択して実行してください。 if hp9000s800 then # system is Series 700 or 800. if hp9000s700 then # System is Series 700 # Series 700 code fragment goes here else # System is Series 800 # Series 800 code fragment goes here fi fi 警告 hp9000s800 は、シリーズ 800 とシリーズ 700 の両システムで常に真を戻します。したがって、ハードウェア タイプを求めるスクリプトでこのコマンドを使用するときは、正しい結果が得られるよう、必ず適切なシーケ ンスで hp9000s800 と hp9000s700 の両方を使用してください ( 例を参照)。 machid(1) は、 800 シリーズと 700 シリーズを除き、将来のマシンではサポートされない可能性があります。 getconf (1) を使用して、ハードウエアとソフトウェアの構成情報を参照してください。 参照 getconf(1), make(1), sh(1), test(1), true(1) HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-809 machinfo(1) machinfo(1) 名称 machinfo − マシン情報の出力 構文 machinfo [-v] 説明 machinfo は、そのマシンに関する有益な情報を出力します。この情報には、プロセッサの情報、ファームウェ アのリビジョン、CPU の数、メモリーの量が含まれます。パーティション環境でのプロセッサとメモリについ ての情報は、machinfo を実行したパーティションのみに限定されます。 machinfo を、異なる複数のプロセッサをサポートされている組み合わせで使用するシステム、またはパーティ ションで使用すると、machinfo は、プロセッサのそれぞれの種類ごとに、別々に情報を表示します。これは、 ファームウェアと HP-UX が対応している、キャッシュサイズやステッピングの異なる複数のプロセッサが組 み合わされている場合も同様です。 HP-UX 11i v3 (B.11.31) 以降では、machinfo は、すべてのプロセッサの情報を一度に報告します。 オプション machinfo は、次のオプションを受け付けます。 −v このオプションを指定すると、 machinfo は詳細な追加情報を出力します。それには、プロ セッサキャッシュの各レベルごとのサイズや、ISA のオプショナルな機能のうちのどれがプロ セッサで直接サポートされているか、などの情報が含まれます。 参照 getconf(1), uname(1), pstat(2) Section 1-810 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 mail(1) mail(1) 名称 mail, rmail − ユーザーへのメールの送信およびメールの読み出し 構文 mail [+] [-epqr] [-f file ] mail [-dt] person ... rmail [-dt] person ... 特記事項 拡張ユーザー メール インタフェースに関しては、 mailx(1) と elm(1) を参照してください。 説明 引き数を指定せずに mail コマンドを実行すると、ユーザーのメールが最後に届いたメッセージから順に1つず つ表示されます。 各メッセージごとに、 mail は、 ? プロンプトを表示し、メッセージの処理方法を決めるために標準入力から1 行読み込みます。次のメッセージへ自動的に進むコマンドを指定した場合、最後のメッセージを処理すると、 mail はその実行を終了します。 コマンド mail は、以下に示すコマンドをサポートしています。 <ニューライン> 次のメッセージへ進みます。最後のメッセージであれば、実行を終了します。 + <ニューライン>と同じです。 n <ニューライン>と同じです。 d メッセージを削除し、次のメッセージへ進みます。 p 再度メッセージを表示します。 - 直前のメッセージに戻ります。 s [ files ] メッセージを files で指定された名称のファイル ( デフォルトは mbox) にセーブし、 ユーザーの メールファイルから削除するため、そのメッセージにマークを付け、次の メッセージへ進みます。 y [ files ] w [ files ] s [ files ] と同じです。 ヘッダー ( ‘‘From ...’’ 行) を削除したメッセージを、 files で指定されたファイル ( デ フォルトは mbox) にセーブし、そのメッセージを削除するためにマークを付け、次の メッセージへ進みます。 m person ... メッセージを person で指定されたユーザーへ送り、そのメッセージを削除するために マークを付け、次のメッセージへ進みます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-811 mail(1) mail(1) q 削除されていないメールを mailfile に戻し、コマンドの実行を停止します。 EOT (Ctrl-D) q と同じです。 x コマンドの実行を打ち切ります。元の mailfile は変更せずに、コマンドの実行を停止 します。 !command コマンドインタプリタへ抜け出し、 command を実行します。 ? コマンドの要約を表示します。 * ? と同じです。 コマンド行オプション コマンド行で以下に示すオプションを指定すると、メールの表示方法を変更することができます。 + 到着順にメッセージを表示します。 -e メールを表示しないで、次の終了値を戻します。 0 = メールが存在する場合 1 = メールが存在しない場合 2 = 他のエラーが起こった場合 処理方法の入力を促すプロンプトは表示せずに、すべてのメールを表示します。 -p mail の実行を終了します。通常の場合、割り込みは現在のメッセージの表示を終了す -q るだけです。 -r + と同じです。 -f file mailは、デフォルトの メールファイルの代わりに、 file (例えば mbox) で指定された ファイルを用います。 送信されるメッセージの前に、そのメールの宛先である各 person の名前を付けます。 -t person は、通常は、 login により認識されるユーザー名です (login(1) 参照)。メールが 送られる person が認識できない場合、あるいは mail が入力中に割り込まれた場合 は、編集および再送信を可能にするため dead.letter というファイルにセーブされま す。 dead.letter は、必要なときはいつでも以前の内容が消去され再作成されるテンポ ラリファイルですので注意してください。 このオプションは mail コマンドが直接メールを送るようにします。このオプション -d により、 mail がルーティング決定処理から分離され、ローカル配信のかわりとして 用いることが可能となります。一般に、このオプションは、メールをローカルに配信 する際に自動ルーティング機構により使用されます。 person により名前が指定される場合は、 mail は、標準入力からファイルの終り (または . のみの行) までを取 り込み、それを各 person の mailfile に付け加えます。メッセージの前に、そのメッセージの送信者名と消印が 付けられます。 Section 1-812 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 mail(1) mail(1) リモートシステムの受信者を指定するには、 person の前にシステム名と感嘆符を付けます (uucp(1) 参照)。 person 中の最初の感嘆符の後のすべての文字が、リモートシステムによって解釈されます。特に、 person にさ らに感嘆符が含まれていると、メッセージの最終宛先までの経路上のマシンの順序を意味する場合がありま す。例えば、受信者名として a!b!cde と指定することによって、メッセージは、システム a 上のユーザー b!cde に送られます。そして、システム a では、要求された宛先はシステム b 上のユーザー cde と解釈されます。こ れは、例えば送信システムがシステム a にアクセスすることはできても、システム b にアクセスできない場合 に有用です。リモートシステムとしてローカルシステム名を指定した場合 (すなわち、localsystem!user)、 mail は uucp を使用しません。 mail の機能を変更するために、 mailfile を2 つの方法で操作することができます。このファイルの他のパー ミッションには、異なるレベルの機密保護を指定できるように、読み書き可能、読み出し専用、または読み出 しも書き込みも不可能にするような指定ができます。デフォルトのパーミッション以外の値へ変更した場合、 たとえそのファイルが空ファイルであっても、希望パーミッションを永続させるため、そのファイルが保存さ れます。また、このファイルの第1行に次のように指定すると、 Forward to person mailfile の所有者へ送られたメールはすべて person へ転送されます。これは、特に複数のマシン環境下で、個 人のすべてのメールを特定のマシンへ転送するために役立ちます。転送機能が適切に動作するには、 mailfile のグループ ID として "mail" が指定されている必要があり、またそのグループパーミッションは読み書き可能 でなければなりません。 rmail では、メールの送信のみが可能です。 uucp では、機密保護のための処置として rmail を用いています。 mail -e を使って、ユーザーのログイン時に、メールが存在するかどうか調べ、あればそれを知らせることがで きます。 mail の実行中に新しいメールを受け取ると、 mail は、それを通知するメッセージを終了時に生成し ます。 多言語化対応 環境変数 LC_TIME は、日付および時刻の表示形式と内容を指定します。 LC_TIME が現在使用中の環境で設定されていないか、 空の文字列の場合は、 LANG の値がその変数のデ フォルトとして使用されます。 LANG が指定されていない場合、または空の文字列の場合には、 LANG の代 わりに"C"がデフォルトとして使用されます (lang(5) を参照)。いずれかの国際化変数 に正しくない値が設定さ れている場合、 mail は、すべての国際化変数 が"C"に設定されているものとして動作します。 environ(5) を参 照してください。 環境変数 TMPDIR が設定されている場合は、テンポラリファイルのディレクトリとして、デフォルトの /tmp の代わりに、その環境変数で指定されたディレクトリが用いられます。 サポートされるコードセット HP-UX システム間では、メールテキストとして1バイト文字コードおよびマルチバイト文字コードをサポート しています。ヘッダーは7ビットの USASCII コードセット文字のみです ascii(5) 参照)。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-813 mail(1) mail(1) 警告 条件によっては、ロックファイルの削除が失敗する場合があります。 割り込み後、次のメッセージが表示されない場合があります。その場合、表示させるためには、 p を入力して ください。 メッセージ中の消印のような行 (すなわち ‘‘From . . .’’) の前に、 > が付けられます。 mail では、 rmail -d コマンドの場合を除き、ドット ( . ) のみの行が現れると、そのメッセージの終了とみなさ れます。 メールのメッセージの行の最長バイト数は、 /usr/include/stdio.h で定義される BUFSIZ のバイト数の 8 倍で す。行の長さがこの制限を超えた場合、 mail は、行の最初を切り捨て、後半の BUFSIZ の 8 倍分の文字のみ を使用します。 同一メールファイルに同時にアクセスする2つの別個のメールプログラムを使用すると (通常は、不注意により 2つの別個のウィンドウから使用する場合)、予期せぬ結果を引き起こすおそれがあります。 RFC-822 を厳密に守るプログラムを備えたサイトでは、以下の受信フィールドがない場合にメッセージの配信 に失敗することがあります。 To: resent-to: cc: resent-cc: bcc: resent-bcc: RFC-822 コマンドをメールプログラムのバッファ/エディターに追加できます。例えば次のようにします。 mail [email protected] From: [email protected] Subject: This is a test To: [email protected] This is a test ファイル /var/mail/*.lock メールディレクトリのロック dead.letter メール不可能なテキスト /tmp/ma* 一時ファイル $MAIL mailfile のパス名を指定した変数 $HOME/mbox セーブされたメール /etc/passwd メールの発信者の識別およびユーザーの検索用 /var/mail メール受信用ディレクトリ (モードは 775、グループ ID は mail) Section 1-814 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 mail(1) /var/mail/user mail(1) user 宛の受信メール、すなわち mailfile (モードは 660、グループ ID は mail) 参照 login(1), mailx(1), uucp(1), write(1) 標準準拠 mail: SVID2, SVID3, XPG2, XPG3 rmail: SVID2, SVID3 HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-815 mailfrom(1) mailfrom(1) 名称 mailfrom − メールのサブジェクトおよび発信者をリストします。 構文 mailfrom [-hnQqStv] [-s status] [ folder username]... 説明 mailfrom は、1つまたは複数のメールフォルダを読み込み、各メッセージごとに1行を出力します。各行の形 式は以下のとおりです。 from [subject] ここで、 from はメッセージの発信者の名前、 subject はメッセージのサブジェクトです。 mailfrom は、メッ セージがユーザー自身からのものである場合、 from の部分は To user となります。ここで、 user はメッセー ジを受信するユーザーです。これは、ユーザー自身が送信したメッセージのコピーを受け取る場合に起こりま す。 デフォルトのフォルダは、ユーザーの受信メールボックス、 /var/mail/yourloginname です。下記引数の項を参 照してください。 オプション mailfrom 次のオプションを認識します。 -h -n オプションを要約した簡単なヘルプメッセージを印字します。 readmail ログラムで使用されているのと同じ番号規約を使用してメッセージに番号付 けします。 -Q 省略 モード。エラーメッセージだけを表示します。このオプションはシェルスクリプ トで役に立ちます。シェルスクリプトではプログラムが成功したか失敗したかが重要 で、出力はない方が望ましいからです。 -q 簡略 モード。指定されたメールボックスあるいはフォルダの 1行の要約だけを出力し ます。 -S メールボックスあるいはフォルダのメッセージステータスごとに、メッセージの件数 をまとめます。要約行だけが必要な場合、このオプションと -q オプションを組み合 わせて使用します。形式は以下の通りです。 Folder contains: New messages: n Unread messages: u Read messages: r 件数 n、 r 、または u が 0 の場合、その行は省略されます。 Section 1-816 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 mailfrom(1) mailfrom(1) −s status 指定されたステータスのメッセージからヘッダーだけを表示します。 status には new, old, read, unread. のどれか 1つを指定します。 old および unread は等価です。 -s オ プションは複数のカテゴリのヘッダ情報を印字するために複数指定できます。例え ば、new および unread メッセージのヘッダー情報を印字する場合などです。値は、ス テータスの最初の文字を指定するだけで十分です。デフォルトはすべてのメッセージ です。 整列 モード。 from フィールド内容が長く、subject フィールドにかかってしまう場合 -t に subject を次の行に移動します。 冗長 モード。メールボックスまたはフォルダの内容をリストする前に、詳細なヘッ -v ダーを印字します。 引数 mailfrom は、次のオプションの引数を認識します。 folder username システムのメールユーザーのファイル名またはログイン名。 elmrc 設定ファイルにあ る maildir 文字列変数により定義されるメールディレクトリのフォルダを指定する = filename フォーマットを使用できます。 mailfrom コマンドはカレントディレクトリに対する相対ファイル名として値を検索し ます。つまり、ファイル名は絶対パスでない場合、現在の受信メールボックスディレ クトリに対する相対値で検索します。最初に見つかったファイルが選択されます。 ユーザはそのファイルに対するアクセス権が必要です。 終了ステータス mailfrom は、次の値を返します。 0 status と一致するメッセージがある場合 1 メッセージはあるが status と一致するものがない場合 2 メッセージがまったくない場合 3 エラーが起きた場合 複数のメールボックスまたはフォルダが指定された場合、終了ステータスは最後に調べられたメッセージの結 果を表します。終了ステータスは最後に調べられたメッセージの結果を表します。このステータスをスクリプ トで使用して、ユーザーが持っているメールの種類を判断することができます。 診断 You have no mail. 受信メールボックスにメッセージがありません。 You have no new mail. HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-817 mailfrom(1) mailfrom(1) メッセージはありますが、新規メッセージがありません。 username has no mail. username の受信メールボックスにメッセージがありません。 You have n new messages, u unread messages, r read messages. -q および -S オプションを使用すると受信メールボックスの一行サマリが表示されます。 例 ユーザーのメールボックスにあるすべてのメッセージのヘッダー情報を表示します。 mailfrom ユーザーのメールボックスにあるすべての new メッセージのヘッダー情報を表示します mailfrom -s new guest のメールを読むのに適切なパーミッションがあると仮定し、 guest の受信メールボックスにあるすべての new および unread メッセージのヘッダー情報を印字します。 mailfrom -s new -s unread guest ユーザーのメールボックスにある new、unread、および read メッセージの件数のみをまとめて印字します。 mailfrom -q -S ファイル $HOME/.elm/elmrc ユーザーの elm 設定ファイル /var/mail 受信メールボックスのディレクトリ 著者 mailfrom はHPで開発されました。 参照 elm(1), mail(1), mailx(1), readmail(1). Section 1-818 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 mailq(1) mailq(1) 名称 mailq − メール待ち行列の表示 構文 mailq [−Ac] [−q...] [-v] 説明 mailq は、後で配信する待ち行列に入っているメールメッセージの要約を出力します。 各メッセージについて出力される先頭行は、このホストでメッセージを識別するために使用する内部識別子、 バイト単位のメッセージのサイズ、メッセージを待ち行列に受け付けた日付と時刻、およびメッセージのエン ベロープ送信者を示します。 2 番目の行は、このメッセージが待ち行列で保持される原因を示すエラーメッ セージです。メッセージが初めて処理される場合には、この行は存在しません。次のステータス文字がありま す。 * ジョブが処理中であることを示します。 X ジョブを処理するには、負荷が高すぎることを示します。 - ジョブを処理するには、新しすぎることを示します。 2行目以降の行は、メッセージ受信者を1行に1つずつ示します。 mailq は、 sendmail -bp と同じです。 オプション mailq でサポートされているオプションは次のとおりです。 -Ac /etc/mail/sendmail.cf ファイルで指定されている MTA キューではなく、 /etc/mail/submit.cf ファイルで指定されているメールサブミットキューを表示します。 -qL 通常のキュー項目ではなく、メールキュー内の遺失項目を表示します。 -qQ 通常のキュー項目ではなく、メールキュー内の隔離項目を表示します。 -q[!]I substr キューID にサブストリングとして substr を含むジョブだけに限定して (! が指定されている 場合は、substr を含まないジョブだけに限定して) 処理します。 -q[!]Q substr 隔離理由にサブストリングとして substr を含む隔離ジョブだけに限定して (! が指定されてい る場合は、substr を含まない隔離ジョブだけに限定して) 処理します。 -q[!]R substr 受取者のいずれかにサブストリングとして substr を含むジョブだけに限定して (! が指定され ている場合は、substr を含まないジョブだけに限定して) 処理します。 -q[!]S substr 発信者にサブストリングとして substr を含むジョブだけに限定して (! が指定されている場合 は、substr を含まないジョブだけに限定して) 処理します。 -v 詳細な情報を出力します。これにより、メッセージの優先順位と、メッセージの先頭行で警 告メッセージを送信したかどうかを示す一文字のインジケータ (+ または空白) を出力しま HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-819 mailq(1) mailq(1) す。さらに、「制御ユーザー」情報を示す追加行が受信者と混在することもあります。この 情報は、このメッセージによって実行されるプログラムの所有者、およびこのコマンドが展 開される元の別名 (エイリアス) が存在する場合にはその名称を示します。 戻り値 mailq ユーティリティは正常終了すると 0 を返し、エラーが発生すると >0 で終了します。 著者 mailq はカリフォルニア大学バークレイ校で開発され、4.0BSDで最初に提供されました。 ファイル /var/spool/mqueue/* sendmail 用のメール待ち行列ファイル 参照 sendmail(1M) Section 1-820 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 mailstats(1) mailstats(1) 名称 mailstats − メールトラフィックの統計情報の表示 構文 mailstats [-C cffile ] [-f stfile ] [-o] [-p] 説明 mailstats は sendmail の統計ファイルを読み取って解釈し、メールトラフィックの統計を表示します。統計 ファイルは、 /etc/mail/sendmail.cf の StatusFile オプションで設定されるファイルです。デフォルトの統計ファ イルは、 /etc/mail/sendmail.st です。統計ファイルが存在する場合、 sendmail はメールトラフィックについて の統計情報を収集し、そのファイルに格納します。このファイルのサイズは変わりません。 統計情報は、 sendmail の構成ファイルで定義されているメールプログラムごとに収集されます。メッセージ数 と、発着信トラフィックすべてのバイト数の統計情報が収集されます。 mailstats ユーティリティは、統計情報の収集が開始された時間を最初の行に表示します。次に、各メールプロ グラムの統計情報がそれぞれ 1 行に表示され、それぞれの行には空白文字で区切られた以下のフィールドがあ ります (下記の「例」の項を参照)。 M メールプログラムの番号 msgsfr メールプログラムからのメッセージ数 bytes_from メールプログラムからの K バイト数 msgsto メールプログラムへのメッセージ数 bytes_to メールプログラムへの K バイト数 msgsrej 拒否されたメッセージの数 msgsdis 破棄されたメッセージの数 Mailer メールプログラムの名称 この表示の後に、すべてのメールプログラムの値の総計の行が表示されます。これは、その前の情報とは、等 号 (‘‘=’’) のみを含む行によって区切られています。 注記 mailstats を使用できるのは特権ユーザーだけです。 オプション オプションは、次のとおりです。 −C cffile デフォルトの /etc/mail/sendmail.cf ファイルではなく指定された cffile を読み取ります。 −f stfile /etc/mail/sendmail.cf ファイルで指定された統計情報ファイルではなく、指定された統計情報ファ イル stfile を読み取ります。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-821 mailstats(1) mailstats(1) −o メールプログラムの名前を表示しません。 −p プログラム読み取り可能モードで情報を出力し、統計をクリアします。 統計ファイルをクリアするには、ルートとして次のコマンドを実行します。 cp /dev/null statistics-file 戻り値 mailstats ユーティリティは、正常終了すると 0 で終了し、エラーが発生すると0より大きな値で終了します。 診断 統計ファイルにアクセスできないか、統計ファイルのサイズが変わった場合は、 mailstats がエラーメッセージ を出力します。エラーメッセージは次のとおりです。 mailstats: file size changed statistics-file の長さがゼロ (ファイルがクリアされてからメールが転送されていない) か、ファ イルのサイズが変わりました。このファイルはサイズが一定のはずなので、サイズが変わった 場合はファイルが不正です。 mailstats: statistics-file: No such file or directory 統計ファイルが存在しません。 mailstats: statistics-file: Permission denied 統計ファイルのパーミッションが読み取り可能に設定されていません。 例 mailstats の一般的な出力例を、次に示します。 Statistics from Thu Jul 11 14:12:40 1996 M msgs f r byt es_f rom msgs to 0 0 0K 3 byt es_to msgs re j msgsdi s Ma i l er 4K 0 0 prog 3 3 4K 0 0K 0 0 l oca l 5 2 1K 11 11K 4 0 esmtp ============================================================= T 13 13K 14 15K 4 0 この例では、出力された量のメールトラフィックを、7 月 11 日 (木) 以降にメールプログラム 0、3、5 が処理 したことを示しています。特にメールプログラム esmtp (M 5)では、 sendmail がメッセージ 11 個で 11K バイ ト送信していますが、4 個のメッセージが拒否されています。 著者 mailstats は、カリフォルニア大学バークレイ校で開発されました。 ファイル /etc/mail/sendmail.st Section 1-822 Hewlett-Packard Company デフォルトのメールトラフィック統計ファイル −2− HP-UX 11i Version 3: February 2007 mailstats(1) /etc/mail/sendmail.cf mailstats(1) sendmail構成ファイル 参照 sendmail(1M) HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-823 mailx(1) mailx(1) 名称 mailx − 対話型メールメッセージ処理システム 構文 送信モード mailx [−FUm] [−s subject] [−r address] [−h number] address ... 受信モード mailx −e mailx [−UHLiNn] [−u user] mailx −f [−UHLiNn] [ filename] 旧版 mailx [−f filename] [−UHLiNn] 説明 mailx により、メッセージを電子的に送受信するための快適で柔軟な環境が得られます。メールを読み出す 際、 mailx は、メッセージのセーブ、削除、および応答を容易にするコマンドを与えます。メールを送信する 際、 mailx により、作成メッセージの編集、再表示、およびその他の修正が可能になります。 各ユーザーの着信したメールは、そのユーザーの システムメールボックスという標準ファイルに記憶されま す。 mailx を使用してメッセージを読み出す際、特定のファイル名を付けるか、または付けずに −f オプション を使って別のメールボックスファイルが指定されない限り、システムメールボックスが使用されます。着信し たメッセージがシステムメールボックスから読み出されるにつれて、 (特定のアクションがとられない限り) 記 憶用に2次ファイルに移動されたものとしてマークされます。したがって、そのメッセージを再び表示される 必要はありません。この2次ファイルは mbox といい、通常はユーザーの HOME ディレクトリにあります(こ のファイルおよび mailx で使用する他の環境変数の説明については、以下の「環境変数」にある MBOX の説 明を参照)。メッセージは、特に削除されるまでこのファイルに残ります。 ハイフン (−) およびその他すべての引き数から始まるコマンド行オプションは、宛先(受け側)であるものと仮 定されます。 空白を含む引数は引用符で囲まなければいけません。 受け側を指定しなければ、 mailx はメッセージをシステムメールボックスから読み出そうとします。 コマンド行で指定する受け側のアドレスは、全体の長さが1024文字未満でなければなりません。 alias または group (下記の「コマンド」を参照)を宣言すれば、受け側のアドレスを 1つ指定したり、8191文字以内で複数 のアドレスのリストを指定して、その別名やグループ名を使用できます ( ただし、リスト内の各アドレスは 1024文字未満でなければなりません)。この制限を超える長さの受け側アドレスリストを指定したければ、シス テム管理者に依頼してシステム別名ファイルの /etc/mail/aliases で別名またはグループを宣言してもらい、その 別名を使用してください。 Section 1-824 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) オプション mailx は以下のコマンド行オプションを認識します。 −e メールが存在するかどうか検査します。読み出すメールがある場合、 mailx は何もプ リントしないで正常なリターンコードで終了します。ログイン時のメールがあるかど うかチェックするために $HOME/.profile などのログインスクリプトで使用すること もあります。 −f filename ユーザーのシステムメールボックスの代わりに filename からメッセージを読み出しま す。 filename を指定しなければ2次 mbox が使用されます。 注記: -f filename オプションを mailx で使用するするときは、システムメールボックス (例えば、 /var/mail/user) を filename として指定してはいけません。 mailx 標準では、 -f オプションをシステムメールボックスのメッセージを読むために使うことができま せん。この状況での mailx の動作は定義されていません。 また、以下のような場合でも mailx の動作は定義されていません。 −F • -f および -u オプションがコマンド行で同時に指定される。 • -f または -u オプションがコマンド行で複数回指定される。 最初の受け側の名称を付けたファイルにメッセージを記録します。設定されると record 環境変数に置き換えます。 −h number これまでに行われたネットワーク「ホップ」の数。これは、無限の受渡しループを防 止するためにネットワークソフトウェアに用意されています。 −H ヘッダ要約のみをプリントします。 −L ヘッダの詳細情報のみをプリントします。 −i 割込みを無視します。以下の ignore 環境の説明も参照してください。 −n システムデフォルト mailx.rc ファイルから初期化しません。 −m メールを送信している間は MIME ヘッダ行 Mime Version, Content Type および Content Encoding をヘッダ情報に追加しません。 −N −r address 初期ヘッダ要約をプリントしません。 address をネットワーク受渡しソフトウェアに渡します。ティルドコマンドはすべて ディスエーブルされます。 -s subject 表題ヘッダフィールドを subject に設定します。 −u user user のメールボックスを読み出します。 user のメールボックスへの読み出しアクセス が読み出し保護されていない場合に限って使用できます。 HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-825 mailx(1) mailx(1) −U UUCP スタイルのアドレスをインターネット標準に変換します。 conv 環境変数を置 き換えます。 −d デバッギング出力をオンにします。特に興味深いものでもなく、お勧めもしません。 メールを読み出す際、 mailx は コマンドモードで動作します。最初のいくつかのメッセージのヘッダ要約が表 示され、その後に mailx が正規のコマンドを受け付けることができることを示すプロンプトが表示されます(以 下の「コマンド」を参照)。メールを送信する際、 mailx は 入力モードで動作します。コマンド行で表題を指 定しなければ、表題を求めるプロンプトがプリントされます。メッセージが入力されると、 mailx はメッセー ジを読み込んでテンポラリファイルに記憶します。コマンドは、単一のコマンド英字、およびオプションの引 き数が後に続いているティルド (˜) エスケープ文字で行を始めることによって入力できます。これらのコマン ドの要約については、「ティルドエスケープ」を参照してください。 mailx の動作は、1組の 環境変数つまり、 set および unset コマンドを使って設定、クリアされるフラグおよび 値付きパラメータによっていつでも管理されています。これらのパラメータの要約については、以下の「環境 変数」を参照してください。 コマンド行でリストされる受け側は、ログイン名、シェルコマンド、または別名グループの3 種類が可能で す。ログイン名は、混在ネットワークアドレッシングを含む任意のネットワークアドレスとすることができま す。受け側名がパイプ記号 (|) から始まる場合、名前の残りは、メッセージを引き渡すシェルコマンドであるも のと仮定されます。これにより、発信メールを紙に記録するために、 lp (lp(1) を参照)など標準入力を読み込む 任意のプログラムとの自動的なインタフェースが得られます。別名グループは、 alias コマンド (以下の「コマ ンド」を参照) によって設定され、任意のタイプの受け側のリストです。 注記: プラス (+) 記号を前に付けた alias 名にメッセージを送るためには、そのプラス (+) 記号付 alias 名は、以 下に示すように二重引用符 (") の間に入れてください。 mailx [−s subject] \"+alias\" もし二重引用符が使われないと、 mailx は alias 名をプラス記号で始まるユーザー指定ファイル名として認識 します。 「外部環境の影響」下の folder=directory オプションと同様です。 正規の mailx コマンドは、以下の形式です。 [ command ] [ msglist ] [ arguments ] コマンドモードでコマンドを指定しなければ、 print が仮定されます。入力モードでは、コマンドはエスケー プ文字(escape 環境変数によって再定義されない限り、ティルド)で認識され、コマンドとして処理されない行 はメッセージの入力として処理されます。 各メッセージは一連の番号を割り当てられ、つねにヘッダ要約で > でマークされた 現在のメッセージの表記が あります。多くのコマンドは、動作対象のメッセージ (msglist) のオプションリストをとります。このリストの デフォルトは現在のメッセージです。 msglist は、スペースで区切ったメッセージ指定のリストです。メッ セージリストには、以下の項目を含めることができます。 Section 1-826 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) n メッセージ番号 n . 現在のメッセージ ˆ 削除されていない最初のメッセージ $ 最後のメッセージ * すべてのメッセージ n−m n は m 以下として、 n ∼ m の範囲のメッセージ番号 user user からのすべてのメッセージ /string 表題行に string があるすべてのメッセージ(大文字/小文字の相違は無視) :c タイプ c のすべてのメッセージ。ただし、 c は以下のいずれかです。 d 削除したメッセージ n 新しいメッセージ o 以前のメッセージ r 既読のメッセージ u 未読のメッセージ コマンドのコンテクストが、このタイプのメッセージ指定に意味があるかどうかを判定す る点に注意してください。 他の引き数は通常は任意の文字列で、その使い方は関与するコマンドによって異なります。 ファイル名の指定では、ファイル名は通常のシェル規約を使って展開されます(sh(1) を参照)。コマンドによっ ては、特殊文字が認識される場合があります。詳細は、以下のコマンドの説明を参照してください。 起動時に、 mailx はパラメータを初期化するためにシステム全体のファイル (/usr/share/lib/mailx.rc) からコマ ンドを読み、それから、個人用変数のために個人的な起動ファイル ($HOME/.mailrc) から読み込みます。ほと んどの正規のコマンドは起動ファイル内で正当であり、最も一般的な使用は初期表示オプションおよび別名リ ストをセットアップすることです。 !、 Copy、 edit、 followup、 Followup、 hold、 mail、 preserve、 reply、 Reply、 shell および visual のコマンドは起動ファイルでは正当ではありません。起動ファイルに何らかのエ ラーが起こると、ファイルにおける残りの行は無視されます。 コマンド 以下に、 mailx コマンドの完全なリストを示します。 ! command シェルに抜けます。以下の SHELL 環境変数の説明を参照してください。 # comment ヌルコマンド(コメント)。 .mailrc ファイルで有効です。 = 現在のメッセージ番号をプリントします。 ? コマンドの要約をプリントします。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-827 mailx(1) mailx(1) 次のメッセージおよび print に進みます。これが最初に入力したコマンドならば、最初 new-line の未読メッセージがプリントされます (現在のメッセージを読み出すには、 print を使用 します)。 alias alias name ... group alias name ... 与えられた名前に対する別名を宣言します。これらの名前は、 alias を受け側として使 用すると置き換えられます。 .mailrc ファイルで有効です。 alternates name ... ログインに対する別名のリストを宣言します。メッセージに応答する際、これらの名前 は応答の受け側のリストから削除されます。引き数を付けなければ、 alternates は別名 の現在のリストをプリントします。「環境変数」の allnet も参照してください。 cd [ directory ] chdir [ directory ] ディレクトリを変更します。 directory を指定しなければ、 $HOME が使用されます。 copy [ filename ] copy [ msglist ] filename メッセージをセーブしたものとして、マークせずにファイルにコピーします。それ以外 は save コマンドと等価です。 Copy [msglist] 指定されたメッセージをファイルにセーブします。このファイル名はメッセージの著者 によりセーブするよう示されたものです。また、この時メッセージがセーブされたと マークされません。それ以外は Save コマンドと等価です。 delete [msglist] メールボックスからメッセージを削除します。 autoprint が設定されている場合、最後 に削除したメッセージの次のメッセージがプリントされます(「環境変数」を参照)。 dp も参照してください。 discard [header-field ...] ignore [header-field ...] 画面にメッセージを表示する際、指定したヘッダフィールドをプリントしないようにし ます。無視するヘッダフィールドの例に、 "status" および "cc" などがあります。メッ セージがセーブされる時、このフィールドは含まれます。 Print および Type コマンドは このコマンドに置き換えます。 dp[msglist] 指定したメッセージをメールボックスから削除し、最後に削除したメッセージの次の dt[msglist] メッセージをプリントします。 delete コマンドの後に print コマンドを続けたものとほ ぼ等価です。 echo string ... 与えられた単一または複数の文字列をエコーします(echo に類似しています − echo(1) を 参照)。 edit [msglist] 与えられたメッセージを編集します。メッセージはテンポラリファイルに入れられ、エ ディタの名前は EDITOR 変数から取得します(「環境変数」を参照)。デフォルトエディ Section 1-828 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) タは ed です(ed(1) を参照)。 exit xit メールボックスを変更せずに mailx を終了します。メッセージは、 mbox にセーブされ ません(quit を参照)。 file [filename] folder [filename] メッセージのカレントファイルを終了し、指定したファイルに読み込みます。いくつか の特殊文字は、ファイル名として使用するときに認識され、以下のように置換えが行わ れます。 % 現在のメールボックス %user user のメールボックス # 以前のファイル & 現在の mbox デフォルトファイルは現在のメールボックスです。 folders は folder 変数 (「環境変数」を参照) によって設定したディレクトリにファイルの名前を プリントします。 followup [message] メッセージに応答し、応答をファイルに記録します。そのファイル名はメッセージの著 者から得られるものです。設定されている場合、 record 変数に置き換えます。 Followup, Save および Copy コマンド、および outfolder (「環境変数」を参照)も参照してく ださい。 Followup [msglist] msglist の最初のメッセージに応答し、 msglist の各メッセージの著者にメッセージを送 信します。表題行は最初のメッセージから抽出され、応答は、その名前が最初のメッ セージの著者から得られるファイルに記録されます。 followup, Save, および Copy コマ ンド、および outfolder (「環境変数」を参照)も参照してください。 from [msglist] 指定したメッセージのヘッダ要約をプリントします。 group alias name... alias alias name... 与えられた名前に対する別名を宣言します。名前は alias を受け側として使用すると置 き換えられます。 .mailrc ファイルで有効です。 headers [message] 指定したメッセージを含むヘッダのページをプリントします。 screen 変数 ( 「環境変 数」を参照) は、ページ当たりのヘッダ数を設定します。 z コマンドも参照してくださ い。 help コマンドの要約をプリントします。 hold [msglist] preserve [msglist] 指定したメッセージを mailbox に保持します。 HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-829 mailx(1) mailx(1) if s r mail-commands else mail-commands 条件付き実行、ただし、 s は付随する mail-commands を else まで、プログラムが送信 endif モードにある場合には endif まで実行します。また、 r により、付随する mail-commands は受信モードでのみ実行されます。 .mailrc ファイルで使用することを目的とし ています。 ignore header-field ... discard header-field ... 画面にメッセージを表示する際、指定したヘッダフィールドをプリントしないようにし ます。無視するヘッダフィールドには、 status および cc などがあります。メッセージ がセーブされると、すべてのフィールドが含まれます。 Print および Type コマンドはこ のコマンドに置き換えます。 list 利用可能なコマンドをすべてプリントします。説明は示されません。 mail name ... メッセージを指定したユーザーに送ります。 mbox [msglist] mailx が正常に終了すると、与えられたメッセージが標準 mbox セーブファイルで終了 するように手配します。このファイルの説明については、「環境変数」の MBOX の説 明を参照してください。 exit および quit コマンドも参照してください。 next [ message ] message に一致する次のメッセージに移動します。 msglist を指定できますが、この場 合、リストにある最初に有効なメッセージだけが使用されます。これは、特定のユー ザーから次のメッセージにジャンプするのに便利です。これは実際のコマンドがないと き、この名前がコマンドと解釈されるためです。可能なメッセージ指定の説明について は、上記の msglists の説明を参照してください。 pipe [msglist] [command] | [msglist] [command] msglist 内のメッセージを指定した command に引き渡します。各メッセージが読み込ま れたかのように処理されます。 msglist を指定しなければ現在のメッセージが使用され ます。 command を指定しなければ、 cmd 変数の現在の値によって指定されるコマンド が使用されます。 msglist を指定すると command も指定しなければなりません。 page 変数を設定すると、各メッセージの後にフォームフィード文字が挿入されます(「環境変 数」を参照)。 preserve [msglist] hold [msglist] 指定したメッセージを mailbox に保存します。 Print [msglist] Type [msglist] ヘッダフィールドをすべて含めて画面に指定したメッセージをプリントします。 ignore コマンドによるフィールドの抑制に置き換えます。 Section 1-830 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) print [ msglist ] type [ msglist ] 指定したメッセージをプリントします。 crt が設定されている場合、 crt 変数で指定し た行数よりも長いメッセージは、 PAGER 変数で指定したコマンドによって改ページさ れます。デフォルトコマンドは pg (pg(1) を参照 ) ですが、多くのユーザーは more (more(1) を参照)もよく使います(「環境変数」を参照)。 quit mailx を終了し、 mbox に読み出したメッセージや未読のメッセージをユーザーのシス テムメールボックスにストアします。明示的にファイルにセーブしたメッセージは削除 されます。 Reply [msglist] Respond [msglist] msglist 内の各メッセージの著者に応答を送信します。表題行は最初のメッセージからと られます。 record がファイル名に設定されると、応答はそのファイルの終わりにセーブ されます (「環境変数」を参照)。 reply [message] respond [message] メッセージの他の受け側をすべて含めて指定したメッセージに応答します。 record が ファイル名に設定されると、応答はそのファイルの終わりにセーブされます( 「環境変 数」を参照)。 Save [msglist] 指定したメッセージを、その名前が最初のメッセージの著者から得られるファイルに セーブします。ファイル名は、すべてのネットワークアドレッシングを削除した著者名 に基づいていきます。 Copy, followup および Followup コマンド、 outfolder ( 「環境変 数」を参照)も参照してください。 save [filename] save [msglist] filename 指定したメッセージを指定ファイルにセーブします。このファイル filename が存在しな ければ作成されます。 keepsave が設定されていない限り、 mailx が終了すると、メッ セージは mailbox から削除されます(「環境変数」および exit および quit コマンドを参 照)。 注記: もし mailx が -f オプションで起動されると save コマンドは copy コマンドと同じ 機能を実行します。 set set name set name=string set name=number name という変数を定義します。この変数は、ヌル、文字列、または数値を与えることが できます。 Set は、単独ですべての定義済みの変数および値をプリントします(mailx 変 数の詳細については、「環境変数」を参照)。 shell 対話型シェルを呼び出します(「環境変数」の SHELL を参照)。 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-831 mailx(1) mailx(1) size [msglist] 指定したメッセージの文字数をプリントします。 source filename 与えられたファイルからコマンドを読み込んでコマンドモードに戻ります。 top [ msglist ] 指定したメッセージの最上部の数行をプリントします。 toplines 変数が設定されると、 これがプリントする行数と解釈されます(「環境変数」を参照)。デフォルトは 5です。 touch [msglist] 指定したメッセージにタッチします。 msglist 内のあるメッセージが特にファイルに セーブされなければ、それは正常終了時に mbox に入れられます。 exit および quit を参 照してください。 Type [msglist] Print [msglist] ヘッダフィールドをすべて含めて指定したメッセージを画面にプリントします。 ignore コマンドによるフィールドの抑制に置き換えます。 type [msglist] print [msglist] 指定したメッセージをプリントします。 crt が設定されている場合、 crt 変数で指定し た行数よりも長いメッセージのページは、 PAGER 変数で指定したコマンドによって改 ページされます。デフォルトコマンドは pg ですが、多くのユーザーは more もよく使い ます(「環境変数」を参照)。 unalias alias 指定した alias 名を廃棄します。 undelete [msglist] 指定した削除メッセージをリストアします。現在のメールセッションで削除したメッ セージだけをリストアします。 autoprint が設定されている場合、最後にリストアした メッセージがプリントされます(「環境変数」を参照)。 unset name... 指定した変数が消去されます。変数が実行環境からインポートされたシェル変数であっ た場合、これは消去できません。 現在のバージョンおよびリリースの日付をプリントします。 version visual [msglist] スクリーンエディタを使って与えられたメッセージを編集します。メッセージはテンポ ラリファイルに入れられ、 VISUAL 変数を使用してエディタの名前を取得します(「環 境変数」を参照)。 write [msglist] filename ヘッダ("From ..."行)と後続の空白行を除いて、与えられたメッセージを指定したファイ ルに書き込みます。それ以外の点では、 save コマンドと等価です。 xit exit メールボックスを変更せずに mailx を終了します。メッセージは、 mbox にセーブされ ません(quit も参照)。 z[+ −] ヘッダ表示を1 画面だけ順方向または逆方向にスクロールさせます。表示されるヘッダ 数は screen 変数 (「環境変数」を参照)によって設定されます。 Section 1-832 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) ティルドエスケープ 以下のコマンドは、ティルドエスケープ文字 (˜) で行を始めることにより、入力モード時に限って使用できま す。この特殊文字の変更については、 escape (「環境変数」で説明)を参照してください。 ˜!command シェルに抜けます。 ˜. ファイルの終りをシミュレートします(メッセージ入力を終了します)。 ˜:mail-command ˜_ mail-command コマンドレベルの要求を行います。メールを読み込みながらメッセージを送信するとき に限って有効です。 ˜? ティルドエスケープの要約をプリントします。 ˜A サイン文字列 Sign をメッセージに挿入します (「環境変数」を参照)。 ˜a サイン文字列 sign をメッセージに挿入します (「環境変数」を参照)。 ˜b name ... name をブラインド カーボンコピー(Bcc)リストに追加します。 ˜c name ... name をカーボン紙複写(Cc)リストに追加します。 ˜d dead.letter ファイルに読み込みます。このファイルの説明については、 DEAD ( 「環境 変数」) を参照してください。 ˜e エディタを部分的なメッセージに呼び出します。以下の EDITOR 環境変数の説明も参 照してください。 ˜f [msglist] 指定したメッセージを送信します。このメッセージは、変更せずにメッセージに挿入さ れます。 ˜h 表題行およびTo、Cc、およびBccリストを求めます。フィールドが初期値で表示される 場合、それは、ちょうどタイプしたものと同じように編集できます。 ˜i string 指定した変数の値をメッセージのテキストに挿入します。例えば、 ˜A は ˜i Sign と等価 です。 ˜m [msglist] 指定したメッセージを英字に挿入し、新しいテキストを1 タブストップだけ右にシフト します。メールを読み込みながらメッセージを送信するときに限って有効です。 ˜p ˜q 入力対象のメッセージをプリントします。 割込みをシミュレートすることにより、入力モードを終了します。メッセージの本文が ヌルでなければ、部分的なメッセージは dead.letter にセーブされます。 DEAD 環境変 数の説明については、以下のこのファイルの説明を参照してください。 ˜R name ... name を Reply-To リストに追加します。 ˜r filename HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-833 mailx(1) mailx(1) ˜< filename 指定したファイルに読み込みます。引き数が感嘆符 (!) から始まる場合、残りの文字列 ˜<!command は任意のシェルコマンドであるものと仮定され、標準出力をメッセージに挿入して実行 されます。 ˜s string ... 表題行を string に設定します。 ˜t name ... name を To リストに追加します。 希望するスクリーンエディタを部分的なメッセージに呼び出します。以下の VISUAL 環 ˜v 境変数の説明も参照してください。 ˜w filename 部分的なメッセージをヘッダなしで与えられたファイルに書き込みます。 ˜x ˜q と同様に終了しますが、メッセージが dead.letter にセーブされない点が異なります。 ˜| command メッセージの本文を与えられた command に引き渡します。 command が正常な終了ス テータスを戻す場合、コマンドの出力がメッセージを置き換えます。 外部環境の影響 環境変数 以下の変数は、内部 mailx プログラム変数です。これらの変数は、随時に実行環境からインポートできるか、 または set コマンドによって設定できます。 unset コマンドを使用すると、変数を消去できます。 ログイン名が一致するネットワーク名はすべて同一であるものとして処理されます。こ allnet れにより、 msglist メッセージ指定は同様に動作します。デフォルトは noallnet です。 alternates コマンドと metoo 変数も参照してください。 終了時に、ファイルの先頭に挿入するのではなく mbox ファイルの終わりにメッセージ append を追加します。デフォルトは noappend です。 askbcc メッセージの入力後にBccリストを求めます。デフォルトは noaskbcc です。 askcc メッセージの入力後にCcリストを求めます。デフォルトは noaskcc です。 asksub 表題が −s オプションでコマンド行に指定されていなければ、表題を求めます。デフォ ルトではイネーブルされます。 delete および undelete コマンドの後で、メッセージの自動プリントをイネーブルしま autoprint す。デフォルトは noautoprint です。 vi の場合と同様にシェルエスケープ コマンド行において感嘆符 (!) の特殊な処置をイ bang ネーブルします。デフォルトは nobang です。 charset=charset デフォルトのキャラクタセットを設定します。何も指定しなければ、 mailx は LANG の 値を使用して、ユーザーのロケール用のシステムデフォルトを探そうとします。見つか らなければ、デフォルト値の us-ascii を使用します。 Section 1-834 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) cmd=command pipe コマンドに対してデフォルトコマンドを設定します。デフォルト値はありません。 conv=conversion UUCP アドレスを、指定したアドレススタイルに変換します。現在サポートされている 有効な変換は internet だけであり、これには、電子メールアドレッシングの RFC822 標 準に準拠するメール配信プログラムが必要です。変換はデフォルトではディスエーブル されます。 sendmail および −U コマンド行オプションも参照してください。 crt=number number 行を超えるメッセージを PAGER 変数(デフォルトは pg ( pg(1) を参照)) の値で指 定したコマンドに引き渡します。デフォルトではディスエーブルされます。 DEAD= filename 場違いな割込み、または配信エラーの場合に部分的にメールをセーブするファイル名。 デフォルトは $HOME/dead.letter です。 debug デバッギングのために詳細を表示した診断をイネーブルします。メッセージは送られま せん。デフォルトは nodebug です。 dot ターミナルから入力を処理する際、行上の単独の ASCII ピリオド文字をファイルの終わ りとして解釈します。デフォルトは nodot です。 EDITOR=command edit または ˜e コマンドを使用すると動作するコマンド。デフォルトは ed です(ed(1) を 参照)。 encoding=encoding 8 ビット文字が存在するときに使用するデフォルトのコード化方式を設定します。使用 できる値は、 quoted-printable, base64, および 8bit です。quoted-printable については省略 形の q−p も使用できます。デフォルト値は、 charset の値に基づいて決定されます。 8bit の値は、コード化しないことを意味します。 escape=c c を ˜ エスケープ文字に置き換えます。 folder=directory 標準メールファイルをセーブするためのディレクトリ。プラス(+)で始まるユーザー指定 のファイル名は、ファイル名の前にこのディレクトリ名を付けることによって展開さ れ、実際のファイル名になります。 directory がスラッシュ (/) から始まらなければ、 $HOME がプレフィックスとして使用されます。 folder 変数のデフォルトはありませ ん。以下の outfolder も参照してください。 header mailx の入力時にヘッダ要約のプリントをイネーブルします。デフォルトではイネーブ ルされます。 hold 読み出されるメッセージをすべて、標準 mbox セーブファイルに書き込むのではなくシ ステムメールボックスに保存します。デフォルトは nohold です。 ignore メッセージの入力時に割込みを無視します。雑音の多い電話回線によって通信するとき に有効です。デフォルトは noignore です。 ignoreeof メッセージ入力時のファイルの終わりを無視します。入力は、行上の単独のピリオド (.) か、または ˜ コマンドで終わらなければなりません。デフォルトは noignoreeof です。 上記の dot も参照してください。 HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-835 mailx(1) mailx(1) mailbox が空のとき、それを削除せずに、その長さをゼロに切り捨てます。デフォルト keep ではディスエーブルされます。 システムメールボックスで他のファイルにセーブされているメッセージを、削除するの keepsave ではなく保持します。デフォルトは nokeepsave です。 MBOX= filename 読み出されたメッセージをセーブするファイル名。 xit コマンドは、メッセージを明示 的 に 別 の ファ イ ル に セー ブ す る た め、 こ の 関 数 に 置 き 換 え ま す。 デ フォ ル ト は $HOME/mbox です。 通常、発信者の含まれるグループ(別名)が展開されると、発信者は展開から削除されま metoo す。このオプションの設定により、発信者はグループに含まれます。デフォルトは nometoo です。 mimeheader=value メールの送信時に、MIMEヘッダを追加するか、使用不能にします。 "value" は ’yes’ ま たは ’no’ です。 LISTER=command folder ディレクトリの内容をリストする際に使用するコマンド(およびオプション)。デ フォルトは ls です。 NOMETAMAIL=value MIME メッセージを読むためのmetamail の使用を無効にするには、value をTRUE に設定 します。デフォルトでは、NOMETAMAIL変数は設定されていません。 元々複数の受け側に送られたメッセージに応答する際、他の受取り側アドレスは通常、 onehop 強制的に応答の発信側著者のマシンに関連付けられます。このフラグは、受け側アドレ スの変更をディスエーブルし、すべてのマシンがその他すべてのマシンに直接送信でき る(つまり、ユーザーがホップする)ネットワークで効率を改善します。 発信メッセージの記録に使用するファイルを folder 変数によって指定されるディレクト outfolder リに入れます。デフォルトは nooutfolder です。上記の folder および Save, Copy, followup および Followup コマンドを参照してください。 pipe コマンドと併用すると、パイプを通じて送信される各メッセージの後にフォーム page フィードを挿入します。デフォルトは nopage です。 PAGER=command 出力のページ付けを行うためにフィルタとして使用するコマンド。これを使用すると、 pagerコマンド行オプションも指定できます(例えば、 set PAGER="more -c")。デフォル トは pg ( pg(1)を参照) ですが、 more (more(1) を参照)もよく使用されます。 prompt= string command mode プロンプトを string に設定します。デフォルトは ? です。 quiet mailx を入力する際、オープンメッセージおよびバージョンをプリントしないようにな ります。デフォルトは noquiet です。 record= filename 発信メールをすべて filename に記録します。デフォルトではディスエーブルされます。 上記の outfolder も参照してください。 Section 1-836 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 mailx(1) mailx(1) replyto=address 返信の送信先となるアドレスを指定します。 割込みまたは受渡しエラー時に dead.letter におけるメッセージのセーブをイネーブルし save ます。このファイルの説明については DEAD を参照してください。デフォルトではイ ネーブルされます。 screen=number headers コマンドの1画面分のヘッダにおける行数を設定します。 sendmail=command メッセージを送るための別のコマンド。デフォルトは mail です(mail(1) を参照)。 sendwait バックグラウンド メールプログラムが終了するまで戻りません。デフォルトは nosendwait です。 SHELL=command 使用するコマンドインタプリタの名前。デフォルトはユーザーのログインプログラムで す(passwd(4)、 shells(4)、および chsh(1) を参照)。注記: ユーザーのログインプログラム がシェルではなく mailx を実行したスクリプトファイルであるような特殊な場合、 mailx はユーザーが自身の $HOME/.mailrc ファイルで SHELL= /usr/bin/sh を明示的に 設定するよう要求します。 ヘッダ要約を表示しており、そのメッセージがユーザーからきた場合、著者名ではなく showto 受け側名をプリントします。 sign=string ˜a (サイン)コマンドでメッセージのテキストに挿入される変数。デフォルトはありませ ん(「ティルドエスケープ」における ˜i も参照)。 Sign=string ˜A (サイン)コマンドでメッセージのテキストに挿入される変数。デフォルトはありませ ん(「ティルドエスケープ」における ˜i も参照)。 SMARTMAILER SMARTMAILER が設定されると、各種コマンドは、デフォルトの From 行ではなく From: 行を使用します。 toplines=number top コマンドでプリントするヘッダの行数。デフォルトは5です。 VISUAL=command 希望するスクリーンエディタの名前。デフォルトは vi です(vi(1) を参照)。 以下は、実行環境からとられた環境変数であり、 mailx 内では変更不能です。 HOME ユーザーのホームディレクトリ。これは通常ログイン直後の現在のディレクトリで す。 MAIL 読まれる初期化されたメールボックスの名前。デフォルトで、そのメールボックスは /var/mail/username に設定されます。この環境変数はデフォールト設定を上書きし て、 mailx は、その環境変数で指定されたメールボックスを開くことになります。 MAILRC メールプログラム起動ファイルの名前。デフォルトは $HOME/.mailrc です。 LC_COLLATE LC_CTYPE コマンドインタプリタ (前述の SHELL を参照) が呼び出されると、 LC_COLLATE お よび LC_CTYPE は mailx に影響を与えます。 LC_COLLATE および LC_CTYPE の HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-837 mailx(1) mailx(1) 動作を決定するには、適用可能なコマンドインタプリタの対応するシェルのマニュア ルエントリーを参照してください。 LC_TIME LC_TIME は、表示される日時文字列のフォーマットおよび内容を決定します。現在 使用している環境において、 LC_TIME が指定されていない場合や、空の文字列が設 定されている場合には、 LANG の値がその変数のデフォルトとして用いられます。 LANG が 指 定 さ れ て い な かっ た り、 空 の 文 字 列 の 場 合 に は、 デ フォ ル ト の "C" (lang(5) 参照) が LANG の値として使われます。多言語対応変数のいずれかの設定が 不適当な場合には、 mailx はすべての多言語対応変数が "C" に設定されているものと して動作します。 environ(5) を参照してください。 TMPDIR 設定されると、 TMPDIR 環境変数は、テンポラリファイルに使用するディレクトリ を指定し、デフォルトディレクトリ /tmp に置き換えます。 サポートされるコードセット メールテキスト内では、シングル/ マルチバイトの文字コードセットがサポートされています。ヘッダは、7 ビット USASCII 文字コードセットからの文字に制限されます(ascii(5) を参照)。 警告 command が有効であるものとして示される場合には、引き数は必ずしも常に許されるとは限りません。試して みることをお勧めします。 実行環境からインポートされる内部変数は unset できません。 完全なインターネットアドレッシングは、 mailx によって完全にはサポートされません。新しい国際標準が確 定するまでには、多少時間を要します。 mail、つまり標準メール配信プログラムは、ドット (.) だけで構成される行をメッセージの終端として処理し ます。 2 つの別々のメールプログラムを使用して ( 通常は不用意に2 つの別々のウィンドウから) 同時に同じメール ファイルにアクセスすると、予測できない結果が発生することがあります。 誤って解釈されないように、空白を含む引数は引用符で囲んでください。 ファイル ポストオフィスのディレクトリ (モード775、グループ ID mail) /var/mail/ /var/mail/user user のシステムメールボックス ( モード660、 user が所有、グループ ID mail) $HOME/.mailrc 個人的な起動ファイル /usr/share/lib/mailx.rc グローバル起動ファイル $HOME/mbox 2次記憶ファイル Section 1-838 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 mailx(1) /tmp/R[emqsx]* mailx(1) テンポラリファイル 参照 chsh(1), echo(1), ed(1), lp(1), ls(1), mail(1), more(1), pg(1), sh(1), vi(1), passwd(4), shells(4), ascii(5), environ(5), lang(5) 標準準拠 mailx: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 mailx に関する詳細情報は、 "UNIX 95 standard document specification" の mailx 項を参照してください。 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-839 make(1) make(1) 名称 make − プログラムグループの保守、更新、および再生成 構文 make [−f makefile] [−bBdeiknpPqrsStuw] [macro_name=value] [names] 説明 makefile の構造 makefile には、ターゲット行、シェルコマンド行、マクロ定義、およびインクルード行の4種類の行を含める ことができます。 ターゲット行 ターゲット行は、ターゲットを空白で区切ったヌルでないリスト、その後のコロン (:) またはダブルコロン (::)、その後の dependents という前提条件ファイルのリスト ( 通常はヌル) で構成されます。従属条件として ファイル名を生成するために、パターンマッチング表記 (regexp(5) を参照) がサポートされています。 シェルコマンド行 ターゲット行のセミコロン(;) の後のテキストとタブから始まる行はすべて、ターゲットを更新するために実行 するシェルコマンドです (シェルについては以下の「環境」の項を参照)。先頭がタブまたは # から始まらない 行 は、 ター ゲッ ト 定 義、 マ ク ロ 定 義、 ま た は イ ン ク ルー ド 行 に な り ま す。 シェ ル コ マ ン ド は、 <backslash><new-line>シーケンスを使うと、複数行にわたって続けることができます。 対応するコマンド行があるターゲット行は rules といいます。 マクロ string1 = string2 形式の行はマクロ定義です。マクロは、makefile の任意位置で定義できますが、通常は先頭に まとめられます。 string1 はマクロ名で、string2 はマクロ値です。 string2 は、コメント文字またはエスケープ していない改行までのすべての文字として定義されます。 = のすぐ左右にあるスペースやタブは無視されま す。以降、makefile の(コメントを除く)任意の位置に現れる $(string1) は string2 に置き換えられます。 1文字 マクロ名が使用されており、置換えシーケンスがなければ、小かっこはオプションです。オプションの置換え シーケンス $(string1 [:subst1=[ subst2 ] ]) を指定でき、これにより、string1 値の部分文字列の終わりで、重複し ないすべての subst1 が subst2 に置き換えられます。マクロ値における部分文字列は、空白、タブ、改行文字、 および行の先頭で区切られます。例えば、 OBJS = file1.o file2.o file3.o の場合、 $(OBJS:.o=.c) は file1.c file2.c file3.c と評価されます。マクロ値は、他のマクロへの参照を含めることができます(「警告」を参照)。 Section 1-840 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 make(1) make(1) ONE = 1 TWELVE = $(ONE)2 $(TWELVE) の値は $(ONE)2 に設定されますが、これがターゲット、コマンド、インクルード行で使用される と 12 に拡張されます。makefile またはコマンド行において ONE の値が次にさらに別の定義によって変更され ると $(TWELVE) への参照はすべてこの変更を反映します。 マクロ定義はコマンド行でも指定でき、これは、makefile 内での定義より優先されます。 (UNIX 標準のみ。 standards(5) 参照。コマンド行のマクロは MAKEFLAGS 環境変数に追加されます。コマン ド行マクロを使わずに MAKEFLAGS 環境変数内で定義されたマクロは、環境にマクロを追加して同じ名前の 既存環境変数を置き換えます。) make に対して自動的に定義されるマクロもあります(組込みマクロを参照)。マクロ定義の処理順序の説明につ いては、「環境」の項を参照してください。 マクロに割り当てる値は、条件マクロ定義で変更できます。条件マクロ定義の形式は target := string1 = string2 です。ターゲットに対応するターゲット行を処理しているときは、条件マクロ定義で指定した値が有効です。 string1 を事前に定義していれば、string1 の新しい値が前の定義と置き換えられます。 string1 の新しい値は、 ターゲットまたはターゲットの従属条件のどれかを処理しているときに有効になります。 インクルード行 文字列 include が makefile で行の最初の7字として現れ、その後に単一または複数のスペースまたはタブ文字が 続く場合、残りの行はファイル名であるものと仮定され、そのファイルのマクロがすべて展開された後でその 内容を別の makefile として make を呼び出すことによって読み込まれ、処理されます。 ターゲットに明示的に対応付けられたコマンドがなく .DEFAULT ターゲットが定義されている場合、make の デフォルトの動作では .DEFAULT 組込みターゲットを使用します。「組込みターゲット」の項を参照してくだ さい。 説明 make は、あらかじめ makefile に入れられたコマンドを実行して、単一または複数のターゲット名を更新しま す。ターゲット名は通常はプログラム名です。 −f オプションを指定しなければ、ファイル名 makefile, Makefile, s.makefile, SCCS/s.makefile, s.Makefile および SCCS/s.Makefile を、この順序で調べます。 −f − を指定する と、標準入力が使用されます。複数の −f オプションを指定できます。 makefile 引き数は、指定した順序で処 理されます。 −f とファイル名との間にはスペースを入れなければならず、複数の makefile 名の前には、それ ぞれ個別に −f オプションを付けなければなりません。 makefile の内容は、組込みの規則やマクロがあればそ れらより優先されます。 コマンド行でターゲット名を指定しなければ、make は (最初の) makefile における最初のターゲットを更新し ます。これは推論規則ではありません。ターゲットは、2つの場合に更新されます。ターゲットが、ターゲッ トよりも新しいファイルに従属する場合と、ターゲットが、更新時刻がターゲットと同一のファイルに従属す る場合です。ファイルを省略すると、最新でないものとみなされます。ターゲットの従属条件はすべて、必要 ならばターゲットを更新する前に再帰的に更新されます。これは、ターゲットの従属ツリーの深さ優先更新に HP-UX 11i Version 3: February 2007 −2− Hewlett-Packard Company Section 1-841 make(1) make(1) 影響を与えます。 ターゲットが、ターゲット行 (explicit dependents) 上のセパレータの後で従属条件を指定していない場合、その ターゲットが存在しなければ、そのターゲットと対応するシェルコマンドが実行されます。 ターゲット行には、単一または複数のターゲット名と明示的な従属名との間にシングルコロンまたはダブルコ ロンのいずれかを入れることができます。同じターゲット名を、複数のターゲット行に入れることもできます が、その行はすべて同じ(シングルコロンまたはダブルコロン)型でなければなりません。通常のシングルコロ ンの場合には、対応する明示的なコマンドを入れられるターゲット行は1つだけです。ターゲットが、任意行 にある従属条件のいずれかに関して最新でない場合、明示的なコマンドが指定されるとこれが実行され、指定 されなければ、デフォルト規則を実行できます。ダブルコロンの場合には、明示的なコマンドをターゲット名 の入った複数のターゲット行と対応付けることができます。ターゲットが、特定行の従属条件のいずれかに関 して最新でない場合、その行のコマンドが実行されます。組込み規則も実行できます。 ターゲット行およびその対応シェルコマンド行は rules ともいいます。 makefile の任意位置にハッシュマーク (#) があればrules内を除いてそこから改行までの部分がコメントになります。 rules内のコメントは SHELL マ クロの設定に依存しています。 以下の makefile は、pgm が2 つのファイル、つまり a.o と b.o に従属しており、a.o と b.o は対応するソース ファイル (a.c と b.c)、および共通ファイル incl.h とに従属していることを示します。 OBJS = a.o b.o pgm: $(OBJS) cc $(OBJS) -o pgm a.o: incl.h a.c cc -c a.c b.o: incl.h b.c cc -c b.c コマンド行はそれぞれ、独自のシェルによって一度に1つずつ実行されます。各コマンド行には、−, @, + の中 から、単一また複数のプリフィックスが付けられます。これらのプリフィックスについては以下に説明があり ます。 ゼロ以外のステータスを戻すコマンドは正常に make を終了します。 −i オプション、または makefile に特殊 ターゲット .IGNORE がある場合、エラーメッセージは標準出力にプリントされますが、 make は、コマンド 行で何回エラーが発生しても makefile の実行を続けます。 − がコマンド行の先頭にある場合、その行によって 戻されるエラーはすべて標準出力にプリントされますが、make は終了しません。プリフィックス − を使用す ると、makefile において選択的にエラーを無視することができます。 −k オプションが指定されており、コマ ンド行がエラーステータスを戻す場合、現在のターゲットに対する作業は放棄されますが、そのターゲットに 従属しない他の分岐は続行されます。 −k オプションが MAKEFLAGS 環境変数に存在する場合、−S オプショ ンを指定することによって処理をデフォルトに戻すことができます。 −n オプションは、コマンド行を実行ではなくプリントすることを指定します。ただし、コマンド行に文字列 Section 1-842 Hewlett-Packard Company −3− HP-UX 11i Version 3: February 2007 make(1) make(1) $(MAKE) または ${MAKE} またはプリフィックスとして + がある場合、行はつねに実行されます(「環境」の MAKEFLAGS マクロの説明を参照)。 −t (タッチ)オプションは、コマンドを実行せずにファイルの変更日時を 更新します。 コマンド行は通常、実行される前にプリントされますが、行の先頭に @ がある場合には、プリントを行わな いようにします。 −s オプション、または makefile に特殊ターゲット .SILENT: がある場合、すべてのコマンド 行のプリントを行わないようにします。 @を使用すると、プリントを選択的にオフにすることができます。 ( 初期タブを除いて) make によってプリントされた内容はすべて変更なしにシェルに直接渡されます。したがっ て、 echo a\ b は、シェルが行うように ab を生成します。 −b オプションにより、以前の makefile (make の旧バージョン用に作成されたもの) がエラーなしで動作しま す。旧バージョンの make は、ターゲットに対応付けられた明示的なコマンドがなければ、ユーザーがコマン ドをヌルにしたとみなし、.DEFAULT 規則を定義した可能性があっても実行しません。現在のバージョンの make はデフォルトではこのモードで動作します。ただし、現在のバージョンの make には −B オプションがあ り、 ター ゲッ ト に 対 応 付 け ら れ た 明 示 的 な コ マ ン ド が な く、 .DEFAULT 規 則 が 定 義 さ れ て い る 場 合 に .DEFAULT 規則が実行されるようにします。 −b および −B オプションには、ターゲットの検索、可能な位 置、および適切な推論規則の実行への影響はないことに注意してください。 .DEFAULT 以外の組込みの推論規 則の検索はつねに行われます。 シグナル SIGINT, SIGQUIT, SIGHUP, および SIGTERM (signal(5) を参照 ) により、ターゲットが特殊名 .PRECIOUS に従属しない限り、ターゲットは削除されます。 オプション 以下に、すべてのオプションといくつかの特殊名について簡潔に説明します。オプションは、任意の順序で指 定できます。オプションは、別々に指定できます。また、−f オプション以外は1つの − でまとめて指定できま す。 −b 以前の( バージョン 7) makefile に対する互換モード。このオプションはデフォルトで はオンにされます。 −B −d 以前の(バージョン 7) makefile への互換モードをオフにします。 デバッグモード。検査したファイルや時間に関する詳細をプリントアウトします。こ れは非常に詳細に表示し、make コマンド自体をデバッグするためのものです。 −e 環境変数を makefile 内の割当てより優先します。 HP-UX 11i Version 3: February 2007 −4− Hewlett-Packard Company Section 1-843 make(1) make(1) −f makefile makefile という記述ファイル名。 − のファイル名は標準入力を表します。 makefile の 内容は、組込みの規則やマクロが存在する場合、それらに優先します。 −f と makefile の間にはスペースを入れなければならないことに注意してください。このオプション は複数指定可能であり (-f - を除いて)、指定した順序で処理されます。 −i 呼び出したコマンドによって戻されるエラーコードを無視します。特殊ターゲット名 .IGNORE が makefile に現れる場合にも、このモードに入ります。 −k コマンドがゼロ以外のステータスを戻すと、現在のエントリーに対する作業を放棄し ますが、そのターゲットに従属しない他の分岐を続行します。これは −S の反対で す。 −k と −S を同時に指定すると、後に指定した方が使用されます。 −n 非実行モード。コマンドをプリントしますが実行しません。 @から始まる行であって もプリントされます。ただし、文字列 $(MAKE) または ${MAKE} を含む行、または コマンドへのプリフィックスとして + のある行は実行されます。 −p −P マクロ定義およびターゲット記述の完全なセットを標準出力に書き出します。 同時に複数のターゲットを並列に更新します。同時に更新されるターゲットの数は、 環境変数 PARALLEL および makefile 内に .MUTEX 指令があるかどうかによって決 まります。 −q 問い合わせ。 make コマンドは、ターゲットファイルが最新状態であるかどうかに応 じてゼロ、またはゼロ以外のステータスコードを戻します。このオプションでは、 ターゲットは更新されません。 −r −s サフィックスリストをクリアし、組込みの規則を使用しません。 無表示モード。コマンド行は、実行前に標準出力にプリントされません。特殊ター ゲット名 .SILENT が makefile にある場合にも、このモードに入ります。 −S ターゲットを最新状態にするコマンドの実行中にエラーが発生すると終了します。こ れはデフォルトであり、−k の反対です。 −k および −S を同時に指定すると、後に指 定した方が使用されます。これにより、MAKEFLAGS 環境変数における k フラグは 無効になります。 −t 通常のコマンドを発行するのではなく、ターゲットファイルにタッチします (それら を最新状態にします)。 −u すべてのタイムスタンプを無視して、ターゲットに対して無条件に make を行いま す。 −w 警告メッセージの表示を行いません。致命的なメッセージには影響しません。 [macro_name=value] ゼロ個以上のコマンド行マクロ定義を指定できます。「マクロ」の項を参照してくだ さい。 Section 1-844 Hewlett-Packard Company −5− HP-UX 11i Version 3: February 2007 make(1) make(1) [names] makefile に現れるゼロ個以上のターゲット名。このように指定した各ターゲットは make によって更新されます。名前を指定しなければ、 make は、推論規則でない makefile における最初のターゲットを更新します。 並列 Make make は、−P オプションを付けて呼び出されると、同時に複数のターゲットを並列に作成しようとします (こ れを行うには、複数のプロセスを同時に実行できる標準的な UNIX のシステムプロセス装置を使用します)。 前の項の例に示した makefile の場合、a.o および b.o を並列に作成するプロセスを生成します。これらのプロセ スが完了した後、pgm を作成します。 make が並列に作成しようとするターゲットの数は、環境変数 PARALLEL によって決まります。 −P が指定さ れ PARALLEL が設定されていない場合、make が並列に作成しようとするターゲットは2つ以下になりま す。 .MUTEX 指令を使用すると、指定したターゲットの更新を順番に実行することができます。これは、lex およ び yacc で実行されるように、アーカイブにモジュールを挿入する場合、または、同じ名前を持つ中間ファイル を作成する場合などの、2つ以上のターゲットが共通の出力ファイルを変更する場合に便利です。前の節の makefile に次の形式の .MUTEX 指令が含まれている場合、make は a.o および b.o を並列に作成しないようにし ます。 .MUTEX: a.o b.o 環境 環境 (environ(5) を参照) で定義される変数はすべて make によって読み込まれ、マクロ定義として扱われ、処 理されます。ただし、SHELL 環境変数はつねに無視されます。 SHELL 環境変数の値は、マクロとして使用 されることはなく、makefile 内またはコマンド行に SHELL マクロを定義することによって変更されることは ありません。定義のない変数または空の文字列定義は make に含まれます。 マクロ定義の可能な4つのソース、つまり内部(デフォルト)、現在の環境、(単一または複数の) makefile、およ びコマンド行があり、この順序で読み込まれます。処理のこの順序のために、makefile におけるマクロ割当て は環境変数より優先されます。 −e オプションにより、環境は makefile におけるマクロ割当てより優先されま す。コマンド行マクロ定義はつねにその他すべての定義より優先されます。 MAKEFLAGS 環境変数は、コマンド行に対して定義された何らかの正当な入力オプション (−f, −p, −d を除く) が含まれているという仮定のもとに、make によって処理されます。また、MAKEFLAGS 変数は makefile で指 定することもできます。 (UNIX 標準のみ。 standards(5) 参照。 makefile 中の MAKEFLAGS は、MAKEFLAGS 環境変数を置き換えま す。コマンド行オプションは MAKEFLAGS 環境変数より優先されます。) MAKEFLAGS がこれらのいずれの位置でも定義されなければ、make は自分で変数を構成し、コマンド行で指 定したオプションとデフォルトオプションをすべてそこに入れ、コマンドの呼び出しに渡します。したがっ て、MAKEFLAGS には常に現在の入力オプションがあることになります。これは、make コマンドを再帰的に 実行する場合に非常に便利であることがわかります。 −n オプションが指定されていても、文字列 $(MAKE) HP-UX 11i Version 3: February 2007 −6− Hewlett-Packard Company Section 1-845 make(1) make(1) または ${MAKE} があるコマンド行は実行されます。したがって、ユーザーは、再帰的にソフトウェアシステ ム全体に make −n を実行して何が実行されているかを調べることができます。これは、−n が MAKEFLAGS に入れられ、$(MAKE) または ${MAKE} の再帰呼び出しに渡されるために可能になります。これは、実際に どのコマンドも実行せずにソフトウェアプロジェクトに対してすべての makefile をデバッグする1つの方法で す。 規則における各コマンドは実行するシェルに与えられます。使用するシェルはシェルコマンド インタプリタ (sh(1) を参照) であるか、または SHELL マクロによって makefile で指定したものです。 makefile が実行される ごとに同じシェルを使用するようにするには以下の行 SHELL=/usr/bin/sh または適当な同等な行を makefile のマクロ定義セクションに入れる必要があります。 拡張子 ターゲットや従属名には、多くの場合拡張子が付いています。特定の拡張子についての知識は make に構築さ れ、ターゲットを更新するのに適用される適切な推論規則の識別に使用されます (「推論規則」の項を参照)。 拡張子の現在のデフォルトリストは以下のとおりです。 .o .c .c˜ .B .B˜ .cxx .cxx˜ .cpp .cpp˜ .cc .cc˜ .y .y˜ .l .l˜ .L .L˜ .Y .Y˜ .s .s˜ .sh .sh˜ .h .h˜ .H .H˜ .p .p˜ .f .f˜ .r .r˜ これらの拡張子は特殊な組込みのターゲット .SUFFIXES の従属条件として定義されます。これは make に よって自動的に行われます。 追加拡張子は .SUFFIXES の従属リストとして makefile で指定できます。これらの追加値はデフォルト値に追 加されます。複数の拡張子リストは累積されます。拡張子リストの順序には意味があります(「推論規則」の項 を参照)。ユーザーが拡張子の順序を変更したいときは、ヌル従属リストを使ってまず .SUFFIXES を定義しな ければなりません。ヌル従属リストは .SUFFIXES の現在値をクリアします。次に、必要な順序に拡張子を入 れて .SUFFIXES を定義しなければなりません。すべてのマシン上の make に構築される拡張子のリストは、 以下の指定によって表示できます。 make -fp - 2>/dev/null </dev/null mymakefile という与えられた makefile に定義を組み込んだ組込み拡張子のリストは、以下の指定によって表示 できます。 make -fp mymakefile 2>/dev/null </dev/null 推論規則 特定のターゲットまたは従属名 (.o で終わるものなど) には、.c および .s などの推論できる従属条件がありま す。このような名前に対する update コマンドが makefile に現れず、推論できる従属ファイルが存在する場合、 その従属ファイルは、ターゲットを更新するためにコンパイルされます。この場合、make には、拡張子を検 査し、使用する適切な推論規則を判定することにより、他のファイルからファイルを構築できる推論規則があ Section 1-846 Hewlett-Packard Company −7− HP-UX 11i Version 3: February 2007 make(1) make(1) ります。デフォルト推論規則は現在以下のように定義されています。 シングル拡張子規則 .c .c˜ .B .B˜ .cxx .cxx˜ .cpp .cpp˜ .cc .cc˜ .sh .sh˜ .p .p˜ .f .f˜ .r .r˜ ダブル拡張子規則 .c.o .c˜.o .c˜.c .c.a .c˜.a .B.o .B˜.o .B˜.B .B.a .B˜.a .cxx.o .cxx˜.o .cxx˜.cxx .cxx.a .cxx˜.a .cpp.o .cpp˜.o .cpp˜.cpp .cpp.a .cpp˜.a .cc.o .cc˜.o .cc˜.cc .cc.a .cc˜.a .s.o .s˜.o .s˜.a .p.o .p˜.o .p˜.p .p.a .p˜.a .f.o .f˜.o .f˜.f .f.a .f˜.a .r.o .r˜.o .r˜.r .r.a .r˜.a .y.o .y˜.o .y.c .y˜.c .l.o .l˜.o .l.c .h˜.h .H˜.H .hxx˜.hxx .hpp˜.hpp .B.o .B˜.o .B.a .B˜.a .L.B .L.o .L˜.B .L˜.L .L˜.o .Y.B .Y.o .Y˜.B .Y˜.Y .Y˜.o ダブル拡張子推論規則 (.c.o) は x.c から x.o を構築する方法を定義します。シングル拡張子推論規則 (.c) は x.c. から x を構築する方法を定義します。実際、最初の拡張子はヌルです。シングル拡張子規則は、例えばシェル プロシージャや単純なCプログラムなどの1つだけのソースファイルからターゲットを構築するのに便利です。 上記の規則におけるティルドは SCCS ファイル (sccsfile(4) を参照) を参照します。したがって、規則 .c˜.o は SCCS Cソースファイルをオブジェクトファイル (.o) に変換します。 SCCS ファイルの s. がプレフィックスで あるため、これには make コマンドの拡張子参照との互換性はありません。したがって、ティルドは、任意の ファイル参照を SCCS ファイル参照に変更する方法です。 拡張子 .c の付いたファイルから拡張子 .o の付いたファイルを作成する規則は、ターゲットとして .c.o があ り、従属条件のないエントリーとして指定されます。ターゲットと対応するシェルコマンドは .c ファイルから .o ファイルを作成のための規則を定義します。スラッシュのないドットから始まるターゲット名はすべて、 ターゲット (implicit ) 規則として認識され、(explicit ) 規則とは認識されません。ドットが1つあるターゲット はシングル拡張子推論規則です。ドットが2 つあるターゲットはダブル拡張子推論規則です。ユーザーは、 HP-UX 11i Version 3: February 2007 −8− Hewlett-Packard Company Section 1-847 make(1) make(1) makefile でさらに推論規則を定義でき、デフォルトの推論規則の再定義か取消しができます。 .c ファイルを .o ファイルに変更するためのデフォルト推論規則は以下のようになります。 .c.o: $(CC) $(CFLAGS) -c $< そして、yacc ファイルを C オブジェクトファイルに変更するためのデフォルト推論規則は以下のようになり ます。 .y.o: $(YACC) $(YFLAGS) $< $(CC) $(CFLAGS) -c y.tab.c rm y.tab.c mv y.tab.o $@ 特定のマクロは、生成される任意のコマンドにおいてオプション事項を含めることができるように、デフォル ト推論規則で使用されます。例えば、CFLAGS, LDFLAGS, YFLAGS は、それぞれ cc(1), lex(1), yacc(1) へのコ ンパイラオプションに使用します。 LDFLAGS は一般にリンカ/ローダオプションを表すのに使用します。こ れらのマクロは make によって自動的に定義されますが、makefile でユーザーが再定義することもできます。 マクロ LIBS は、規約により、コンパイルのリンクフェーズ時に何らかの特殊ライブラリの包含順序を指定す るのに使用します。特定のライブラリセットの特定の包含順序を指定するには、.c ファイル用の既存のシング ル拡張子規則、 $(CC) $(CFLAGS) $< $(LDFLAGS) -o $@ は、makefile で LIBS を定義する場合と同様に $(CC) $(CFLAGS) $< $(LDFLAGS) -o $@ $(LIBS) として再定義できます。 また、いくつかの特殊な組込みマクロも推論規則で使用します (@, <)。「組込みマクロ」の項を参照してくだ さい。 ターゲットに明示的な従属条件がないか、または従属条件にも対応する明示的な規則によって一致するター ゲットがない場合、make は、ターゲット(従属条件)の拡張子 (ヌルの場合もあります) および規則のもう一方 の拡張子に一致するファイルの両方に一致する最初の推論規則を検索します。これが .SUFFIXES 値のリスト を前から後ろに通過することによってこの検索を実施するため、.SUFFIXES の定義された順序は重要です。 任意のマシン上で make にコンパイルされる規則をプリントアウトするには以下のようにタイプしてくださ い。 make -fp - 2>/dev/null </dev/null make が推論規則 .c.o を定義するため、概要説明の項にある例は以下のようにより簡単に書けます。 OBJS = a.o b.o Section 1-848 Hewlett-Packard Company −9− HP-UX 11i Version 3: February 2007 make(1) make(1) pgm: $(OBJS) cc $(OBJS) -o pgm $(OBJS): incl.h ライブラリ ターゲットまたは従属名に小かっこが含まれる場合、それはアーカイブライブラリであるものと仮定され、小 かっこ内の文字列はライブラリ内のメンバーを参照します。したがって、lib(file.o) および $(LIB)(file.o) は両方 とも file.o の入ったアーカイブライブラリを参照します (これは LIB マクロが既に定義されているものと仮定 します)。式 $(LIB)(file1.o file2.o) は無効です。アーカイブライブラリに関連する規則には、.xx.a という形式が あります。ただし、xx は、アーカイブメンバーが作成される拡張子です。現在の実装での不便な副作用は、 xx がアーカイブメンバーの拡張子と異なる必要があることです。したがって、lib(file.o) を明示的に file.o に従 属させることはできません。アーカイブインタフェースの最も一般的な使い方は以下のとおりです。ここで は、ソースファイルはすべてCタイプのソースであるものとします。 lib: lib(file1.o) lib(file2.o) lib(file3.o) @echo lib is now up-to-date .c.a: $(CC) -c $(CFLAGS) $< ar rv $@ $*.o rm -f $*.o (<, @ , および * シンボルの説明については、「組込みマクロ」に関する項を参照してください。) 実際、上記 の .c.a 規則は make に組み込まれているため、この例では不要です。この規則は、今度は lib の各従属条件に 適用されます。以下の例では、これをさらに効率よく行います。 lib: lib(file1.o) lib(file2.o) lib(file3.o) $(CC) -c $(CFLAGS) $(?:.o=.c) ar rv lib $? rm $? @echo lib is now up-to-date .c.a:; ここで、マクロにおける置換えを使用します。 $? リストは、そのCソースファイルが最新状態でない (lib 内 の)オブジェクトファイル名のセットとなるように定義されます。置換えシーケンスは .o を .c に変換します ( 残念ながら、現時点では .c˜ に変換することはできません。ただし、これは将来できるようになる可能性があ ります)。また、各オブジェクトファイルを順々に作成、アーカイブする .c.a 規則を無効にすることにも注意し てください。特にこの構文は、アーカイブライブラリの保守をかなりスピードアップしますが、アーカイブラ イブラリの内容がアセンブリプログラムとCプログラムの混合である場合には、非常に負荷が高くなります。 シンボルの定義を含むアーカイブメンバーは、シンボル名を二重括弧で囲んで、lib((entry_name)) のように指 定します。それ以外の場合は、上述したように処理されます。 HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company Section 1-849 make(1) make(1) 組込みターゲット make には、いくつかの特殊ターゲットに関する知識があります。これは、有効にするには makefile で指定し なければなりません (.SUFFIXES は除きます。これは make によって自動的に設定されますが、ユーザーが変 更できます)。 ファイルを作成しなければならないが、それに対して明示的なコマンドも該当する組 .DEFAULT 込み規則もない場合、 .DEFAULT が makefile で定義されていれば、ターゲット名 .DEFAULT と対応するコマンドが使用されます。 .DEFAULT には明示的な従属条件 はありません。 .PRECIOUS このターゲットの従属条件は QUIT, INTERRUPT, TERMINATE および HANGUP シ グナルを受信しても削除されません。 −s オプションと同じ効果があります。従属条件または明示的なコマンドを指定する必 .SILENT 要はありません。 −i オプションと同じ効果があります。従属条件または明示的なコマンドを指定する必 .IGNORE 要はありません。 .SUFFIXES .SUFFIXES の明示的な従属条件は、既知の拡張子の組込みリストに追加され、推論規 則と併用されます。 .SUFFIXES に従属条件がなければ、既知の拡張子のリストはク リアされます。 .SUFFIXES と対応するコマンドはありません。 指定したターゲットの更新を順番に実行します (「並列 Make 」の項を参照してくだ .MUTEX さい)。 組込みマクロ 内部保守されたマクロは5個あり、これはターゲットを構築するための規則を作成するのに便利です。これら のマクロの意味を明確に定義するために、用語 target および dependent に対する説明が必要になります。 make がターゲットを更新する際、実際には更新する一連のターゲットを生成することがあります。何らかの 規則 (明示的または暗黙のいずれか) が、それを更新するターゲットに適用される前に、ターゲットの各従属条 件に対して再帰が行われます。再帰時に従属条件はターゲット自体になり、独自の従属条件を保持または生成 することがあります。今度は、従属条件のないターゲットが見つかるまでその従属条件の再帰が行われ、この 時点で再帰が停止します。 make によって処理されたすべてのターゲットが、makefile において明示的なター ゲットとして表示されるとは限りません。 makefile からの明示的な従属条件もあれば、make がターゲットを 再帰的に更新するにつれて生成される暗黙の従属条件もあります。例えば、以下の makefile が実行されると、 pgm: a.o b.o cc a.o b.o -o pgm 以下の一連のターゲットが生成されます。 Section 1-850 --- pgm 2つの従属条件と、従わなければならない1つの明示的な規則があります。 --- a.o (再帰的に)暗黙の規則 .c.o に一致する暗黙の従属条件 a.c があります。 Hewlett-Packard Company − 11 − HP-UX 11i Version 3: February 2007 make(1) make(1) --- a.c (再帰的に)暗黙の従属条件がなく、暗黙の規則もありません。これにより、再帰は停止し、 単にファイル a.c の最終修正時刻が戻されます。 --- b.o (再帰的に)暗黙の規則 .c.o に一致する暗黙の従属条件 b.c があります。 --- b.c (再帰的に)暗黙の従属条件がなく、暗黙の規則もありません。これにより、再帰は停止し、 単にファイル b.c の最終修正時刻が戻されます。 以下の定義では、 target という用語が指すのは、makefile で指定されるターゲット、make が再帰してターゲッ トになった makefile で指定される明示的な従属条件、または make が再帰してターゲットになった暗黙の従属 条件 (推論規則を検索した結果、およびターゲットの拡張子に一致するファイルとして生成されます) です。 「従属条件」という用語は、特定のターゲットの makefile で指定される明示的な従属条件、または適切な推論 規則を検索した結果、およびターゲットの拡張子に一致する対応するファイルとして生成された暗黙の従属条 件を指します。 ターゲット規則を特定のターゲット名のためのユーザー指定の規則とみなし、推論規則をターゲット名の特定 のクラスのためのユーザーまたは make 指定の規則とみなすと有用です。また、make の明示的および暗黙の 両方の従属条件に対して再帰すると、ターゲット名の値および対応する従属名が変化し、推論規則は、makefile でターゲット規則が定義されていない暗黙の従属条件または明示的な従属条件だけに適用されることに注意し てください。 $@ $@ マクロは現在のターゲットの完全なターゲット名、またはライブラリのアーカイブター ゲットのアーカイブファイル名の部分です。これは、ターゲットおよび推論規則の両方に対し て評価されます。 $% $% マクロは、現在のターゲットが形式 libname(member.o) または libname((entry)) のアーカ イブライブラリメンバーであるときに限って評価されます。この場合、$@ は libname の評価 値になり、$% は member.o または、シンボル entry を含むオブジェクトファイルの評価値に なります。 $% は、ターゲットおよび推論規則の両方に対して評価されます。 $? $? マクロは、現在のターゲットに関して最新状態でない従属条件、つまり本質的に再構築さ れたモジュールのリストです。これは、ターゲットおよび推論規則の両方に対して評価されま すが、通常はターゲット規則でのみ使用します。 $? は、推論規則では1つだけの名前の評価 値になりますが、ターゲット規則では複数の名前の評価値になることがあります。 $< 推論規則では、 $< は、作成対象のターゲットの拡張子に一致する暗黙の規則に対応するソー スファイル名の評価値になります。つまり、これはターゲットに関して最新状態でないファイ ルです。 .DEFAULT 規則では、$< マクロは現在のターゲット名の評価値になります。 $< は 推論規則に対してのみ評価されます。したがって、.c.o 規則では $< マクロは .c ファイルの評 価値になります。 .c ファイルから最適化された .o ファイルを作成するための例は以下のよう になります。 .c.o: cc -c -O $*.c HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company Section 1-851 make(1) make(1) あるいは、 .c.o: cc -c -O $< マクロ $* は、拡張子を削除した現在のターゲット名です。これは推論規則に対してのみ評価 $* されます。 これら5個のマクロは別の形式をとることができます。大文字 D または F が5個のマクロのいずれかに追加さ れると、D の場合は「ディレクトリ部分」に、また F の場合は「ファイル部分」に意味が変更されます。した がって、$(@D) は文字列 $@ のディレクトリ部分を参照します。ディレクトリ部分がなければ ./ が生成されま す。 $? マクロに複数の従属名がある場合、$(?D) はディレクトリ名部分のリストに展開され、$(?F) はファイ ル名部分のリストに展開されます。 上記の組込みマクロのほかに、その他の多用されるマクロが make によって定義されます。これらのマクロは デフォルト推論規則で使用され、−p オプションを使って表示できます。これらのマクロは、makefile において ターゲット規則で使用できます。また、makefile で再定義することもできます。 $$@ $$@ マクロには、従属行に限って意味があります。従属条件が実際に処理されるとき にマクロが評価されるため、この形式のマクロは 動的従属といいます。 $$@ の評価 値は、コマンド行に対する $@ とまったく同じもの、つまり現在のターゲット名にな ります。このマクロは、それぞれがソースファイルを1つだけ持つ多数の実行可能 ファイルを構築するのに便利です。例えば、以下の HP-UX コマンドはすべて、同じ 規則で構築することができます。 CMDS = cat echo cmp chown $(CMDS) : [email protected] $(CC) -O $? -o $@ この makefile が make cat echo cmp chown を付けて呼び出されると、make は、今度 は汎用規則を使うため、$$@ が cat の評価値になり、ターゲットが echo のときに echo に対して cat がターゲットになる、というようにして各ターゲットを構築しま す。 また、動的な従属マクロは F形式、$$@ のファイル名部分を表す $$(@F) をとること ができます。これは、ターゲットにパス名がある場合に有効です。以下に例を示しま す。 INCDIR = /usr/include INCLUDES = $(INCDIR)/stdio.h\ $(INCDIR)/pwd.h \ $(INCDIR)/dir.h \ $(INCDIR)/a.out.h $(INCLUDES) : $$(@F) Section 1-852 Hewlett-Packard Company − 13 − HP-UX 11i Version 3: February 2007 make(1) make(1) cp $? $@ chmod 0444 $@ 特殊マクロ VPATH マクロを使用すれば、 make によって、コロンで区切られた従属条件のディレクトリのリストを検索で きます。 VPATH= path1: path2 ... という形式の行の場合、 make はまず現在のディレクトリで従属条件を探 し、従属条件が見つからなければ path1 を検索し、VPATH マクロで指定したディレクトリがなくなるまで検索 を続けます。 多言語化対応 UNIX 標準環境についての情報は、standards(5) を参照してください。 環境変数 LANG は、多言語対応変数が未設定かヌルの場合のデフォルト値を指定します。 LANG が未設定かヌルであ れば、デフォルト値の "C" (lang(5) を参照) を使用します。多言語対応変数のいずれかの設定が不適当な場合、 make はすべての多言語対応変数が "C" に設定されているものとして動作します。 environ(5) を参照してくださ い。 LC_ALL 空以外の文字列値に設定されていれば、他の多言語対応変数すべての値と置き換わります。 LC_CTYPE テキストをシングルバイトまたはマルチバイトのいずれの文字で解釈するか、文字を印字可能と して分類するか、また正規表現の文字クラス式と照合する文字を決定します。 LC_MESSAGES 標準エラーに書き込んだ診断メッセージ、および標準出力に書き込んだ情報メッセージの形 式と内容に影響するロケールを決定します。 NLSPATH は LC_MESSAGES の処理に使用するメッセージカタログの位置を決定します。 PROJECTDIR 現在のディレクトリで見つからなかった SCCS ファイルの検索に使用するディレクトリを示し ます。以下に示す場合ではすべて、SCCS ファイルの検索は、指定したディレクトリ内のディレクトリ SCCS で行われます。 PROJECTDIR の値がスラッシュで始まっていれば絶対パス名とみなし、そうでなければその 名前のユーザーのホームディレクトリで src または source というサブディレクトリを探します。このような ディレクトリが見つかれば、それを使用します。見つからなければ、その値を相対パス名として使用します。 PROJECTDIR が未設定またはその値がヌルの場合、現在のディレクトリが最初に検索され、次に現在のディ レクトリの SCCS ディレクトリが検索されます。 PROJECTDIR の設定は、SCCS という名前の構成要素をも つファイルに関するこのユーティリティの以降の説明で記載されているすべてのファイルに適用されます。 サポートされるコードセット シングル/マルチバイト文字コードセットがサポートされています。 戻り値 make は、正常終了すると 0、エラーが発生した場合には 0 よりも大きい値を返します。 −q オプションを指定 すると、make は、ターゲットが最新状態であった場合には 0、ターゲットが最新状態でなかった場合には 0 よりも大きい値を返します。 HP-UX 11i Version 3: February 2007 − 14 − Hewlett-Packard Company Section 1-853 make(1) make(1) 例 以下の例では、program.c が現在のディレクトリにある場合に、makefile がない Cソースコード ファイルから実 行可能ファイルを作成します。 make program 以下の例では、複数の makefile の指定といくつかのコマンド行マクロの定義を示し、module1 で最初のター ゲットを更新します。 make -f module1 -f module2 RELEASE=1.0 CFLAGS=-g 以下の例では、カレントディレクトリにあるデフォルトの makefile で2つのターゲットを更新します。 make clobber prog 以下の例では、指定した makefile で prog ターゲットを更新し、環境変数は makefile にある共通変数に置き換 えます。また、組込みの拡張子リストをクリアし、組込み規則を無視し、徹底したデバッグ情報を出力しま す。 make -erd -f module1 prog 警告 アクセス、変更、および最終修正時刻を make での処理では変更できない任意のファイル (インクルードファ イルなど) に注意してください。例えば、プログラムがあるインクルードファイルに従属し、今度はそれが別 のインクルードファイルに従属する場合、また、これらのファイルの一方または両方が最新状態でない場合、 make は、これらのファイルを実行されるごとに更新しようとします。したがって、インクルードファイルに 従属する最新のファイルを 再作成する必要はありません。この解決法は make を実行する前に touch コマンド を使って、このようなファイルを手作業で更新しておくことです (touch(1) を参照)。 不適当にゼロ以外のステータスを戻すコマンドもあります。この問題は −i を使用して解決します。 文字 =, :, @, $ を含むファイル名は使えません。 cd (cd(1) を参照) などのシェルによって直接実行される内蔵コマンドは、make では改行を入れると無効になり ます。 構文 (lib(file1.o file2.o file3.o) は不正です。 file.o から lib(file.o) を構築することはできません。 マクロ $(a:.o=.c˜) は動作しません。 展開したターゲット行には、終わりの改行を含めて 16384 バイト以上を入れることはできません。 makefile が現在のディレクトリにない場合、 make filename とタイプすると、make は filename.c から filename を構築しようとします。 Section 1-854 Hewlett-Packard Company − 15 − HP-UX 11i Version 3: February 2007 make(1) make(1) make がシェルスクリプトで呼び出されたときに、引用符で囲んだ引き数の評価値が NULL ($@ など) になる と、make は異常終了します。 制約 NFS 警告 異なる NFS サーバに位置するファイルの修正時刻を比較する際、サーバ上のクロックが同期化されていなけれ ば、make は予期しない動作を行います。 ファイル [Mm]akefile s.[Mm]akefile SCCS/s.[Mm]akefile 参照 cc_bundled(1), cd(1), lex(1), mkmf(1), sh(1), environ(5), lang(5), regexp(5), standards(5) Steve Talbot 著 の A Nutshell Handbook, Managing Projects With Make (Second Edition, O’Reilly & Associates, Inc., 1986) 標準準拠 make: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 3: February 2007 − 16 − Hewlett-Packard Company Section 1-855 makekey(1) makekey(1) 名称 makekey − 暗号化キーの生成 構文 /usr/lbin/makekey 説明 makekey は、キースペースを検索するのに必要な時間量を増やすことにより、キーに応じて暗号化構造の有効 性を改良します。 10バイトを標準入力から読み込み、 13バイトを標準出力に書き出します。出力は、計算す るのが困難である(つまり、何分の1秒かを必要とする) という点で入力に依存します。 最初の8 個の入力バイト( 入力キー ) は、任意の ASCII 文字とすることができます。最後の2 つ( salt ) は数字の セット、 ., / および大文字/小文字の英字から最適に選択されます。 salt文字は出力の最初の2文字として繰り返 されます。残りの11の出力文字はsaltと同じセットから選択され、 出力キーを構成します。 本質的には以下のとおりに変換が行われます。 salt を使用して国立標準局 DES アルゴリズムにすべて基づい た、 4,096個の暗号マシンの1つを選択しますが、 4,096通りの方法で壊されます。キーとして 入力キーを使用 すると、定数文字列がマシンに与えられ、何度も繰り返されます。その結果、生成された64ビットは、66個の 出力キービットに分散されます。 makekey は、暗号化を行うプログラム(例えば、 ed(1) および crypt(1) )を対象にしています。通常、その入出 力はパイプになります。 参照 crypt(1), ed(1), passwd(4) Section 1-856 Hewlett-Packard Company −1− HP-UX 11i Version 3: February 2007 man(1) man(1) 名称 man − キーワードによるマニュアル情報の検索およびマニュアルエントリーの表示 構文 man [-M path -k keyword ... man [-M path -f file ... man [-] [-M path [-T macro-package] [ section [ subsection ] ] entry_name ... 説明 man は、HP-UX マニュアルページの情報にアクセスします。このコマンドは次の目的で用いられます。 • 一行解説の中に、指定されたいずれかのキーワードを含むすべてのマニュアルエントリーのリスト を出力します。 • • 指定された名前のエントリーの一行解説を表示あるいはプリントします。 エントリー名を用いてオンラインマニュアルのディレクトリを検索し、指定されたエントリーを表 示あるいはプリントします。 • 指定されたオンラインマニュアルのセクション (ディレクトリ) を検索し、そのセクションの中の指 定されたエントリーを表示あるいはプリントします。 キーワードによるエントリー名の検索 (第1形式) 上記の第1の形式では、指定されたキーワードに対する個々のエントリーの一行解説を検索します。引き数は 以下のとおりです。 -k keyword -k の後に1個以上のキーワードを付けて man コマンドを実行すると、指定された1つ 以上のキーワードに一致するテキストを一行解説に含む各マニュアルエントリーの、 その一行解説が表示されます (grep(1) と同様な動作です)。キーワードはブランク (空 白またはタブ) で区切ります。 このオプションを使用するには、ファイル /usr/share/lib/whatis が存在しなければなり ません。 /usr/share/lib/whatis は、 catman(1M) を実行することにより作成できます。 エントリーの一行解説の表示 (第2形式) 上記の第2 の形式では、指定された個々のエントリーの一行解説を探し、それを表示あるいはプリントしま す。使用できる引き数を以下に示します。 -f file -f の後に1個以上のファイル名を付けて man を実行すると、名前が file に一致する各 マニュアルエントリーの一行解説が表示されます。 2つ以上のファイルを指定する場 合は、 file 引き数をブランク (空白またはタブ) により区切ってください。 file と一致 するエントリー名が2つ以上のセクションに存在する場合は、一致するファイル名を 持つ、それぞれのファイルの一行解説が出力されます。 このオプションを使用するには、ファイル /usr/share/lib/whatis が存在しなければなり ません。 /usr/share/lib/whatis は、 catman(1M) を実行することにより作成できます。 HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-857 man(1) man(1) 個々のマニュアルエントリーの表示 (第3形式) 上記の第3の形式は、1つあるいは複数のマニュアルエントリーを表示するのに用いられます。この形式の man には、以下に示す引き数を指定できます。 (オプション) - 引き数が指定されると、 man は、フォーマット済みのマニュアルエン - トリーを、 PAGER 環境変数で指定された出力フィルタを通して処理せずに、標準出 力に直接送ります。 -M path マニュアルページの検索パスを変更します。 path は、マニュアルページのディレク トリサブツリーを含む、コロンで区切られたディレクトリのリストです。 -k または -f オプションとともに使用する場合、 -M オプションは最初に指定する必要がありま す。 -T macro-package マニュアルページを書式化するために、 man は /usr/share/lib/tmac/tmac.an に定義し た標準マクロ -man ではなく、 macro-package を使用します。 man に -T オプションを指定する場合は、絶対パスで指定する必要があります。例え ば、次のように指定します。 man -T /usr/share/lib/tmac/tmac.s ls section[subsection] (オプション) 指定された entry_name を指定されたセクションの中で検索するオプショ ンです。 section に、 1 個のセクション番号か、ワード local, new, old, または public のうちのいずれかを指定すると指定の1 つ以上のエントリーを検索します。 section は、 HP-UX Reference の中で、そのエントリーが分類されているセクション番号に対 応します。セクション番号の後ろには、オプションとして、例えば、セクション3 の ライブラリルーチンを示す 3C のような、サブセクション識別子を大文字/小文字で指 定 す る こ と が で き ま す。 セ ク ショ ン 3 の す べ て の マ ニュ ア ル エ ン ト リー は、 /usr/share/man/man3.Z および /usr/share/man/man3 といった) 同じディレクトリある いは関連するディレクトリに格納されているので、 3, 3c および 3C は同じ指定である と解釈されます。しかし、エントリーがセクション 1M のエントリーである場合は、 section に 1m または 1M と指定しなければなりません。 entry_name 指定されたエントリー名を検索します。ここで、 entry_name は、セクション番号が付 けられていないマニュアルエントリー名です。名前が 11文字を超える場合以外は、 entry_name は、各ページの最上部に記載されているマニュアルエントリー名と同一 か、または対応するマニュアルエントリーの一行解説の左側に示されるキーワードの 1つと同一です。 entry_name が 11文字を超える場合は、 man は最初に完全な長さの entry_name を検索 します。もしそれが見つからなければ、14文字のソースファイル名の中に section 番 号のサフィックスを入れる場所を確保するため entry_name を 11 文字に切り捨てま Section 1-858 Hewlett-Packard Company −2− HP-UX 11i Version 3: February 2007 man(1) man(1) す。 /usr/share/man/* ディレクトリの中のファイルは、ファイル名に 3 文字のセク ションサフィックスを加えたものが、短いファイル名のシステムでのファイル名の最 大長を超えないように、通常 11文字に切り捨てられたファイル名でインストールされ ます。 section を指定しない場合 (前の引き数の説明を参照)、 man は、次の順序でマニュア ルのすべてのセクションを探し、最初に一致したエントリーを表示します。 man1, man2, man1M, man3, man4, man5, man6, man7, man8, man9, manlocal, mannew, manold, manpublic マニュアルエントリーが複数のセクションにある場合、最初のマニュアルエントリー が表示されます。例えば、 man intro では、 intro(1) のみが表示されます。 man 4 intro では、 intro(4) が表示されます。 標準出力がテレタイプであり、 - フラグが指定されていない場合、 man は、その出力を -s オプションを付け た more (more(1) 参照) へパイプで渡し、複数のブランク行を取り除いて各スクリーンごとに表示を停止させま す。このデフォルトの動作は、ユーザーの環境で PAGER 変数を設定することにより変更することができま す。 PAGER の値は、出力フィルタ名 (例えば、 pg(1)) に、必要なオプションを付けた文字列でなければなり ません。 ファイル検索の順序 man は、複数の適切なディレクトリを検索して、指定されたマニュアルエントリーを見つけます。検索は、エ ントリーが見つかるか、またはすべての候補ディレクトリが検索されるまで続けられます。最初に検索される 3つのディレクトリは、 /usr/share/man, /usr/contrib/man, および /usr/local/man の順です。 MANPATH 環境変数を使って、検索するディレクトリを指定することができます。この変数が設定されていれ ば、上記のデフォルトパスの情報は無視されます。ログインする際、 /etc/profile ( または /etc/csh.login) は MANPATH 環境変数をデフォルトの状態に設定します。 /etc/MANPATH ファイルが存在する場合、デフォル ト設定はこのファイルから取得されます。 MANPATH 変数は、 PATH 変数と同じ書式です (environ(5) 参照)。 これらの各ディレクトリの中で、 man は、 cat*.Z サブディレクトリ、 man*.Z サブディレクトリ、 cat* サブ ディレクトリ、 および man* サブディレクトリを検索します。 man*.Z および man* ディレクトリには、各エ ントリーの nroff (1) 互換のソーステキストが入っています。 cat*.Z および cat∗ ディレクトリには、各エント リーのフォーマット済みバージョンが入っています。 man*.Z および cat*.Z ディレクトリには、圧縮形式のエ ントリーが格納されています。これらのディレクトリの中のファイルは、 uncompress (compress(1) 参照) コマ ンドにより復元した後に表示あるいはプリントされます。 LANG 環境変数が、 lang(5) により定義された有効な言語のいずれかに設定されており、また MANPATH 変数 は設定されていないか、またはデフォルトディレクトリが設定されている場合、 man は、 /usr/share/man を 検 索 す る 前 に、 3 つ の 追 加 ディ レ ク ト リ の 中 で マ ニュ ア ル エ ン ト リー を 探 し ま す。 ま ず、 man は /usr/share/man/$LANG を検索し、次に /usr/contrib/man/$LANG を、さらに /usr/local/man/$LANG を検索しま す。したがって、母国語のマニュアルエントリーがシステム中に存在し、正しくインストールされていれば、 それらが表示されます。 HP-UX 11i Version 3: February 2007 −3− Hewlett-Packard Company Section 1-859 man(1) man(1) MANPATH 環境変数にデフォルト以外の値が設定されている場合は、パスの一部として $LANG を用いた上記 のディレクトリは、自動的には検索されません。すべてのディレクトリを MANPATH に明示的に指定しなけ ればなりません。 %L, %l, %t および %c 指示子をパスの一部として使用し、そのローカルな実行環境に固有 のディレクトリを検索させることができます。 MANPATH の完全な説明については environ(5) を参照してくだ さい。 man は、検索したサブディレクトリの中の最新バージョンを使用します。最新バージョンが以下のディレクト リに存在する場合の処理は次のとおりです。 man*.Z エントリーは圧縮形から復元され、フォーマットされ、表示されます。 cat*.Z ディレ クトリが存在する場合は、フォーマット済みエントリーは圧縮された形で cat*.Z にイ ンストールされています。 cat* ディレクトリが存在する場合は、フォーマット済みエ ントリーは cat* にインストールされています。 cat*.Z man* エントリーが圧縮形から復元され、表示されます。 エントリーはフォーマットされ、表示されます。 cat*.Z ディレクトリが存在する場合 は、エントリーは圧縮された形で cat*.Z にインストールされています。 cat* ディレ クトリが存在する場合は、フォーマット済みエントリーが cat* にインストールされて います。 cat* エントリーが表示されます。 cat* または cat*.Z サブディレクトリしか存在しない場合、あるいは nroff (1) がインストールされていない場合 は、フォーマット済みのエントリーだけを表示できます。 man のパフォーマンスを向上させるために catman(1M) コマンドを実行して cat*.Z ディレクトリにフォーマッ ト済みのエントリーを作成することができます。 catman(1M) を、デフォルトのオプションで実行すると (使用 中のシステムに存在する cat* ディレクトリをすべて削除した後)、 cat*.Z ディレクトリが作成され、 man -k オプションで使用するファイル /usr/share/lib/whatis も作成されます。 cat* ディレクトリを作成する場合は、 システムに存在する cat*.Z ディレクトリをすべて削除するとスペースを節約できます。 (cat* および cat*.Z) の両方のディレクトリが存在する場合は、 man は、その両方をアップデートするので注意してください。 特殊なマニュアルエントリー 状況によっては、ローカルに使用するため、あるいはサードパーティのソフトウェア業者による配布のための マニュアルエントリーを作成する必要が生ずることがあります。マニュアルフォーマット マクロは、ヒュー レットパッカード社以外から提供されるマニュアルエントリーのフッタに HP の名称が表示されないように ページフッタを再定義できるように構成されています。この変更、および nroff または troff で使用するマニュ アルフォーマットマクロの説明については、 man(5) を参照してください。 多言語化対応 環境変数 LANG は、メッセージの表示に使用する言語を決定します。 LANG はまた、(上で説明した) 検索パスを決定 するためにも使用されます。 Section 1-860 Hewlett-Packard Company −4− HP-UX 11i Version 3: February 2007 man(1) man(1) LANG が指定されていない場合か、または空の文字列の場合、メッセージに対しては LANG の代わりに "C" (lang(5) 参照) がデフォルトとして使用されますが、検索パスに対しては使用されません。 いずれかのインターナショナル変数に無効な値が設定されている場合、 man は、すべてのインターナショナル 変数が "C" に設定されているものとして動作します。 environ(5) を参照してください。 MANPATH に値が設定されている場合、この変数は、指定されたエントリーを検索するために調べるパスとし て、デフォルトパスに代わるディレクトリのリストを指示します。 PAGER に値が設定されている場合、この変数は、出力をページごとに分割した表示を行うために more(1) の代 わりに用いる出力フィルタを定義します。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 例 grep という単語が一行解説の行 ( 「名称」の行) に含まれているマニュアルエントリーのリストを出力しま す。 man -k grep 出力は次のとおりです。 grep, egrep, fgrep (1) - search a file for a pattern zgrep(1) - search possibly compressed files for a regular expression grep(1) のマニュアルエントリーの一行解説を表示するには次のように入力します。 man -f grep grep(1) のマニュアルエントリー全体を表示するには次のように入力します。 man grep 現在のディレクトリのすぐ下のパスを含む検索パスを設定するには以下のように指定します。マニュアルエン トリー mypage は、ディレクトリ ./man1 (または ./man1.Z, ./cat1 または ./cat1.Z) に存在すると仮定します。 MANPATH=.:/usr/share/man:/usr/contrib/man:/usr/local/man export MANPATH man mypage id(1) のマニュアルエントリーを表示する際に、その出力をパイプで pg -c に引き渡すには次のように指定しま す。 PAGER="pg -c" export PAGER HP-UX 11i Version 3: February 2007 −5− Hewlett-Packard Company Section 1-861 man(1) man(1) man id intro(4) および intro(3) を表示するには次のように指定します。 man 4 intro man 3 intro 警告 マニュアルエントリーは、写植機、従来のラインプリンタ、およびスクリーンディスプレイ装置に出力できる ように構成されています。しかし、ラインプリンタおよびディスプレイデバイスの制限により、情報の一部が 失われる場合があります。 ファイル /usr/share/lib/whatis キーワードデータベース /usr/share/man/cat*[.Z]/* フォーマット済みマニュアルエントリー [圧縮形] /usr/share/man/man*[.Z]/* 未フォーマットの (nroff (1) ソースの) マニュアルエント リー [圧縮形] /usr/contrib/man/cat*[.Z]/* /usr/contrib/man/man*[.Z]/* /usr/local/man/cat*[.Z]/* /usr/local/man/man*[.Z]/* /usr/share/man/$LANG/cat*[.Z]/* フォーマット済み母国語マニュアルエントリー [圧縮形] /usr/share/man/$LANG/man*[.Z]/* 未フォーマットの (nroff (1) ソースの) 母国語マニュアルエ ントリー [圧縮形] /usr/contrib/man/$LANG/cat*[.Z]/* /usr/contrib/man/$LANG/man*[.Z]/* /usr/local/man/$LANG/cat*[.Z]/* /usr/local/man/$LANG/man*[.Z]/* 参照 col(1), compress(1), grep(1), more(1), catman(1M), fixman(1M), environ(5), intro(1), intro(1M), intro(2), intro(3), intro(4), intro(5), intro(7), intro(9), introduction(9), man(5), manuals(5) 標準準拠 man: XPG4 Section 1-862 Hewlett-Packard Company −6− HP-UX 11i Version 3: February 2007 mediainit(1) mediainit(1) 名称 mediainit − ディスクの初期化、 DDS テープの分割 構文 mediainit [-vr] [-f fmt_optn ] [-i interleave ] [-p size ] pathname 説明 mediainit は、メディアのフォーマット、テストパターンの読み書きによるメディア完全性の確認、および検出 された欠陥ブロックの置き換えにより、大容量記憶メディアを初期化します。このプロセスは、エラーのない 操作を行うためにディスクまたはテープを準備します。初期化により、初期化する領域にある既存のユーザー データがすべて破壊されます。 mediainit は DDS テープメディアの分割にも使用することができます。詳細については、以下の -p オプション を参照してください。 オプション 以下のコマンドオプションが認識されます。これらは任意の順序で指定できますが、すべて pathname の前に 置かなければなりません。パラメータの付いていないオプションは個別にリストするか、またはひとまとめに することができます。パラメータの付いているオプションは個別にリストしなければなりませんが、オプショ ンとそのパラメータの間のホワイトスペースは任意です。 -v 通常、 mediainit は、標準エラーに送られる致命的エラーメッセージのみを与えま す。 -v (冗長) オプションは、 mediainit の低レベルの操作に関連するデバイス固有の 情報を、標準出力に送ります。情報を正しく解釈するには、通常、デバイス操作につ いて詳しく知っておかなければならないため、このオプションは熟練したユーザーに 最も有効です。 -r (再認定) 以前に認定されているかどうかにかかわらず、このオプションにより、テー プが完全に認定されます。以前に置き換えられているブロックのレコードはすべて廃 棄されます。したがって、不良ブロックをすべて再び探し出さなければなりません。 このオプションは、以下の場合にのみ使用してください。 • 置き換えてはならなかったテープ上の多数のブロックが、置き換えられている疑 いがある場合。または • -f fmt_optn テープ上の前のデータをすべて破壊(オーバライト)する必要がある場合。 フォーマットオプションは 0 から 239 までの範囲にあるデバイス固有の数値です。こ れは、(インタリーブファクタとは独立に) 複数のメディアフォーマットをサポートす る SS/80 デバイスでのみ使用します。例えば、あるマイクロフロッピードライブは 256 バイト、512 バイト、および1024 バイトのセクターをサポートします。 mediainit は、与えられたフォーマットオプションを直接、装置に渡します。装置がサポートさ れている場合にはフォーマットオプションを受け付け、サポートされていなければ拒 否します。詳細については、装置の操作マニュアルを参照してください。デフォルト HP-UX 11i Version 3: February 2007 −1− Hewlett-Packard Company Section 1-863 mediainit(1) mediainit(1) フォーマットオプションは 0 です。 -i interleave インタリーブファクタ、 interleave は、連続した論理レコードと連続した物理レコー ドとの関係をいいます。これは、2つの連続した番号の論理レコードの開始点の間に あるメディア上の物理レコードの数を定義します。インタリーブファクタを選択する と、ディスク性能にかなり影響を与える場合があります。 -p size DDS カートリッジ メディアをパーティション 0 とパーティション 1 の 2 つの論理ボ リュームに分割します。 • size はパーティション1の最小サイズを指定します(Mバイト単位)。最大許容値は 1200です。 • パーティション0はテープの残りです (パーティション0はテープ上で物理的にパー ティション1の後に続きます)。 パーティション1の実際のサイズは、書き込み時のテープ メディアエラーを考慮に入 れており、要求されたサイズより若干大きくなります。したがって、 size が400のと きは、パーティション1で少なくとも400Mバイトのデータを保持し、テープの残りは パーティション0 のために使用されるように、 DDS テープを2 つのパーティションに フォーマットします (1300M バイトの DDS カートリッジの場合には、これは、パー ティション0のサイズが900Mバイトより若干小さくなることを意味します)。 テープを分割して使用するのでなければ、 DDS テープを使用前にフォーマットする必 要はないことに注意してください。フォーマットしていない DDS メディアを、シング ルパーティション テープとして使用する場合は、初期化する必要はありません。シン グルパーティションテープ上のパーティション1 にアクセスすると、エラーが発生し ます。 2パーティションテープをシングルパーティションに変更するには、 size とし て 0 を指定して mediainit を使用してください。 pathname pathname は、初期化しようとするデバイスユニット、またはボリュームに対応する キャラクタ型(raw) デバイススペシャルファイルのパス名です。デバイススペシャル ファイルの読み出しパーミッション、または書き込みパーミッションがない場合、ま たはデバイスがその他の任意のプロセスに対して