Comments
Description
Transcript
emr_na-c01975313 - HPE Support Center
HP-UX リファレンス セクション 1 : ユーザーコマンド (A~M) HP-UX 11i v2 Vol. 1 / 10 Manufacturing Part Number : B2355-91077 2007 年 12 月 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 年 12 月、 B2355-91077~91086 (10vol) (英語版: B2355-92066~92075) 2004 年 9 月、 B2355-90850~90859 (10vol) (英語版: B2355-90839~90848) 2003 年 8 月、 B2355-90815~90823 (9vol) (英語版: B2355-90771~90779) 重要 本書の発行後も、新しい情報が発生する可能性があります。最新の情報について は、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 2, December 2007 Update, Volume 1 of 10』(HP Part No. B2355-92066) を翻訳したものです。 表記規約 本書では、次の表記規約を使用します。 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-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: ファイルの圧縮、展開、出力および連結…………………………………………………………………compact(1)参照 cd(1): cd……………………………………………………………………………………………………ワークディレクトリの変更 cd: ワーキングディレクトリの変更……………………………………………………………………………………csh(1)参照 cd: ワーキングディレクトリの変更……………………………………………………………………………………ksh(1)参照 cd: ワーキングディレクトリの変更………………………………………………………………………………sh-posix(1)参照 cdc(1): cdc………………………………………………………………………………………SCCS デルタのデルタ注釈の変更 chacl(1): chacl…………………………ファイルのアクセス制御リスト(ACL)の追加、修正、削除、コピー、または要約 chatr(1): chatr……………………………………………………………………………………プログラムの内部属性の変更 chatr: プログラムの内部属性の変更……………………………………………………………………………chart_ia(1)参照 HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 11 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 chatr: プログラムの内部属性の変更……………………………………………………………………………chart_pa(1)参照 chatr_ia(1): chatr…………………………………………………………Integrity システム用プログラムの内部属性の変更 chatr_pa(1): chatr…………………………………………………………PA-RISC システム用プログラムの内部属性の変更 chdir: ワーキングディレクトリの変更 ………………………………………………………………………………csh(1)参照 checknr(1): checknr………………………………………………………………………………nroff/troff ファイルのチェック chfn(1): chfn…………………………………………………………………finger コマンドで使用されるユーザー情報の変更 chgrp: ファイルの所有者またはグループの変更……………………………………………………………………chown(1)参照 chkey(1): chkey……………………………………………………………………………………セキュア RPC キーの対の変更 chmod(1): chmod………………………………………………………………ファイルモード アクセスパーミッションの変更 chown(1): chown, chgrp…………………………………………………………………ファイルの所有者またはグループの変更 chsh(1): chsh……………………………………………………………………………………デフォルトのログインシェルの変更 ci(1): ci………………………………………………………………………………………………RCS リビジョンのチェックイン ckconfig(1): ckconfig…………………………………………………………すべての FTP 構成ファイルのパス名を検証 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つのファイルに共通する行の選択、または拒否 command(1): command………………………………………………………………………………………単純なコマンドの実行 compact(1): compact, uncompact, ccat…………………………………………ファイルの圧縮、展開、出力および連結 compress(1): compress, uncompress, zcat, compressdir, uncompressdir…………データの圧縮および展開 compressdir: ディレクトリ内のファイルの圧縮………………………………………………………………compress(1)参照 continue: もっとも近い while あるいは foreach の再開…………………………………………………………csh(1)参照 continue: for/nextループの繰り返し…………………………………………………………………………………ksh(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)システムの呼び出し(ターミナルエミュレータ) 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, diffh…………………………………………………………………ファイルとディレクトリの差分プログラム 12 Hewlett-Packard Company HP-UX 11i Version 2: December 2007 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 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-keygen(1): dnssec-keygen……………………………………………………………………DNSSECの鍵生成ツール dnssec-makekeyset(1): dnssec-makekeyset………………………………………………………DNSSEC鍵セットの作成 dnssec-signkey(1): dnssec-signkey……………………………………………………………DNSSEC 鍵セット署名ツール dnssec-signzone(1): dnssec-signzone…………………………………………………………DNSSECゾーンの署名ツール domainname(1): domainname…………………………………ネットワーク情報サービスドメインの名前の設定または表示 dos2ux(1): dos2ux, ux2dos……………………………………………………………ASCII ファイルフォーマットの変換 doschmod(1): doschmod…………………………………………………………………………………DOS ファイル属性の変更 doscp(1): doscp……………………………………………………………………………………………DOS ファイル間のコピー dosdf(1): dosdf………………………………………………………………………………未使用ディスククラスタ数のレポート dosll: DOS ディレクトリの内容のリスト……………………………………………………………………………dosls(1)参照 dosls(1): dosls,dosll………………………………………………………………………DOS ディレクトリの内容のリスト dosmkdir(1): dosmkdir…………………………………………………………………………………DOS ディレクトリの作成 dosrm(1): dosrm, dosrmdir………………………………………………………DOS ファイルまたはディレクトリの削除 dosrmdir: DOS ファイルまたはディレクトリの削除………………………………………………………………dosrm(1)参照 du(1): du…………………………………………………………………………………………………………ディスク使用量の要約 dumpmsg: 修正用のメッセージカタログ ファイルの作成………………………………………………………findmsg(1)参照 echo(1): echo…………………………………………………………………………………………………引き数のエコー (表示) echo: 引き数のエコー(プリント)………………………………………………………………………………………csh(1)参照 echo: 引き数のエコー(プリント)……………………………………………………………………………………ksh(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のコード幅の設定と取得 eval: 引き数をシェルの入力として読み結果を実行する…………………………………………………………csh(1)参照 eval: シェル入力としての引き数の読み取りとコマンドの実行……………………………………………………ksh(1)参照 eval: シェル入力としての引き数の読み取りとコマンドの実行………………………………………………sh-posix(1)参照 ex(1): ex, edit……………………………………………………………………………………行指向の拡張テキストエディター exec: 新しいプロセスを生成せずにコマンドを実行する…………………………………………………………csh(1)参照 exec: 新しいプロセスを生成せずにコマンドを実行する…………………………………………………………ksh(1)参照 exec: 新しいプロセスを生成せずにコマンドを実行する………………………………………………………sh-posix(1)参照 exit: 終了ステータスとともにシェルを終了する……………………………………………………………………csh(1)参照 exit: 終了ステータスとともにシェルを終了する………………………………………………………………………ksh(1)参照 HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 13 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 exit: 終了ステータスとともにシェルを終了する………………………………………………………………sh-posix(1)参照 expand(1): expand, unexpand………………………………………………………………タブをスペースに展開およびその逆 expand_alias(1): expand_alias………………………………………………………………sendmail の別名を再帰的に展開 export: 以降のコマンド環境に可変名のエクスポート………………………………………………………………ksh(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)参照 from(1): from…………………………………………………………………………………………………メールの送信元の表示 fruled(1): fruled………………………………………………………………………………………………………………………… アテンション LED(セル、キャビネット、および I/O シャーシのアテンション LED)の点滅/消灯の切り替え ftio(1): ftio…………………………………………………………………………………………………………… 高速テープI/O ftp(1): ftp……………………………………………………………………………………………………ファイル転送プログラム ftpcount(1): ftpcount………………………………………………………………………各クラスの現在のユーザー数を表示 ftprestart(1): ftprestart…………………ftpshut ユーティリティが作成したシャットダウンメッセージファイルを削除 ftpshut(1): ftpshut…………………………………………………ftp サーバーのシャットダウンメッセージファイルを作成 ftpwho(1): ftpwho…………………………………………………………………各ftp ユーザーの現在のプロセス情報を表示 gcore(1): gcore……………………………………………………………………………実行中のプロセスのコアイメージの取得 gencat(1): gencat……………………………………………………フォーマットされたメッセージカタログ ファイルの生成 genxlt(1): genxlt………………………………………………………………………………………iconv変換テーブルの生成 get(1): get……………………………………………………………………………………SCCS ファイルのバージョンの取得 getaccess(1): getaccess…………………………………………(単一または複数の)ファイルに対するアクセス権のリスト getacl(1): getacl…………………………………ファイルのアクセス制御リスト(ACL)の取得(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……………………………………………………………………………ファイルのパターン検索 14 Hewlett-Packard Company HP-UX 11i Version 2: December 2007 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 grget: グループ情報の取得…………………………………………………………………………………………pwget(1)参照 groups(1): groups……………………………………………………………………………………グループメンバー権の表示 hashcheck: スペリングのリファレンスリストのワードから spell のための 9桁のハッシュコードへの変換…………… …………………………………………………………………………………………………………………spell(1)参照 hashmake: テキストワードから9桁のハッシュコードへの変換……………………………………………………spell(1)参照 hashstat: ハッシュテーブルの効果を示す統計のプリント………………………………………………………csh(1)参照 head(1): head…………………………………………………………………………………………………最初の数行のプリント history: イベントヒストリリストの表示……………………………………………………………………………csh(1)参照 host(1): host………………………………………………………………………………………………DNS 参照ユーティリティ hostname(1): hostname………………………………………………………………現在のホストシステム名の設定または表示 hp(1): hp…………………………………………………………HP 2640およびHP 2621シリーズターミナルの特殊機能の操作 hp-mc680x0: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp-pa: プロセッサタイプの識別…………………………………………………………………………………machid(1)参照 hp9000s200: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp9000s300: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp9000s400: プロセッサタイプの識別…………………………………………………………………………machid(1)参照 hp9000s700: プロセッサタイプの識別…………………………………………………………………………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)参照 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…………………………………………………………モデムダイヤル呼び出し、ファイル転送および管理 keylogin(1): keylogin…………………………………………………keyserv によるシークレットキーの復号化および保存 keylogout(1): keylogout……………………………………………keyserv により保存されているシークレットキーの削除 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 パスワードの変更 HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 15 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 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 システム)…………………………………………………………………………ld_ia(1)参照 ld: リンクエディター (PA-RISC システム)…………………………………………………………………………ld_pa(1)参照 ld_ia(1): ld………………………………………………………………………………リンクエディター (Integrity システム) ld_pa(1): ld………………………………………………………………………………リンクエディター (PA-RISC システム) ldapentry(1): ldapentry………………………………………………LDAP ディレクトリ内のエントリーの追加/変更/削除 ldapschema(1): ldapschema…………………………………LDAP ディレクトリサーバー上の LDAP スキーマのステー タスの調査。新しい属性タイプとオブジェクトクラスによるLDAP ディレクトリサーバーのスキーマの拡張 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ボリュームヘッダのファイルへの書き込み lifls(1): lifls……………………………………………………………………………………LIFディレクトリの内容のリスト lifrename(1): lifrename…………………………………………………………………………………LIFファイルの名称変更 lifrm(1): lifrm…………………………………………………………………………………………………LIFファイルの削除 limit: カレントプロセスによる使用量の制限………………………………………………………………………csh(1)参照 line(1): line…………………………………………………………………………………………ユーザー入力から1行の読出し listusers(1): 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): cancel, lp, lpalt……………………………………………………………LP 宛先へのプリント/変更/取消しの要求 lpalt: LP 宛先へのプリント/変更/取消しの要求……………………………………………………………………lp(1)参照 lpfilter(1): lpfilter………………………………………LPインタフェーススクリプトによって呼び出されるフィルター lpstat(1): lpstat…………………………………………………………………LP サブシステムのステータス情報のレポート ls(1): ls, lc, l, ll, lsf, lsr, lsx…………………………………………………………………ディレクトリの内容のリスト 16 Hewlett-Packard Company HP-UX 11i Version 2: December 2007 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 lsacl(1): lsacl……………………………………………………………………ファイルのアクセス制御リスト(ACL)の表示 lsf: ディレクトリの内容のリスト………………………………………………………………………………………ls(1)参照 lsr: ディレクトリの内容のリスト………………………………………………………………………………………ls(1)参照 lsx: ディレクトリの内容のリスト………………………………………………………………………………………ls(1)参照 m4(1): m4…………………………………………………………………………………………………………マクロプロセッサ machid(1): hp9000s200, hp9000s300, hp9000s400, hp9000s500, hp9000s700, hp9000s800, hp-mc680x0, hp-pa, pdp11, u3b, u3b2, u3b5, u3b10, u370, 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…………………………………………………………………ターミナルでのメッセージ受信の許可または拒否 mkdir(1): mkdir…………………………………………………………………………………………………ディレクトリの作成 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…………………………………………………………………ファイルおよびディレクトリの移動または名称変更 named-checkconf(1): named-checkconf………………………………………named 構成ファイルの構文チェックツール named-checkzone(1): named-checkzone……………………………………………………ゾーンの妥当性チェックツール neqn(1): neqn………………………………………………………………………………nroff の数式テキストのフォーマット netstat(1): netstat………………………………………………………………………………ネットワークステータスの表示 newalias(1): newalias…………………………………………ユーザーまたはシステムの新しい elm 別名のインストール newform(1): newform…………………………………………………………テキストファイルの変更または再フォーマット newgrp(1): newgrp…………………………………………………………………………………新しいグループへの切り換え 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+(1): nis+………………………………………………………………新しいバージョンのネットワーク情報ネームサービス niscat(1): niscat……………………………………………………………………NIS+ のテーブルおよびオブジェクトの表示 HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 17 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 nischgrp(1): nischgrp…………………………………………………………NIS+ のオブジェクトのグループ所有者の変更 nischmod(1): nischmod……………………………………………………NIS+ のオブジェクトに関するアクセス権の変更 nischown(1): nischown………………………………………………………………NIS+ のオブジェクトの所有者の変更 nischttl(1): nischttl………………………………………………………………NIS+ のオブジェクトの有効期間の値の変更 nisdefaults(1): nisdefaults………………………………………………………………………NIS+ のデフォルト値の表示 niserror(1): niserror…………………………………………………………………………NIS+ のエラーメッセージの表示 nisgrpadm(1): nisgrpadm………………………………………………………………………NIS+ のグループ管理コマンド nisln(1): nisln………………………………………………………………………NIS+ オブジェクトのシンボリックリンク nisls(1): nisls………………………………………………………………………………NIS+ のディレクトリの内容の表示 nismatch(1): nismatch, nisgrep……………………………………………………NIS+ テーブルの検索ユーティリティ nismkdir(1): nismkdir……………………………………………………………………………NIS+ のディレクトリの作成 nispasswd(1): nispasswd…………………………………………………………………………NIS+ のパスワード情報の変更 nisrm(1): nisrm……………………………………………………………………ネーム空間からの NIS+ オブジェクトの削除 nisrmdir(1): nisrmdir…………………………………………………………………………………NIS+ ディレクトリの削除 nistbladm(1): nistbladm……………………………………………………………………………NIS+ テーブル管理コマンド nistest(1): nistest………………………………………………………………条件式による NIS+ ネーム空間の状態の入手 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………………………………………………………………………ネームサーバーの対話型問合わせ nsquery(1): nsquery………………………………………………ネームサービススイッチ バックエンドライブラリを検索 nsupdate(1): nsupdate……………………………………………………………………………DNS 動的更新ユーティリティ od(1): od, xd…………………………………………………………………………………………………8進および16進ダンプ odump(1): odump………………………………………………………………SOM オブジェクトファイル内の情報のダンプ on(1): on………………………………………………ローカルと同様の環境でのリモートホストにおけるコマンドの実行 onintr: 割り込みのシェルによる扱いを指定する……………………………………………………………………csh(1)参照 osdd: マクロでフォーマットされたドキュメントの確認またはプリント……………………………………………mm(1)参照 pack(1): pack, pcat, unpack………………………………………………………………………ファイルの圧縮および展開 page: CRT上でのファイル精読用フィルター………………………………………………………………………more(1)参照 parstatus(1): parstatus……………………………………………………ハードパーティション対応システムの情報の表示 passwd(1): passwd…………………………………………………………………ログインパスワードと、関連する属性の変更 paste(1): paste…………………………………………………複数ファイルの同一行または1つのファイルの次の行のマージ patch(1): patch…………………………………………………………diff ファイル内容を元ファイルに適用するプログラム pathalias(1): pathalias………………………………………………………………………………………電子アドレスルータ pathchk(1): pathchk…………………………………………………………………………………………………パス名の検査 pax(1): pax…………………………………………………………………アーカイブファイルの抽出、書き込み、およびリスト pcat: ファイルの圧縮および展開………………………………………………………………………………………pack(1)参照 pdp11: プロセッサタイプの識別…………………………………………………………………………………machid(1)参照 pg(1): pg……………………………………………………………………ソフトコピーターミナル用ファイル熟読フィルター pipcrm(1): pipcrm ………………………………………………POSIXメッセージキューやPOSIX名前付きセマフォの削除 pipcs(1): pipcs……………………………………………………………………………POSIXプロセス間通信機能の状態報告 pldd(1): pldd………………………………………………………………………………………各プロセスにリンクされているダ イナミックライブラリの表示(dlopen()/shl_load() を用いて明示的に結び付けられた共有オブジェクトも含む) pppd(1): pppd……………………………………………………………………………PPP(Point to Point Protocol) デーモン 18 Hewlett-Packard Company HP-UX 11i Version 2: December 2007 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 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………………………………………………………………………………引き数をフォーマットして表示出力 privatepw(1): privatepw…………………………………………………………WU-FTPDグループ探査ファイル情報の変更 prmail(1): prmail……………………………………………………受信メールボックスファイルのメールのプリントアウト prof(1): prof………………………………………………………………………………………………プロファイルデータの表示 prs(1): prs………………………………………………………………………………………SCCS ファイルの表示および要約 ps(1): ps……………………………………………………………………………………………プロセスステータスのレポート pstack(1): pstack…………………………………各プロセスおよびコアファイル内の各 LWP のスタックトレースの表示 ptx(1): ptx…………………………………………………………………………………………………………………項目別索引 pty: ターミナル名の取得………………………………………………………………………………………………tty(1)参照 pushd: ディレクトリスタックのプッシュ……………………………………………………………………………csh(1)参照 pwd(1): pwd…………………………………………………………………………………………ワークディレクトリ名の出力 pwd: 現在のワーキングディレクトリのプリント……………………………………………………………………ksh(1)参照 pwd: 現在のワーキングディレクトリのプリント………………………………………………………s h - p o s i x ( 1 ) 参照 pwget(1): pwget, grget…………………………………………………………………パスワードおよびグループ情報の取得 quota(1): quota………………………………………………………………………………ディスク使用量および制限の表示 ranlib(1): ranlib………………………………………………………………………アーカイブ シンボルテーブルの再生成 rcp(1): rcp……………………………………………………………………………………………リモートファイルの コピー rcs(1): rcs………………………………………………………………………………………………RCS ファイル属性の変更 rcsdiff(1): rcsdiff…………………………………………………………………………………………RCS リビジョンの比較 rcsmerge(1): rcsmerge…………………………………………………………………………………RCS リビジョンのマージ rdist(1): rdist…………………………………………………………………………………リモートファイル配布プログラム read(1): read…………………………………………………………………………………………標準入力からの行の読み出し read: 行の入力と構文解析………………………………………………………………………………………………ksh(1)参照 read: 行の入力と構文解析…………………………………………………………………………………………sh-posix(1)参照 readmail(1): readmail……………………………………受信メールボックスやメールフォルダからのメールの読み取り readonly: 再定義不可能………………………………………………………………………………………………ksh(1)参照 readonly: 再定義不可能…………………………………………………………………………………………sh-posix(1)参照 red: 行指向のテキストエディター………………………………………………………………………………………ed(1)参照 rehash: 内部ハッシュテーブルの再計算………………………………………………………………………………csh(1)参照 remsh(1): remsh、rexec………………………………………………………………………………リモートシェルからの実行 remsh: リモートシェルからの実行……………………………………………………………………………………rexec(1)参照 repeat: コマンドの複数回の実行………………………………………………………………………………………csh(1)参照 reset: ターミナル依存情報の初期化……………………………………………………………………………………tset(1)参照 return: シェル機能の呼び出しスクリプトへの復帰………………………………………………………………ksh(1)参照 return: シェル機能の呼び出しスクリプトへの復帰…………………………………………………………sh-posix(1)参照 rev(1): rev…………………………………………………………………………………………………ファイルの行の逆順出力 rexec(1): remsh、rexec…………………………………………………………………………………リモートシェルからの実行 rexec: リモートシェルからの実行……………………………………………………………………………………remsh(1)参照 rksh: シェル、標準または制限付きコマンドプログラミング言語………………………………………………ksh(1)参照 rlog(1): rlog………………………………………ログメッセージおよび RCS ファイルに関するその他の情報のプリント HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 19 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 rlogin(1): rlogin…………………………………………………………………………………………………リモートログイン rm(1): rm……………………………………………………………………………………ファイルまたはディレクトリの削除 rmail: ユーザーへのメールの送信およびメールの読み出し………………………………………………………mail(1)参照 rmdel(1): rmdel……………………………………………………………………………SCCS ファイルからのデルタの削除 rmdir(1): rmdir…………………………………………………………………………………………………ディレクトリの削除 rmnl(1): rmnl…………………………………………………………………………………ファイル中の余分な改行文字の削除 rndc(1): rndc……………………………………………………………………………………ネームサーバー制御ユーティリティ rndc-confgen(1): rndc-confgen……………………………………………………………………………rndcキー生成ツール rpcgen(1): rpcgen……………………………………………………………………………………RPC プロトコルコンパイラ rsh: 標準および制限付きの POSIX.2 準拠コマンドシェル……………………………………………………sh-posix(1)参照 rtprio(1): rtprio……………………………………………………………リアルタイム優先順位を指定したプロセスの実行 rtsched(1): rtsched…………………………………………………………………リアルタイム優先順位付きプロセスの実行 rup(1): rup……………………………………………………ローカルマシン(RPC バージョン)のホストステータスの表示 ruptime(1): ruptime………………………………………………………………………ローカルマシンのステータスの表示 rusers(1): rusers………………………………………ローカルネットワークのマシンにログインしているユーザの判定 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……………………………………………ターゲットプロセスの他のプロセスとの順次実行を強制 set: フラッグおよび引き数の設定/定義………………………………………………………………………………csh(1)参照 set: フラッグおよび引き数の設定/定義………………………………………………………………………………ksh(1)参照 set: フラッグおよび引き数の設定/定義…………………………………………………………………………sh-posix(1)参照 setacl(1): setacl…………………………………ファイルのアクセス制御リスト(ACL)の変更(JFSファイルシステムのみ) setenv: 環境変数の定義…………………………………………………………………………………………………csh(1)参照 sffinger: TCP ラッパー用ユーティリティプログラム…………………………………………………………tryfrom(1)参照 sh(1): sh………………………………………………………………………………………………各種のシステムシェルの概要 sh-posix(1): sh, rsh………………………………………………………標準および制限付きの POSIX.2 準拠コマンドシェル shar(1): shar………………………………………………………………………………シェルアーカイブ パッケージの作成 shl(1): shl………………………………………………………………………………………………………シェル階層マネージャ shift: メンバーの1つの位置を左に変更………………………………………………………………………………csh(1)参照 shift: メンバーの1つの位置を左に変更………………………………………………………………………………ksh(1)参照 shift: メンバーの1つの位置を左に変更…………………………………………………………………………sh-posix(1)参照 show_patches(1): show_patches……………………………………………HP-UX パッチのディスプレイユーティリティ size(1): size……………………………………………………………オブジェクトファイルのセクションサイズのプリント sleep(1): sleep……………………………………………………………………………………………一定期間の間の実行停止 slp(1): slp……………………………………………………………………非シリアルプリンタのプリントオプションの設定 soelim(1): soelim………………………………………………………………………………………nroff入力からの.soの除去 sort(1): sort………………………………………………………………………………………………ファイルのソート/マージ source: コマンド入力のソースの定義………………………………………………………………………………csh(1)参照 spell(1): spell, hashmake, spellin, hashcheck…………………………………………………………スペルミスの発見 spellin: スペルミスの発見……………………………………………………………………………………………spell(1)参照 20 Hewlett-Packard Company HP-UX 11i Version 2: December 2007 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 split(1): split………………………………………………………………………………………………………ファイルの分割 ssp(1): ssp…………………………………………………………………………………多重のラインフィードを出力から削除 strings(1): strings…………………………オブジェクトまたは他のバイナリファイルからプリント可能な文字列を検索 strip(1): strip…………………………………………………オブジェクトファイルからシンボル情報と行番号情報を削除 stty(1): stty………………………………………………………………………ターミナルポートに対するオプションの設定 su(1): su…………………………………………………………………………………………………………ユーザー名の切り換え sum(1): sum…………………1つまたは複数のファイルのチェックサムおよびブロックまたはバイトカウントのプリント switch: switch 文の定義……………………………………………………………………………………………csh(1)参照 sysdiff(1): sysdiff………………………………………………HP-UX にインストールされたソフトウェアのコンパレータ 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 プロトコルに対するユーザーインタフェース test(1): test………………………………………………………………………………………………………条件評価コマンド test: 条件式の評価…………………………………………………………………………………………………csh(1)参照 test: 条件式の評価…………………………………………………………………………………………………ksh(1)参照 test: 条件式の評価…………………………………………………………………………………………………sh-posix(1)参照 tftp(1): tftp…………………………………………………………………………………トリビアルファイル転送プログラム time, times: プロセス所要時間の要約のプリント……………………………………………………………ksh(1)参照 time(1): time…………………………………………………………………………………………………コマンドの時間の測定 time: シェルおよびその子プロセスにより使われた時間の要約のプリント………………………………………csh(1)参照 time, times: プロセス所要時間の要約のプリント………………………………………………………sh-posix(1)参照 timex(1): timex…………………………………コマンドの時間の計測。プロセスデータおよびシステムの活動のレポート top(1): top…………………………………………システム上の最上位のプロセスに関する情報の表示およびアップデート touch(1): touch…………………………ファイルのアクセス、修正、および変更時刻またはそのいずれかのアップデート tput(1): tput……………………………………………………………………………………terminfoデータベースの問合わせ tr(1): tr……………………………………………………………………………………………………………………文字の翻訳 trap: トラップ指定シグナル……………………………………………………………………………………………ksh(1)参照 trap: トラップ指定シグナル………………………………………………………………………………………sh-posix(1)参照 true(1): true, false……………………………………………………………………………終了ステータス0または1を戻す trufgrep(1): trufgrep…………………………………………………………………………………ファイルのパターン検索 tryfrom(1): tryfrom, sffinger…………………………………………………TCP ラッパー用ユーティリティプログラム tset(1): tset, reset…………………………………………………………………………………ターミナル依存情報の初期化 tsm(1): tsm……………………………………………………………………………………ターミナル セッションマネージャ tsm.command(1): tsm.command………………………………………ターミナル セッションマネージャにコマンドを転送 tsm.info(1): tsm.info………………………………………ターミナル セッションマネージャの状態に関する情報の入手 tsort(1): tsort……………………………………………………………………………………………トポロジー的な並び換え tty(1): tty, pty…………………………………………………………………………………………………ターミナル名の取得 ttytype(1): ttytype……………………………………………………………………………………ターミナル識別プログラム typeset: 前にある空白とパラメータの処理の制御…………………………………………………………………ksh(1)参照 typeset: 前にある空白とパラメータの処理の制御……………………………………………………………sh-posix(1)参照 u370: プロセッサタイプの識別………………………………………………………………………………………machid(1)参照 u3b: プロセッサタイプの識別…………………………………………………………………………………………machid(1)参照 HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 21 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 u3b10: プロセッサタイプの識別……………………………………………………………………………………machid(1)参照 u3b2: プロセッサタイプの識別………………………………………………………………………………………machid(1)参照 u3b5: プロセッサタイプの識別………………………………………………………………………………………machid(1)参照 ul(1): ul…………………………………………………………………………………………………………アンダーライン付け ulimit: サイズまた時間制限の設定……………………………………………………………………………………ksh(1)参照 ulimit: サイズまた時間制限の設定………………………………………………………………………………sh-posix(1)参照 umask(1): umask………………………………………………………………………ファイルモード作成マスクの設定と表示 umask: ファイルの新規作成に対するパーミッションマスクの設定………………………………………………csh(1)参照 umask: ファイルの新規作成に対するパーミッションマスクの設定………………………………………………ksh(1)参照 umask: ファイルの新規作成に対するパーミッションマスクの設定…………………………………………sh-posix(1)参照 umodem(1): umodem……………………………………………………………XMODEMプロトコルファイル転送プログラム unalias: 指定のエイリアスの解除……………………………………………………………………………………csh(1)参照 unalias: 指定のエイリアスの解除……………………………………………………………………………………ksh(1)参照 unalias: 指定のエイリアスの解除………………………………………………………………………………sh-posix(1)参照 uname(1): uname………………………………………コンピュータシステムの情報の表示とノード名(システム名)の設定 uncompact: ファイルの圧縮、展開、出力および連結…………………………………………………………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-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…………………………………………………………………………識別用キーワードの割り当てられた値への置換 22 Hewlett-Packard Company HP-UX 11i Version 2: December 2007 目次 Vol. 1&2 エントリー 名(セクション): 名称 説明 vedit: 初心者用スクリーン指向テキストエディター…………………………………………………………………vi(1)参照 vi(1): vi, view, vedit…………………………………………………スクリーン指向の (ビジュアル) テキストエディター view: 書き込み禁止スクリーン指向テキストエディター………………………………………………………v i ( 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)参照 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)参照 xstr(1): xstr……………………………………共用文字列をインプリメントするために C プログラムから文字列を抽出 yes(1): yes…………………………………………………………………………………………………………………繰り返し肯定 ypcat(1): ypcat………………………………………………………ネットワーク情報サービスマップのすべての値をプリント ypmatch(1): ypmatch………………………………ネットワーク情報サービスマップ内で選択されたキーの値のプリント yppasswd(1): yppasswd……………………………ネットワーク情報サービス(NIS) におけるログインパスワードの変更 ypwhich(1): ypwhich……………どのホストがネットワーク情報サービスのサーバまたはマップマスターかを示すリスト zcat: ディレクトリ内のファイルの圧縮………………………………………………………………………compress(1)参照 HP-UX 11i Version 2: December 2007 Hewlett-Packard Company 23 24 Hewlett-Packard Company HP-UX 11i Version 2: December 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文字のオプションで、後ろに必須の引き数が付きます。各要素の意味は次のとおり です。 arg_letter 引き数が必要なオプションを表す1個の文字です。 opt_arg 先行の arg_letter が必要とする引き数 (文字列) です。 <> 空白スペースを表します。これは省略可能です。 cmd_arg 先頭が - ではないパス名 (またはその他のコマンド引き数) か、あるいは標準入力を表す 単独の - です。cmd_arg を2個以上指定する場合は、空白スペースで区切らなければな りません。 マニュアルエントリー フォーマット すべてのマニュアルエントリーは定められたトピックフォーマットに準拠しますが、すべてのトピックが各エ ントリーに含まれるわけではありません。 名称 構文 エントリー名とその目的の概要 説明されたエントリーまたはプログラムエンティティの使用法を要約します。いく つかの規則が適用されます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 27 intro(1) intro(1) Computer font 文字列はリテラルでマニュアルの通りにタイプします (2項と3 項のエントリー構文にあるパラメータを除く)。 Italic 文字列は代替可能な引き数名とマニュアルの他の箇所にあるマニュアルエント リー名を表します。 引き数名がブラケット[]で囲まれていれば、その引き数がオプションであることを示 します。 省略符号 (...) は以前の引き数を再度指定できることを示します。 最終規則はコマンド自身に依存します。ダッシュ (-)、プラス (+)、等号 (=) で始ま る引き数は、ファイル名が来る位置にあっても、オプション引き数の1つとみなさ れます。そのため、 -、 +、=のいずれかで始まるファイル名は使用しないようにし てください。 説明 各エントリーの機能と動作を記述します。 多言語化対応 この項における情報は様々な言語のプログラミングに関するものです。通常のエン トリーにはシングルまたマルチバイト文字、システム動作に関する言語関連環境の 影響、その他の関連情報が示されます。 ネットワーク機能 この項の情報は (NFSなどの) ネットワーク機能を使っている場合のみ有効です。 戻り値 プログラム呼び出しの終了後に返される値の種類を説明します。 診断 診断内容を示します。自明のメッセージはリストから除外してあります。 エラー エラーの条件、それに対応するエラーメッセージまたは戻り値をリストします。 例 一般的な使用例を適切な場合に応じて示します。 警告 潜在的な問題点を指摘します。 制約 ユーザーまたは特定のハードウェアまたはハードウェアの組み合せに関するHP-UX 動作のバリエーションを示します。 著者 マニュアルエントリーによってドキュメントされたソフトウェアの作成元を示しま す。 28 ファイル プログラムまたはコマンドに組み込まれたファイル名をリストします。 参照 関連情報を示します。 バグ 既知のバグと問題点を示します。その解決方法を示してある場合もあります。 標準準拠 この項では HP-UXコンポーネントが準拠する標準仕様をリストします。 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 29 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 のメモ 30 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 31 adb(1) adb(1) 以前、HP-UX クラッシュダンプや /dev/mem を受け付けるために、adb ではこのオプションが -k 必要でした。 以前、複数のHP-UX クラッシュダンプを受け付けるために、adb ではこのオプションが必要でし -m た。 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 コマンドを参照してください。 32 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 2: December 2007 −4− Hewlett-Packard Company 33 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] 34 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 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 2: December 2007 −6− Hewlett-Packard Company 35 adb(1) adb(1) * 修飾子が指定されなかった場合と同じ動作になります。ただし、2 番目のマッピングパ ラメータを使って、出力するデータのファイルアドレスを算出します。 l 修飾子 / と同じ動作を行いますが、サイズが 2 です。dotincr には 2 が設定されま す。 L 修飾子 / と同じ動作を行いますが、サイズが 4 です。dotincr には 4 が設定されま す。 w 修飾子 = と同じ動作を行いますが、サイズが 2 です。dotincr には 2 が設定されま す。dot は、書き込まれたすべての値の合計サイズから dotincr を除いた値で増分さ れます。 W 修飾子 / と同じ動作を行いますが、サイズが 4 です。dotincr には 4 が設定されま す。dot には、w の場合と同じ値が設定されます。 m 修飾子 > と同じ動作を行いますが、index が 0 です。 *m 修飾子 > と同じ動作を行いますが、index が 1 です。 これらの修飾子には、明示的に size または index を指定することはできません。これらの修飾子の使用は推 奨しません。 キーワードコマンド キーワードコマンドは従来のコマンド形式のコマンドの前に $ を付けて、実行します。キーワードコマンド の全リストについては、「キーワード形式コマンド」を参照してください。 プロセスコマンド このコマンドは、サブプロセスの管理を行います。adb はオブジェクトファイルを、サブプロセスとして実行 できます。また、pid を指定してサブプロセスを指定することもできます。adb はマルチスレッドや、フォー クされたサブプロセスを実行できます。また、複数のサブプロセスを同時にデバッグすることもできます。た だし、どの時点でも、現在のサブプロセスおよび 現在のスレッドと呼ばれる 1 つのサブプロセスやスレッドに 焦点を絞ります。 このコマンドでは : の後に、modifier とオプションの引き数リストを指定します。この引き数を次に示しま す。 r [ objfile ] objfile をサブプロセスとして実行します。address を明示的に指定すると、プログラム はこの場所から開始されます。明示的に指定しないと、プログラムは標準のエントリー ポイントから開始されます。count の値は、停止まで何回ブレークポイントを無視する かを指定します。subprocess の arguments は、コマンドと同じ行に指定できます。セミ コロンは、コマンド区切り記号としては使われません。 < または > で始まる argument は、コマンドに対し標準入力や標準出力が使われることを示します。サブプロセスに入 るとき、すべてのシグナルがオンになります。このようなサブプロセスは、生成された サブプロセスと呼ばれます。 36 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 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 に設定されたブレークポイ ントをすべて削除します。* を指定すると、現在のサブプロセスのすべてのブレークポ HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 37 adb(1) adb(1) イントが削除されます。num を指定すると、番号が num のブレークポイントが削除さ れます。 en [ num | * ] 引き数なしで指定すると、現在のサブプロセス内の address に設定されたブレークポイ ントが有効になります。* を指定すると、現在のサブプロセスのすべてのブレークポイ ントが有効になります。num を指定すると、番号が num のブレークポイントが有効に なります。 di [ num | * ] 引き数なしで指定すると、現在のサブプロセス内の address に設定されたブレークポイ ントが無効になります。* を指定すると、現在のサブプロセス内のすべてのブレークポ イントが無効になります。num を指定すると、番号が num のブレークポイントが無効 になります。 z signum [ +s | -s | +r | -r | +d | -d ] 指定した signum のシグナルの扱いを、現在のサブプロセス内のすべてのスレッドで変 更します。次の処理を指定できます。 w [ pid ] +s signum を受信した場合に subprocess を停止します。 -s signum を受信しても subprocess を停止しません。 +r signum を受信した場合に報告を行います。 -r signum を受信しても報告を行いません。 +d ターゲットの subprocess へ signum を通知します。 -d ターゲットの subprocess へ signum を通知しません。 現在のサブプロセスから、プロセス ID が pid の subprocess に切り替えます。切り替え 後のプロセスが、現在のサブプロセスになります。このプロセスは、アタッチされたサ ブプロセスか、生成されたサブプロセスでなければなりません。どちらのサブプロセス も、このコマンドの後は停止状態になります。 wc [ pid ] w と同じですが、現在のサブプロセスは停止しません。 スレッドコマンド このコマンドは、現在のサブプロセス内のスレッドを管理します。このコマンドでは ] の後に、modifier と オプションの引き数リストを指定します。 s [ signum ] :s と同じです。ただし、現在のスレッドのみが対象です。 c [ signum ] :c と同じです。ただし、現在のスレッドのみを継続します。また、count は、現在のスレッ ドのブレークポイントのスキップ数を指定します。 38 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 adb(1) adb(1) b [ command ] :b と同じです。ただし、現在のスレッドのみに適用されます。 d [ num | * ] :d と同じです。ただし、現在のスレッドのみに適用されます。 en [ num | * ] :en と同じです。ただし、現在のスレッドのみに適用されます。 di [ num | * ] :di と同じです。ただし、現在のスレッドのみに適用されます。 z signum [ +s | -s | +r | -r | +d | -d ] :z と同じです。ただし、現在のスレッドのみを意味します。このスレッドのコンテキストで signum が発生すると、サブプロセスの場合と同様に処理されます。 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 はコマンドの実行時に保存され、完了時に復元されます。 この動作は推奨しません。 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 39 adb(1) adb(1) > filename 出力を filename に送信します。このファイルがない場合には、ファイルを作成します。 下位互換モードでは、出力は filename に追加されます。 >> filename > に似ていますが、出力は filename に追加されます。 rp プロセス ID とレジスタ値が出力されます。 r プロセスカウンターが指している命令と汎用レジスタを出力します。 ra すべてのレジスタを出力します。 f 浮動小数点レジスタを出力します。 fd 倍精度浮動小数点レジスタを出力します。 b すべてのブレークポイント、その番号、関連のカウント、状態、現在のサブプロセスの コマンドを出力します。 ps adb がトレースしたすべてのサブプロセスの情報 (プロセス ID、タイプ (生成またはア タッチ)、カウント、スレッド ID) を出力します。 pc 現在のデバッグ対象に関する情報を出力します。また、現在のデバッグ対象がサブプロ セスの場合には、サブプロセスの情報 (プロセス ID、タイプ、カウント) を出力し、サ ブプロセスの各スレッドの情報 (スレッド ID、カウント、シグナル) も出力します。現 在のデバッグ対象がコアの場合には、コア内に存在する各スレッドの情報 ( スレッド番 号、ユーザースレッド ID、軽量プロセスID、PCの値、PCのシンボル) を出力します。 pt 現在のスレッド情報 (スレッド ID、カウント、シグナル) を出力します。現在のデバッ グ対象がコアの場合には、コアの現在のスレッドの情報 (ユーザースレッド ID、登録情 報) を出力します。 c 引 き 数 は address と count で す。 C のスタックのバックトレースを出力します。 address を指定すると、通常のスタックフレームポインターの代りに、現在のフレームの アドレスが対象となります。count を指定すると、最初の count 個のフレームだけが出 力されます。 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。引き数を指 定しないと、address と count が使われます。 w [ width ] 出力のページ幅を width にします。 (デフォルトは 80 です。) 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。width を指 定しないと、address が幅として解釈されます。 s [ offset ] maxoffset に offset を設定します。 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。offset を指定 しないと、address がオフセットとして解釈されます。 40 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 adb(1) adb(1) o すべての整数入力のデフォルトの基数を 8 進数とします。 d [ radix ] デフォルトの基数を radix とします。 下位互換モードでは、このコマンドの動作は非標準であり、推奨しません。radix を指定 しないと、address が基数として解釈されます。 x すべての整数入力のデフォルトの基数を 16 進数とします。 q adb を終了します。 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 を使用します。 次のコマンドは、下位互換モードでだけ実行できます。 改行 M プロセス ID とレジスタ値を出力します。 memfile のアドレスマッピングを、初期マップ設定または有効なメモリーファイルと、 デフォルトのマッピングペアの間で切り替えます。デフォルトのマッピングペアは、 ファイル操作修飾子 > で変更できます。メモリーファイルが不正な場合、利用できるの はデフォルトマッピングだけです。 HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 41 adb(1) adb(1) N [ nodenumber ] V クラスのマルチノードマシン上のノードの番号と、現在のノードの番号を出力しま す。他のノードへ切り替えるには、$N nodenumber と入力します。 F 倍精度浮動小数点レジスタを出力します。 R すべてのレジスタを出力します。 U アンワインドテーブルを出力します。 書式文字列 書式文字列を使うと、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 つは相対サイズ指定子を使う方法です。絶対サイズ指定子を次に 示します。 42 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 2007 adb(1) adb(1) b オブジェクトのサイズは 1 バイトです。 e オブジェクトのサイズは 2 バイトです。 g オブジェクトのサイズは 4 バイトです。 j オブジェクトのサイズは 8 バイトです。 k オブジェクトのサイズは 16 バイトです。 相対サイズ指定子を次に示します。 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 として扱われます。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 43 adb(1) adb(1) 例: 10=2bo, ’abc’=,"%s", main?4i 2. dot 演算子 dot 演算子は、count (オプション)、サイズ指定文字 (オプション)、dot 演算子文字から成ります。 count count は、dot 演算子を繰り返す回数を指定します。指定しないと、count は 1 として扱われま す。printfスタイルの書式文字列の場合、count は必ず 1 です。 サイズ指定文字 変換指定子のサイズ指定文字と同じです。 dot 演算子文字 dot 演算子文字は、次のいずれかです。 v dotincr を count 回のサイズで増加させます。 z dotincr を count 回のサイズで減小させます。 例: =5bv, =5bv5bz 下位互換モード 下位互換モードでは、従来のスタイルは 変換指定子、dot 演算子、スペース指定子、または リテラル文字列で す。 1. 変換指定子 変換指定子は、count (オプション)、変換指定文字から構成されます。 count 変換指定子が繰り返される回数を指定します。指定しないと、count は 1 として扱われます。 変換指定文字 これらの文字では、暗黙的にサイズが決っています。明示的にサイズを指定することはできま せん。次の書式文字が利用できます (横の数字は、暗黙的に決っているサイズです)。 44 o 2 オブジェクトが、符号なし 8 進数として出力されます。 O 4 オブジェクトが、符号なし 8 進数として出力されます。 q 2 オブジェクトが、符号付き 8 進数として出力されます。 Q 4 オブジェクトが、符号なし 8 進数として出力されます。 d 2 オブジェクトが、符号付き 10 進数として出力されます。 D 4 オブジェクトが、符号付き 10 進数として出力されます。 x 2 オブジェクトが、符号なし 16 進数として出力されます。 Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 adb(1) adb(1) X 4 オブジェクトが、符号なし 16 進数として出力されます。 A 8 オブジェクトが、符号なし 16 進数として出力されます。 u 2 オブジェクトが、符号なし 10 進数として出力されます。 U 4 オブジェクトが、符号なし 10 進数として出力されます。 f 4 オブジェクトが、浮動小数点数として出力されます。 F 8 オブジェクトが、倍精度浮動小数点数として出力されます。 b 1 オブジェクトが、16 進数として出力されます。 B 1 オブジェクトが、8 進数として出力されます。 c 1 オブジェクトが、文字として出力されます (符号ビットは無視されます)。 C 1 オブジェクトが、次のエスケープ規約を使って、文字として出力されます。まず、符 号ビットが廃棄され、値 000 ∼ 040 の文字が @ として出力され、その後に範囲 0100 ∼ 0140 の対応する文字が出力されます。@ 文字は、@@ として表されます。 s n オブジェクトは、n バイトの命令として扱われ出力されます。n の値は、命令が占め るバイト数です。この文字を dot の出力に使うことはできません。 S n オブジェクトは、ヌルバイトで終了するバイトシーケンスとして扱われます。オブ ジェクトのバイトは、@ エスケープ規約を使って、文字のシーケンスとして出力され ます。n の値は、オブジェクト内のバイトの数 (ヌルバイトを含む) です。この文字を dot の出力に使うことはできません。 Y 4 i n オブジェクトが、日付形式 (ctime(3C) を参照) で出力されます。 オブジェクトが命令として逆アセンブリされ出力されます。n の値は、命令が占める バイト数です。 a 0 dot の値がシンボル形式で出力されます。 p n オブジェクトが、シンボル形式で出力されます。n の値はマシンにより異なります。 例: main=ba, ’a’=c, main?10box 2. dot 演算子 dot 演算子は、count (オプション)、dot 演算子文字から構成されます。 count 変換指定子の count と同じです。 dot 演算子文字 dot 演算子文字は、次のいずれかです。 HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 45 adb(1) adb(1) ˆ dotincr は、直前の変換指定文字に対応するサイズの count 個分で減小します。 + dotincr は、count で増加します。 - dotincr は、count で減小します。 例: 10=-, 10=2-, 10=5o4ˆ 3. スペース指定子 スペース指定子は、count (オプション) または tabstop (オプション) 、スペース指定文字から構成されます。 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 46 現在のアドレスです。初期値は 0 です。 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 adb(1) adb(1) dotincr 現在のアドレス増分値です。初期値は 0 です。 prompt adb が使うプロンプト文字列です。初期値は ‘‘adb> ’’ です。 radix 現在の入力基数です。初期値は、ターゲットプロセッサのアセンブラ言語に従います。 maxwidth 表示の最大幅です。初期値は 80 です。 maxoffset 既知のシンボルからこの制限値内にあるアドレスの場合、 adb はこのアドレスを symbol_name+offset として出力します。この制限値内にない場合は、address と出力されます。 初期値は、0xffffffff です。 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 2: December 2007 − 18 − Hewlett-Packard Company 47 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つだけです。 48 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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, HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 49 adjust(1) adjust(1) および −m オプションを参照)。 多言語化対応 環境変数 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 は、テキストを個々のワードに分解するための簡単な方法です。このとき、タグ付きパラグラ 50 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 adjust(1) adjust(1) フのタグを除き、空白は付きません。 警告 このプログラムは簡単で高速に動作するように設計されています。これは、空白などの文字をエスケープさせ るバックスラッシュを認識しません。また、タグが単独で行にあるパラグラフも認識しません。このプログラ ムは、行が改行またはヌルで終了することやタブおよびバックスペースの処理方法を認識していますが、 フォームフィードなどの他の文字については何も特別な処理を行いません (これらは単に無視されます)。複雑 な操作については、標準的なテキストプロセッサの方がより適している場合があります。 このプログラムは、詰め込み、センタリング、および (−r オプションによる) 位置揃えを行う独立したプログ ラムの集合として改良することも可能です。ただし、これは、特にタグ付きパラグラフやパラグラフの最終行 についてプログラムが特に対応しているとしても、実用にそれほど効果的ではありません。 著者 adjust は HP によって開発されました。 参照 nroff(1) HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 51 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 コマンドは次のオプションとコマンド行引き数をサポートします。 -n -i[name] このオプションは、新しい SCCS ファイルが作成されることを示します。 新しい SCCS ファイルの内容が取り出されるファイルの name (name がバイナリ ファイルの場合は、 -b オプションを指定する必要があります)。この内容がファイル の最初のデルタになります(デルタ番号付けスキームについては、-r オプションを参 照)。-i オプションを使用しファイル名を省略した場合、テキストは、EOF に達す るまで標準入力を読み込みます。このオプションを省略すると、SCCS ファイルは空 52 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 53 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 ファイ ルの名前になります。 54 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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) 番号の妥当性 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 55 admin(1) admin(1) がチェックされます。v フラグがセットされていない場合、 (MR) の妥当性チェックが成 立しない場合は、診断メッセージが出されます。 -h admin は、SCCS ファイルの構造をチェックし (sccsfile(4) を参照)、新しく計算された チェックサム (SCCS ファイルの先頭行以外のすべての文字の合計)と SCCS ファイルの先 頭行に格納されたチェックサムとを比較します。適切なエラー診断が生成されます。 このオプションにより、ファイルへの書き込みが抑制されるため、与えられたその他すべ てのオプションのも取り消されます。したがって、このオプションの効果があるのは、既 存のファイルを処理する場合に限ります。 -z SCCS ファイルのチェックサムは再計算され、SCCS ファイルの先頭行に格納されます(上 記の -h を参照)。 完全に破壊されたファイルにこのオプションを使用すると、将来破壊が検出できなくなる ことがあるので注意してください。 アクセス制御リスト (ACL) オプションの ACL エントリーを SCCS ファイルに追加しないでください。SCCS により、それらは削除さ れ、誤って予期しないアクセスモードになる可能性があります。 多言語化対応 環境変数 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行を超えることはできません。各行の長さの制限は (改行コードを含めて)、 非 XPG4 環境では BUFSIZ−3 バイト、XPG4 環境では LINE_MAX−3 バイトです。 56 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 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) 標準準拠 admin: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 57 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 を単に入力するか、何も入力しないか、コメントを入力しま 58 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 59 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 ... > 60 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 2: December 2007 −4− Hewlett-Packard Company 61 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 の前に入れ るように指定します。位置決め文字がないときは、新しいファイルは最後に入ります。 • afile は、存在していなければ作成されます。 62 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 修飾子についての説明も参照してください。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 63 ar(1) ar(1) i posname を指定して位置決めしてあるファイルの前に、新しいファイルを配置します。 b 修飾子と同じです。 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 バイトまでのファイル名を使用できる、旧バージョ 64 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ar(1) ar(1) ンの HP-UX との互換性を保つためのものです。 f 修飾子についての説明も参照してくださ い。 ファイルをアーカイブしたときの名前がファイルシステムで使用可能な長さよりも長くなる T 場合に、そのファイル名を切り捨てます。デフォルトでは、ファイルシステムで使用可能な 長さよりも長い名前のファイルが抽出されず、エラーとなります。 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 日付および時刻のフォーマティングに関して、フォーマットと内容を定義します。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 65 ar(1) ar(1) NLSPATH LC_MESSAGES の処理を行うために、メッセージカタログの位置を定義します。 LC_TIME で、日時文字列のフォーマットと内容を決定します。 多言語対応変数のいずれかの設定が不適当な場合には、 ar はすべての多言語対応変数が C に設定されてい るものとして動作します。 environ(5) を参照してください。 さらに、以下の環境変数は 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 を移動する」ことを示します。したがって、次の順序を作成します。 66 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ar(1) ar(1) f1 f3 f2 f4 f2 と f3 の相対的な順序が変化していないことに注意してください。第2のコマンドは「newlib.a の f2 の 後に f3 を移動する」ことを示し、次の順序を作成します。 f1 f2 f3 f4 次に、第3のコマンドはファイル f2 と f3 を置き換えます。ファイル f2 と f3 の両方がアーカイブにすで に存在したため、このコマンド列を単に次の指定によって置き換えられません。 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 11i Version 2: December 2007 −6− Hewlett-Packard Company 67 ar(1) ar(1) テキストとチュートリアル: 『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 68 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 as(1) as(1) 名称 as − アセンブラ 構文 特記事項 Itanium®ベース システムでは as_ia(1) を参照してください。 PA-RISC システムでは as_pa(1) を参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Itaniumベース システムで、それ以外の値であれば PA-RISC システムです。 参照 as_ia(1), as_pa(1), uname(1) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 69 as_ia(1) as_ia(1) Integrity システム専用 名称 as_ia: as − Integrityシステム用アセンブラ 構文 as [−eVw] [+A32] [+A64] [+E32] [−elf32] [−elf64] −H lvl[=what[,what]...] −We num[,num]... [−o outfile] −W 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ビットにゼロ拡張されます。ただし、ゼロ拡張は、 負のアドレス (リロケーションによるもの) を無効にすることがあります。 70 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 as_ia(1) +E64 as_ia(1) Integrity システム専用 オブジェクトファイルが 64 ビットの ELF でなければならないことを指定します (+A64 も 参照してください)。 -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) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 71 as_pa(1) as_pa(1) PA-RISC システム専用 名称 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 を指定します。 72 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 as_pa(1) as_pa(1) PA-RISC システム専用 -p number .EXPORT 指令のデフォルトの特権レベルとして number を設定します。デフォルト では、ユーザーレベルのすべてのプロシージャは特権レベル3でエクスポートされま す。 出力ファイルの接尾辞として、 .o の代わりに .ss を設定します。出力ファイル -s は、ROM 焼き付けプログラムへの変換に適したフォーマットになります。 アンワインド記述子を作成しません。 .BALLINFO 指令を使用する必要が生じるのを -u 避けるため、 .ENTER および .LEAVE 指令を使ってあってはいけません。 -v xrfile xrfile というファイルにクロスリファレンスデータを書き込みます。 ソーステキストをアセンブルする前に、アセンブラプログラムのバージョン番号を標 -V 準エラーにプリントします。 number を指定しないと、すべての警告メッセージを抑止します。 number を指定す -w[number] ると、指定された番号の警告メッセージだけを抑止します。複数種類の警告メッセー ジを抑止するために、 -wnumber オプションを複数回使用できます。 +DA architecture architecture で指定されたアーキテクチャ用にコードをアセンブルします。このオプ ションの使用はあまりお勧めできません。 architecture の選択方法としてお勧めでき るのは、アセンブラ ソースファイル内に .LEVEL 指令を組み込む方法です。 アセンブラは、次の優先順位に基づいてターゲットアーキテクチャを決定します。 1. アセンブラ ソースファイル内に .LEVEL 指令が使われていれば、それに従う。 2. コマンド行に +DA 指定があれば、それに従う。 3. PA_RISC_1.0 のデフォルトのアーキテクチャを使う。 これらのオプションは、共有ライブラリの生成で使用されます。詳細は 『HP-UX リ +z,+Z ンカー & ライブラリー ユーザーズガイド』を参照してください。 多言語化対応 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 診断 構文または意味上のエラーが発生すると、エラーが発生したファイル名および行番号を示す1行の診断情報 が、次の形式で標準エラーに出力されます。 as: "filename" line line: error error: message source = source-line HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 73 as_pa(1) as_pa(1) PA-RISC システム専用 警告 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』 74 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 asa(1) asa(1) 名称 asa − ASA キャリッジ制御文字の解釈 構文 asa [ files] 説明 asa は、ASA キャリッジ制御文字を利用する FORTRAN プログラムの出力を解釈します。引き数 files が指 定された場合はその名前のファイルを処理し、- が指定されるかファイル名の指定がない場合は、標準入力を 処理します。各行頭のキャラクタは制御キャラクタであると仮定されます。制御キャラクタは以下のように解 釈されます。 (ブランク) 表示の前に改行文字を1文字出力。 (スペース) (XPG4専用) 行の残りの部分は変化せずに出力されます。 0 <改行>に続いて入力行の残りの部分が出力されます。 1 表示の前に改ページ文字を出力。 + 前行を重ねて表示。 + (XPG4専用) 直前の行の<改行>が1つ以上のインプリメンテーション定義キャラクタに置 き代わるため、表示がカラム位置1に戻り、次に入力行の残りの部分が出力されます。入 力の先頭が+の場合は、<スペース>と同じ効果があります。 上記のキャラクタ以外で始まる行は、ブランクで始まる行と同じように処理されます。行頭のキャラクタは表 示されません。このような行が現れると、適切な診断が標準エラーに送られます。このプログラムは、各入力 ファイルの最初の行を、強制的に新しいページの先頭にします。 (XPG4専用) 行の先頭キャラクタとして上にリストしたものを除き、キャラクタに対する asa ユーティリティ の動作は指定されていません。 FORTRAN プログラムで ASA キャリッジ制御文字を使用し、通常形式で表示するような場合、asa はフィ ルターとして使用できます。 a.out | asa | lp 適切にフォーマットされ、ページ処理をした出力は、ラインプリンターに送られます。それ以前にファイルに 送られた FORTRAN 出力は、以下のコマンドを使用することによりユーザーターミナル画面に表示できま す。 asa file 多言語化対応 環境変数 LC_CTYPE ファイル内のテキストをシングルあるいはマルチバイト キャラクタとして解釈することを決定し ます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 75 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) 標準準拠 asa: XPG4, POSIX.2 76 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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通りあります。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 77 at(1) at(1) • キーボードから、 at または batch コマンド行に続いて、各行にコマンドを指定します。入力を終了 するには、現在定義されている eof ( ファイル終了) 文字を入力します。デフォルトの eof は Ctrl-D で す。これは、ユーザーの環境で再定義することができます (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 で指定されたジョブを削除します。 78 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 at(1) at(1) -t spectime ジョブを開始する絶対時間を定義します。 spectime 次の形式の日付と時刻: [ [CC]YY ]MMDDhhmm [ . ss ] ここで、それぞれ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 も認識されます。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 79 at(1) at(1) date 曜日 (スペルを完全に指定または略記)、または日、月およびオプションの年か ら構成される日付。日および年フィールドは数字で表されていなければなりま せん。また、月は完全なスペル、短縮形、または数字のいずれでも可能です。 日付文字列中のフィールドは、スラッシュ (/)、ハイフン (-)、ピリオド (.)、 カンマ (,) などの区切り文字で区切ります。 langinfo(5) で定義されている場 合、特殊な日付単位文字が入っていることがあります。 31 より大きい値の フィールドは年フィールドとして扱われ、日付文字列中の残りの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 オプショ ンを参照してください。 at または batch ジョブは、2つの部分から成るスクリプトで構成され、このスクリプトは POSIX シェルか ら実行可能な /var/spool/cron/atjobs に保存されています。 80 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 at(1) at(1) 最初の部分は、環境をセットアップして、 at または batch コマンド発行時点の環境と同じになるようにし ます。このとき、現在のシェル環境変数、現在のディレクトリ、 umask および ulimit が対象となります (ulimit(2)、 umask(1)、 proto(4) を参照)。オープンされているファイルの記述子、トラップ、および優先順 位は失われます。 2番目の部分は、ユーザーが入力したコマンドで構成されます。 cron は、ジョブをディスパッチすると、 POSIX シェルを起動してスクリプトを実行します。 一時点で待ち行列から実行されるジョブの数は、ファイル /var/adm/cron/queuedefs 内のパラメータに よって制御されます (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 コマンドは キューが一杯ですというメッセージを出して終了します。 BatchConfig 製品がインス トールされていれば、 /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 に設定することにより、この機能を抑止することができます。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 81 at(1) at(1) セキュリティ上の制約 Security Containment 製品がインストールされ、その機能が有効になっている場合、 cron と at は、ジョ ブが作成されたコンパートメントからジョブを実行します。 at は /var/spool/cron/atjobs ディレクト リにジョブファイルを作成します。そのため、 COMMALLOWED 権限が許可されていないコンパートメントか ら at コマンドを実行すると、このディレクトリに書き込みができないことから、at はジョブのスケジュー ルに失敗します。詳細については、 compartments(5) と privileges(5) を参照してください。 多言語化対応 環境変数 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 82 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 at(1) at(1) 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) ホームディレクトリの中の 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 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 83 at(1) at(1) at 12:00 26-02 # in Finnish 警告 date 引き数が数字で始まり、 time 引き数も接尾辞なしの数字で表されている場合、 time 引き数は、時間と 分を正確に解釈できる4桁の数字でなければなりません。 単一の at コマンド内で next と +count の両方を同時に使用すると、最初の演算子は受け入れられますが、 後の演算子は無視され、メッセージ等は出力されません。 同一のコマンド内で -t と time ... の両方を同時に使用すると、最初に指定したものは受け入れられますが 2 番目に指定したものは無視され、メッセージ等は出力されません。 cron と通信するのに使用される FIFO がいっぱいになると、 at は、 at が書き込もうとしているメッ セージのスペースをとるため、 cron がFIFOから十分なメッセージを読み取るまで一時停止します。この状 態は、 at が cron のメッセージ処理速度より高速でメッセージを書き込む場合、または cron が実行され ていない場合に発生します。 スケジュールされたプロセスは、バックグラウンドで実行されます。自分自身を呼び出すようなスクリプト ファイルは、ユーザーまたはシステムの使用可能プロセス数不足の原因となります。 あるジョブに対する実行時刻要求が、現在スケジュールされているジョブの実行時刻と重複する場合、新しい ジョブの時刻は、秒単位で次に使用可能な時刻に設定されます。 at は、開始時刻が現時代 (グリニッジ標準時間 1970年1月1日 00:00:00) よりも前のジョブはスケジュールし ません。 at は、2037 年より先のジョブはスケジュールしません。 依存関係 HP Process Resource Manager オプションの HP プロセスリソースマネージャ (PRM) ソフトウェアがインストールおよび構成されている場 合、ジョブは、当該ジョブをスケジュールしたユーザーの初期プロセスリソースグループ内で開始されます。 ユーザーの初期グループが決定されるのは、ジョブがスケジュールされた時点ではなく、ジョブが起動された 時点です。ユーザーの初期グループが未定義の場合、ジョブはユーザーのデフォルトグループ (PRMID=1) 内 で実行されます。 HP PRM の構成方法については prmconfig(1) を、またユーザーの初期プロセスリソースグ ループの決定方法については prmconf (4) を参照してください。 著者 at は AT&T と HP で開発されました。 ファイル /etc/default/cron 構成ファイル /usr/bin/sh POSIXシェル TP /usr/lib/cron/at.allow 許可されているユーザーのリス ト /usr/lib/cron/at.deny 拒否されているユーザーのリスト 84 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 at(1) at(1) /var/adm/cron /var/adm/cron/.proto メイン cron ディレクトリ このファイルには、 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), prmconf(4) 標準準拠 at: SVID2, SVID3, XPG2, XPG3, XPG4 batch: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 85 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. の商標です。 参照 convert(1), send_sound(1), asecure(1M), aserver(1M), audio(5) 『Using the Audio Developer’s Kit』 86 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 87 awk(1) awk(1) continue { [ statement ... ] } expression # 一般に var = expression print [ expression-list ] [ > expression ] printf format [, expression-list ] [ > expression ] return [ expression ] # この入力行にある残りのパターンをスキップ next delete array [ expression ] exit [ expression ] # 配列要素を削除します # 即座に終了します ステータスは expression. 文は、セミコロン、改行、または右中かっこで終了します。空の expression-list は $0 を表します。文字列定 数は引用符 (" ") で囲み、その中では通常のCエスケープが認識されます。式は適宜、文字列または数値とな り、次の演算子 +、 -、 *、 /、 %、 ˆ (指数化)および連結(空白で示されます)で構築されます。次の演算子 ++、 - -、 +=、 -=、 *=、 /=、 %=、 ˆ=、 **=、 >、 >=、 <、 <=、 ==、 !=、 "" (二重引用符、文字列 変換演算子)、および ?: も式に利用できます。変数は、スカラー、配列要素( x[i]と表される)、フィールド が使えます。変数はヌル文字列に初期化されます。配列添え字は任意の文字列にすることができ、数値でなく てもかまいません(これにより、結合メモリーの形式が考慮されます)。 [ i,j,k ] などの複数の添え字も可能 です。構成要素は連結され、 SUBSEP の値で区切られます。 print 文は、その引き数を標準出力に(あるいは、 > file または >> file が存在する場合にはファイルに、もし くは |cmd が存在する場合にはパイプに)出力します。その際、現在の出力フィールドセパレータで区切り、 出力レコードセパレータで終了します。 file および cmd は、リテラル名、またはかっこで囲まれた式です。 異なる文の中の同じ文字列値は同じオープンファイルを表します。 printf 文は、フォーマットに従ってそ の式リストをフォーマットします(printf (3) を参照)。 組込み関数 組込み関数 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 が使用されます。 88 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 awk(1) awk(1) int(x) 整数値に切り捨てます。 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 を使用します。 gsub sub と同じですが、正規表現で検出された場合、すべて置き換えられます。 sub お よび 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のパターンまですべての行に対して行われます。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 89 awk(1) awk(1) 関係式は次のうちのいずれかです。 expression matchop regular-expression expression relop expression expression in array-name (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 90 現在の入力ファイルのパス名。 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 awk(1) awk(1) RS 入力レコードセパレータ。デフォルトは改行文字です。 OFS print 文の出力フィールドセパレータ。デフォルトはスペース文字です。 ORS print 文の出力レコードセパレータ。デフォルトは改行文字です。 OFMT 数値の出力フォーマット( デフォルトは %.6g)。 OFMT の値が浮動小数点フォー マット指定でなければ、結果は不定です。 CONVFMT 数値の内部変換フォーマット(デフォルトは %.6g)。 CONVFMT の値が浮動小数点 フォーマット指定でなければ、結果は不定になります。 CONVFMT についての詳細は、 「多言語化対応」の UNIX95 変数を参照してくだ さい。 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 コマンド形式)で使用するパターンア HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 91 awk(1) awk(1) クション文は次のとおりです。 length > 72 awk コマンドへの引き数として使用する同じパターンアクション文は、次のように引用符で囲まれます。 awk ’length > 72’ 多言語化対応 環境変数 UNIX95 このコマンドに対して XPG4 の動作を使用するように指定します。 XPG4 用の変更点には、 上記で説明した動作すべての他に、次の動作上の変更があります。 • CONVFMT が指定されないときに、UNIX95 が設定されている場合、整数値に正確に等し い値については、内部変換書式として %d が使われます。それ以外のすべての数値につい ては、変数 CONVFMT を変換書式引数 fmt として使用する変換により、文字列に変換され ます。 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 を介して参照することができます。 92 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 awk(1) awk(1) サポートされるコードセット シングル/ マルチバイトの文字コードセットがサポートされています。ただし、変数名には ASCII 文字だけ を、正規表現には有効な文字だけを入れなければなりません。 診断 awk は、レコード当たり最大199個までのフィールド ($1、$2、...、$199) をサポートします。 例 次の指定では、72文字よりも長い行を出力します。 length > 72 次の指定では、反対の順序で最初の2つのフィールドを出力します。 { print $2, $1} 次の指定は上と同じですが、コンマ、タブ、ブランクのいずれかで入力フィールドを区切ったものを反対の順 序で出力します。 BEGIN { FS = ",[ \t]*|[ { print $2, $1 } \t]+"} 次の指定では、最初のカラムを加算して合計と平均を出力します。 END { s += $1 }" { 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) A. V. Aho, B. W. Kernighan, P. J. Weinberger: The AWK Programming Language, Addison-Wesley, 1988年 標準準拠 awk: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 93 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 94 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 が指定されていない場合や、 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` HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 95 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 96 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 bc(1) bc(1) 名称 bc − 任意の精度の算術言語 構文 bc [-c] [-l] [ file...] 説明 bc は、C に類似した言語の対話型のプロセッサですが、無制限の精度で算術演算が可能です。任意のファイ ルから入力を読み込んだのち、標準入力を読み込みます。 オプション bc は次のコマンド行オプションを認識します。 -c bc コンパイルのみ実行します。 bc は、実際には dc のプリプロセッサであり、dc を 自動的に実行します (dc(1) を参照)。 -c を指定すると、 dc が実行されずに dc 入力が標 準出力に送られます。 -l 任意の精度の数値演算ライブラリが定義されます。副作用として、スケールファクタが設 定されます。 プログラム構文 L a から z までの1文字 E 式 S 文 R 関係式 コメント コメントは /* と */ で囲みます。 名前 名前には次のようなものがあります。 単純変数: L 配列要素: L [ E ] ワード ibase, obase, scale スタック: L その他のオペランド その他のオペランドには次のようなものがあります。 オプションの符号および小数点がある任意の長さの数 (E) sqrt ( E ) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 97 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 数学ライブラリの関数には以下のものがあります。 98 s(x) sin c(x) cos e(x) exp l(x) log a(x) arctan Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 は実行時ではなく、読み込み時に解釈されます。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 99 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 100 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 101 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) 102 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 の文は、1つの式、またはキーワードの後にゼロ以上の式がついたものです。いくつかのキーワード (clear, compile, !, execute, include, ibase, obase, run) は、つねにコンパイル時に実行されます。 文の構文 expression 式の実行結果を他の処理に使います ( 値、代入、または関数呼び出し)。式の詳細について は、以下の文のタイプの説明の後に示します。 break break は最も内部の for/while ループを終了します。 clear シンボルテーブルとコンパイル済みの文をクリアします。 clear は即座に実行されます。 compile [expression] 連続した文がコンパイルされます (即時の実行というデフォルトにオーバーライドします)。 オプションの式が評価され、以降の入力のファイル名として使用されます。後者の場合には clear が伴います。 compile は即座に実行されます。 continue continue は、現在の for/while ループのループ継続に移行します。 dump [name] 各非ローカル変数の名前と現在の値がプリントされます。オプションにより、指定した変数だ けがレポートされます。エラーまたは割込み後に、最後の文の数が表示されます。ユーザー関 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 103 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 (および以下に説明 104 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 bs(1) bs(1) する obase )は即座に実行されます。 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 obase は出力ベースを n に設定します(上記の ibase を参照)。 onintr label onintr 割込みのプログラム制御ができます。最初の形式では、制御は、 onintr の実行中に goto が実行された場合と同様に、与えられたラベルに渡されます。文の効果は、それぞれの割込み 後にクリアされます。第2の形式では、割込みで、 bs が終了します。 return [expression] 式を評価し、結果を関数呼び出しの値として返します。式を与えなければ、ゼロを返します。 run 乱数ジェネレータをリセットします。制御は最初の内部文に渡されます。 run 文がファイル に含まれる場合は、それを最後の文にしなければなりません。 stop 内部文の実行を停止します。 bs は即時モードに戻ります。 trace [expression] trace 文は関数トレーシングを制御します。式がヌルである(または、ゼロの評価値になる) 場合には、トレーシングはオフになります。それ以外の場合には、ユーザー関数呼び出し/戻 りの記録が表示されます。各 return ごとに trace expression 値を減分します。 while expression statement while expression ... next while は for と同様ですが、ループ継続の条件式のみが与えらます。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 105 bs(1) bs(1) ! shell command シェルへの即座のエスケープ。 # ... この文は無視されます(コメントとして処理されます)。 式の構文 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, 106 Hewlett-Packard Company True )[ a == b ] −4− HP-UX 11i Version 2: December 2007 bs(1) bs(1) ? expression 質問演算子は、その値ではなく式が正常終了するかどうかのテストを行います。今のところ、 これは、ファイルの最後(以下の プログラミングのヒントの項の例を参照)と eval 組込み関 数の結果のテストや、ユーザー作成の関数 (freturn を参照) からの戻りをチェックする際 に便利です。一定の条件(ファイルの最後など)により、即座に最新の質問に移り、代入文また は介在する関数レベルをスキップすることができます。 - expression 結果が式の否定となります。 ++ name 変数(または配列参照)の値を増分します。結果は新しい値になります。 - - name 変数の値を減分します。結果は新しい値になります。 !expression 式の論理否定です。シェルエスケープ コマンドを監視します。 exression ふたつの引き数の operator 式の共通関数を短縮するには、ふたつの引き数の間に関数を表す 演算子を入れます。代入割当て、連結、および関係演算子を除いて、オペランドは両方とも関 数の適用前に数値形式に変換されます。 2項演算子(優先順位が高くなる順) = は代入演算子です。左のオペランドは、名前または配列要素になります。結果は右のオペ = ランドです。代入は右から左に設定され、その他すべての演算子は左から右に設定されます。 _ _ (アンダースコア)は連結演算子です。 & | & (論理 AND)は、その引き数のいずれかがゼロならば、結果がゼロになります。その引き数 が両方とも非ゼロならば、結果が1になります。 | (論理 OR)は、その引き数が両方ともゼロ ならば、結果がゼロになります。その引き数のいずれかが非ゼロならば、結果が1 になりま す。どちらの演算子もヌル文字列をゼロとして処理します。 < <= > >= == != 関係演算子 (<: 小なり、 <=: 以下、 >: 大なり、 >=: 以上、 ==: 等しい、 !=: 等しくない) は、引き数が指定された関係にあれば、1を返し、そうでなければ、0を返します。同レベル の関係演算子は次のように展開します。 a>b>c は、 a>b & b>c と等価です。両方のオペラ ンドが文字列ならば、文字列の比較が行われます。 + - 加算と減算を行います。 * / % 乗算、除算、および剰余計算を行います。 ˆ 指数化 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 107 bs(1) bs(1) 組込み関数 引数の扱い arg(i) 関数呼び出しの現在のレベルで i-th の実際のパラメータ値です。レベルゼロで、 arg は i-th コマンド行引き数を返します (arg(0) は bs を返します)。 narg( ) 渡される引き数の数を返します。レベルゼロで、コマンド引き数カウントが返されます。 数学演算 abs(x) x の絶対値です。 atan(x) x のアークタンジェントです。その値は、−π/2と π/2の間です。 ceil(x) x 以上の最小整数を返します。 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 の超過部分で一致す るソース文字は結果に表示されません。 108 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 bs(1) bs(1) 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 引き数は次のようになります。 1. 0(ゼロ)、1、または2はそれぞれ標準入力、出力、またはエラー出力を表します。 2. 文字列はファイル名を表します。または、 3. ! で始まる文字列は( sh -c によって)、実行するコマンドを表します。 func- tion 引き数は、 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(s, m) access() を実行します( access(2) を参照)。 ftype(s) 次の1文字のファイルタイプ表示を返します。通常ファイルには f , FIFO (つまり名前付き パイプ)には p , ディレクトリには d , ブロック型スペシャルには b , またはキャラクタ 型スペシャルには c となります。 テーブル table(name, size) bs におけるテーブルは、結合的にアクセスされる1次元配列です。「添字」(キーという)は 文字列です(数値は変換されます)。 name 引き数は bs 変数名でなければなりません(文字列 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 109 bs(1) bs(1) として渡されます)。 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: 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 " 110 Hewlett-Packard Company label)) puterr = "no label" −8− HP-UX 11i Version 2: December 2007 bs(1) bs(1) plot(request, args) tplot コマンドが利用できれば、 plot 関数は tplot で認識されるデバイスに出力しま す。 requests は次のとおりです。 呼び出し 機能 plot(0, term) これ以降の plot 出力が、 -Tterm. の引き数で 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 で円を描画します。 plot(5, x1, y1, x2, y2, x3, y3) 中心 (x1, y1), 両端 (x2, y2) および (x3, y3) で(左 回りの)円弧を描画します。 plot(6) これは使用できません。 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) をプロット領域の右上コーナーとしま す。 plot(12, x1, y1, x2, y2) プロットされる前に、続くx(y)座標が x1 ( y1) で 乗算され、次に x2 ( y2) に加算されます。初期ス ケー リ ン グ は plot(12, 1.0, 1.0, 0.0, 0.0) です。 要求によっては、すべてのプロッタに適用されません。 0と12を除いたすべての要求は、文 字を tplot にパイプ接続することにより実行されます。 ピクチャの描画が一回の操作で完了しない場合、キーボードから実行される各文により、 tplot が再び呼び出され、結果が予測できない状態になります。したがって、単一のスト リームですべての出力を tplot に向けられるように、プロットは、関数または完全なプログ ラムで行わなければなりません。 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 111 bs(1) bs(1) 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 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) ... 112 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 bs(1) bs(1) 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") # 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) を参照)。 HP-UX 11i Version 2: December 2007 − 11 − Hewlett-Packard Company 113 bs(1) bs(1) bs は標準I/Oパッケージを使用します。 114 Hewlett-Packard Company − 12 − HP-UX 11i Version 2: December 2007 cal(1) cal(1) 名称 cal − カレンダーのプリント 構文 cal [ [ month ] year ] 説明 cal は指定された年のカレンダーをプリントします。月も指定した場合は、該当する月のカレンダーだけがプ リントされます。いずれの引き数も指定しない場合は、その月のカレンダーがプリントされます。 year には 1 から 9999 までの値を指定することができます。 month は 1 から 12 までの 10進数を指定します。作成さ れるカレンダーはグレゴリオ暦です。 多言語化対応 環境変数 LC_ALL および対応する環境変数(先頭が LC_ で始まる)がロケール変数を指定しない場合、 LANG がロケー ルカテゴリで使われるロケール変数を決定します。 LANG が設定されていないか空白文字列に設定されている 場合、 Cがデフォルトとして使われます (lang(5) を参照)。 LC_CTYPE は、テキストデータのバイトシーケンスをキャラクタとして解釈する ( 例えば引き数および入力 ファイル内のシングルバイト対マルチバイトキャラクタ) ためのロケール変数を決定します。 LC_TIME カレンダーのフォーマットおよび内容を決定します。 TZ は、現在の月の値を計算するために使われるタイムゾーンを決定します。 国際化変数のどれかが無効な設定を含む場合、 cal はすべての国際化変数が"C"に設定されているように振る 舞います。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 次のコマンドにより、 cal 9 1850 1850年 9月のカレンダーが画面上に次のようにプリントされます。 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 しかしXPG4の場合は、出力が次のようになります。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 115 cal(1) cal(1) 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年を指すことに注意してください。 標準準拠 cal: SVID2, SVID3, XPG2, XPG3, XPG4 116 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 117 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 118 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 119 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ビットで指定される文字です。その他の非プリント 文字は、 M120 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 cat(1) cat(1) x になります。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 2: December 2007 −2− Hewlett-Packard Company 121 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 122 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 名称 cc_bundled: cc − バンドルされている C コンパイラ 構文 cc [options] files 説明 cc は HP-UX にバンドルされた C コンパイラを起動します。C のソースコードは、オブジェクトコードに 直接コンパイルされます。 こ の コ マ ン ド は、 コー ド 生 成 に 加 え て、 前 処 理、 構 文 チェッ ク、 タ イ プ チェッ ク の た め に、 ctcom (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 オプ ションの現在の状態に依存しない点だけが異なります。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 123 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 その他の接尾辞 上記以外の引き数 (.o 、.a または .so などで終わる名前) は、実行可能プログラムを生成す るために一緒にリンクされるリロケータブルオブジェクトファイルとして解釈され、ld (ld(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 が認識できるオプションは、下記のオプションです。 -c コンパイルのリンク編集段階を抑止し、たとえ1つのプログラムだけをコンパイルする場合で も、各 .c または .i ファイルに対応するオブジェクト (.o) ファイルが生成されるようにし ます。C プログラムから生成されるオブジェクトファイルは、リンクしてからでないと実行 できません。 -Dname=def -Dname 「#define」を使って定義したかのように、プリプロセッサパスに name を定義します。 -E 指定された C ファイルのプリプロセスを行い、その結果を標準出力に出力します。 -Idir プリプロセッサパスでインクルードファイルを検索するために使用するアルゴリズムを変更し て、dir で指定したディレクトリ内も検索するようにします。詳細は、HP C Online Help を 参照してください。 124 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 -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 です。 -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 c アセンブラ; 標準接尾辞は as コンパイラ; 標準接尾辞は ctcom (Itaniumベース システム) または ccom (PA-RISC システム) l リンカー; 標準接尾辞は ld p プリプロセッサ; 標準接尾辞は cpp x すべてのサブプロセス。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 125 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 -Uname コンパイルのプリプロセッサ処理に先立って、name の初期定義をすべて削除します。 -v 冗長モードを使用可能にします。このモードでは、コンパイル処理のステップごとの記述が標 準エラーに出力されます。 -V コンパイラとリンカー (リンカーを実行した場合) のバージョン情報を表示します。 -w 警告メッセージを抑止します。 -Wx,arg1[,arg2...] カンマで区切られた引き数をサブプロセス x に渡します。x は −t オプションでリストした 値の1つか d (ドライバープログラム) ですが、x (すべてのサブプロセス) は指定できませ ん。-W オプションを指定すると、標準ではサポートされない、処理系に固有のオプションを コンパイラのドライバーが認識できるようになります。 Itaniumベース システムのみのオプション -.suffix -E オプションの出力を、標準出力ではなく、それぞれの .c ファイル名について .suffix を 付けた名前のファイルへ出力します。を -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 「プレーン」な文字型データを符号なし文字として扱います (オーバーローディングとマング リングは変更しません)。このオプションは、非修飾型(プレーン)の文字型データを、デフォ 126 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 ルトの符号付き文字ではなく、符号なし文字として扱う環境からアプリケーションを移植する ときに役に立ちます。コンパイル単位中のすべての非修飾データ型がこのオプションで影響を 受けるので (外部変数やシステムインタフェースを定義するヘッダーも含まれます)、1つの プログラムで使われるインタフェースも同時にコンパイルする必要があります。 問題がありそうなすべての構造について警告を表示します。+w オプションを指定しない場合 +w は、ほとんど確実に問題がある構造についてのみ警告を表示します (Itaniumベース システム のみ)。 +Warg1[,arg2,...,argn] 指定した警告メッセージだけを、選択的に抑止します。ここに、arg1 ∼ argn には、有効な コンパイラ警告メッセージの番号を指定します (Itaniumベース システムのみ)。 +Wearg1[,arg2,...,argn] 指定した警告メッセージ、またはエラーメッセージにつながるメッセージを選択的にエラー メッセージとして解釈します。arg1 ∼ argn には、有効なコンパイラメッセージの番号を指 定します (Itaniumベース システムのみ)。 システムに依存するオプション コンパイラはオペレーティングシステムに依存する以下の追加オプションをサポートします。 +DDdata_model ILP32 または LP64 データモデルのいずれかを使うコードを生成します。data_model で定義されて いる値は、以下のとおりです。 32 64 ILP32 データモデルを使います。int、long、ポインターのデータサイズは、32ビットです。 LP64 データモデルを使います。int のデータサイズは、32ビットで、long とポインターのデー タサイズは、64ビットです。プリプロセッサに対し、__LP64__ を定義します。 +DSmodel 指定した model に調整された命令スケジューラを使います。オプションを使わない場合は、コンパイ ラはプログラムをコンパイルしているコンピュータのアーキテクチャ用の命令スケジューラを使いま す。 オプション (その他) 定義されていないその他のオプションを使うと、標準エラーに警告が表示されます。 他の引き数には HP C と互換のオブジェクトファイルがありますが、これらのオブジェクトファイルは、通 常、以前の cc を実行したとき、または HP cc 互換ルーチンのライブラリによって生成されます。これらの ファイルは、指定したコンパイルの結果と共に、 (指定した順番で) リンクされ、a.out という名前の実行形 式プログラムを生成します。 ポインター NULL (ゼロ) ポインターのオブジェクトへのアクセスは、技術的には不正ですが、多くのシステムは過去にそ れを許していました。コードの移植性を最大限保証するために、以下のサポートを行っています。ハードウェ HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 127 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 アでアドレス 0 から読み込んだとき (少なくとも、8ビット、または 16ビットにアクセスしたとき) に 0 を返 すことが許されている場合、−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)の詳細は、上述の システムに依存するオプションの項 を参照してください。 128 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 ファイル file.c C 入力ファイル file.i 以前にプリプロセスが行われた cc 入力ファイル file.o オブジェクトファイル file.so Itaniumベース システムで ld -b によって生成された共有ラ イブラリ file.sl PA-RISC システム で ld -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/ctcom 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 シス テム) HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 129 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 /usr/lib/libc.sl 標準 C ライブラリ (共有バージョン)、『HP-UX リファレンス セクション (3)』を参照してください。 (PA-RISC システム) /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/libdl.so ダイナミックローダーライブラリ (Itaniumベース システム) /usr/lib/libdld.sl ダイナミックローダーライブラリ (PA-RISC システム) /usr/lib/hpux32/dld.so ダイナミックローダー (Itaniumベース システム) /usr/lib/hpux64/dld.so ダイナミックローダー (Itaniumベース システム) /usr/lib/dld.sl ダイナミックローダー (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) 130 アセンブリコードをマシンコードに変換します。 cpp(1) C 言語プリプロセッサを実行します。 cc(1) C コンパイラ ld(1) リンクエディターを実行します。 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 cc_bundled(1) cc_bundled(1) バンドルされている C コンパイラ − 機能限定版 その他 strip(1) オブジェクトファイルからシンボルおよび行番号の情報を取り除きます。 crt0(3) 起動ルーチンを実行します。 end(3C) プログラムの最終位置のシンボルです。 exit(2) プロセスを終了します。 指導書および標準文献 『American National Standard for Information Systems - Programming language C, ANS X3.159-1989』 『HP C Online help』も参照してください。 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 131 cd(1) cd(1) 名称 cd − ワークディレクトリの変更 構文 cd [ directory ] 説明 directory を省略すると、シェルパラメータ HOME の値を新しいワークディレクトリとして使用します。directory に /、.、. . で始まる絶対パスを指定すると、directory が新しいワークディレクトリになります。上 記のいずれでもない場合、cd は、シェル変数 CDPATH により指定したパスのいずれかの下にあるディレクト リを相対的に見つけようとします。CDPATH の構文と意味は、PATH シェル変数と同じです。cd では directory での実行 (検索) パーミッションが必要になります。 cd は、シェル組み込み関数としてのみ存在します。これは、通常のシステムコマンドとして作成し実行する と、コマンドが実行されるたびに新しいプロセスが生成され、cd が役に立たなくなるためです。また、シェ ルが異なると、組み込み関数としての cd の実現方法が異なります。ここに示す cd の特徴は、すべてのシェ ルでサポートされるわけではありません。相違点については、それぞれのシェルのマンページを参照してくだ さい。 cd が以下のように (これは foo をアクセス可能なディレクトリで呼び出します)、サブシェルまたは個別の ユーティリティ実行環境で呼び出された場合、 find . -type d -exec cd {}; -exec foo {}; cd は、呼び出し元の環境の現在のディレクトリには影響を与えません。cd を単独コマンドとして使用する 別の用途としては、コマンドの終了ステータスを取得することがあります。 多言語化対応 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 環境変数 以下の環境変数は、cd の実行に影響を与えます。 HOME ディレクトリオペランドを指定しなかった場合に使用されるホームディレクトリ名 CDPATH ディレクトリを参照するコロンで区切ったパス名のリスト。ディレクトリオペランドが スラッシュ文字 (/) で始まらず、最初の構成要素がドットでもドットドットでもない場 合は、cd は、変数 CDPATH に指定された各ディレクトリ相対で、リストされた順序で directory を検索します。新しいワークディレクトリは、最初に一致したディレクトリに 設定されます。ディレクトリパス名に代わりに空文字列を指定した場合は、現在のディ レクトリを表します。CDPATH が設定されていない場合は、空文字列として処理されま す。 132 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 133 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 リストは終了します。 134 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 cdc(1) cdc(1) v オプションに値がある場合 (admin(1) を参照)、 MR 番号の正確さを評価するプロ グラム( またはシェルプロシージャ) の名前として処理されることに注意してくださ い。非ゼロの終了ステータスが MR 番号の評価プログラムから返されると、 cdc は 終了し、デルタ注釈はそのまま変化しません。 -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 オプション も使用しなければなりません。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 135 cdc(1) cdc(1) ファイル x-file delta(1) を参照 z-file delta(1) を参照 参照 admin(1), delta(1), get(1), sccshelp(1), prs(1), sccsfile(4), rcsfile(4), acl(5), rcsintro(5) 136 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 引き数を与えると、「アクセスな HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 137 chacl(1) chacl(1) し」(-r オプションを使用しているとき) か、または「変更なし」を意味します。 構文の要約については、引き数なしで chacl を実行してください。 file に - を指定する場合、chacl は標準入力としてオープンしているファイルに対して動作します。 オプション chacl は以下のオプションを認識します。 -r 従来の ACL を、指定した ACL に置き換えます。すべての追加 ACL エントリーは、指 定のファイルの ACL から最初に削除されます。ベースパーミッションがゼロに設定さ れ、新しい ACL が適用されます。acl に所有者 (u.%), グループ (%.g), またはファイ ルの他の (%.%) ユーザーのエントリーがなければ、その ACL エントリーのモードは ゼロ (アクセスなし) に設定されます。コマンドはファイルの ACL エントリーすべて に影響を与えますが、ファイル所有者またはグループ ID の変更はしません。 chmod(1) では、「変更」および「置き換え」操作は構文 ( 文字列または8進値) に よって区別されます。 ACL には可変個数のエントリーがあるため、決まった構造は ありません。したがって、 chacl は、デフォルトにより特定のエントリーを修正 し、オプションによりエントリーをすべて置き換えます。 -d 指定されたすべてのファイルにあたる ACL から指定されたエントリーを削除しま す。 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 の代わりに上記のコマン ドをお勧めします。 138 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 chacl(1) chacl(1) -z ベースエントリーのみを残して、指定したファイルの ACL におけるオプションエント リーをすべて削除 (「ザップ」) します。 -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) を参照してください。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 139 chacl(1) chacl(1) 戻り値 chacl が正常終了すると、ゼロ値を返します。 任意のファイルの ACL を変更する前に chacl にエラーが発生すると、エラーメッセージを標準エラーにプリ ントし、1を返します。このようなエラーとしては、無効な呼び出し、acl (aclpatt) の無効な構文、指定した ユーザー名またはグループ名が不定、または -f オプションで fromfile から ACL を取得不可能といったこと があります。 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 140 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 chacl(1) chacl(1) 警告 ACL 文字列に入れることができる反転エントリー (fun.stuff) の数は最高 16個までですが、これは@シンボ ルをユーザーまたはグループ名に冗長なエントリーを結合させることによって、一部のファイルでは 16個のエ ントリーより少なくなることがあります。 制約 ターゲットファイルが存在するファイルシステムが ACLをサポートしていない場合、chacl は異常終了しま す。 NFS -F オプションのみが、リモートファイルでサポートされます。 著者 chacl は HP で開発されました。 参照 chmod(1), getaccess(1), lsacl(1), getacl(2), setacl(2), acl(5), glossary(9) HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 141 chatr(1) chatr(1) 名称 chatr − プログラムの内部属性の変更 構文 特記事項 Itanium®ベース システムでは chatr_ia(1) を参照してください。 PA-RISC システムでは chatr_pa(1) を参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Itaniumベース システムで、それ以外の値であれば PA-RISC システムです。 参照 chatr_ia(1), chatr_pa(1), uname(1) 142 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 chatr_ia(1) chatr_ia(1) Integrity システム専用 名称 chatr_ia: chatr − Integrity システム用プログラムの内部属性の変更 構文 フォーマット 1: シングル テキストセグメントとシングル データセグメントのみのファイルの場合 chatr [-s] [-z|Z] [-l library] [-B mode] [+as mode] [+b flag] [+cd flag] [+ci flag] [+dbg flag] [+dynopt flag] [+es flag] [+gst flag] [+gstsize size] [+id flag] [+k flag] [+l library] [+md flag] [+mem_check 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 2: December 2007 −1− Hewlett-Packard Company 143 chatr_ia(1) chatr_ia(1) Integrity システム専用 オプション -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" が含まれる場合、共有ライブラリはすべてプライベートにマッピングされ ます。共有ライブラリのベースネームをコロンで区切ったリストを、このオプションの後に等 144 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 chatr_ia(1) chatr_ia(1) Integrity システム専用 号 (=) 記号に続けて指定することもできます。たとえば次のように指定します。 _HP_DLDOPTS="-text_private=libdebug.sl:libdld.2" +dynopt flag 動的最適化の設定を変更します。実行環境がこの機能をサポートしている場合に、このフラグ 値が enable なら、ロードモジュール (実行ファイルまたは共有ライブラリ) の動的最適化が 有効になります。このフラグ値が disable なら、ロードモジュールの動的最適化は行われ ません。このフラグ値が default の場合はデフォルトの設定が使用されます。この設定で は、ロードモジュールの動的最適化の有効化あるいは無効化が、実行環境から制御されます。 +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 フラグによって示されます。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 145 chatr_ia(1) +md flag chatr_ia(1) Integrity システム専用 ファイルのデータセグメントの変更ビットを、有効、または無効にします。有効にしたこと は、chatr 出力の中のセグメントリストで、m フラグによって示されます。 +mem_check flag ダイナミックローダーが、librtc.so を自動的にプリロードし、さらに共有ライブラリを プライベートにマップするという動作を有効 (Enable) にする、または無効 (disable) にし ます。ライブラリ librtc.so は、GDB を使用したヒープ解析に使用されます。 +mergeseg flag 共有ライブラリセグメントのマージ機能を、有効、または無効にします。有効にした場合、プ ログラム起動時にロードされる共有ライブラリのすべてのデータセグメントは、単一ブロック にマージされます。各々の動的にロードされるライブラリのデータセグメントも、依存ライブ ラリのデータセグメントにマージされます。これらのセグメントをマージすることによって、 カーネルが大きなサイズのページテーブルエントリーを使うことができるようになり、実行時 の性能が改善されます。 +mi flag ファイルのテキストセグメントの変更ビットを、有効、または無効にします。有効にしたこと は、chatr 出力の中のセグメントリストで、m フラグによって示されます。 +o flag ワークディレクトリの絶対パスを計算するのに、 $ORIGIN の使用を制御するために、 DF_ORIGIN フラグを、有効、または無効にします。フラグを有効にした場合、ダイナミッ クローダーは、親モジュール (オブジェクトモジュール、共有ライブラリ、または実行可能形 式) を最初にロードするとき、現在のワークディレクトリの絶対パスを計算します。その後 ローダーは、このパスを $ORIGIN が現れるたびに使います。また、ローダーは、このパス を依存ライブラリに $ORIGIN が現れるたびに使います。 $ORIGIN が存在しなければ、絶対パスの計算を行わないようにするために、DF_ORIGIN フ ラ グ は 無 効 に す る 必 要 が あ り ま す。 $ORIGIN が 存 在 し な い 場 合、 デ フォ ル ト で は、 DF_ORIGIN フラグは無効です。 +p size (フォーマット 2 のみ) 指定したセグメントのページサイズを設定します。 +pd size データ用に使用する特定の仮想メモリーのページサイズを要求します。サイズは、 4K 、 16K、 64K、 256K、 1M、 4M、 16M、 64M、 256M、 1G, 4G, D 、および L がサポートさ れています。サイズ D を指定すると、デフォルトのページサイズがを使用できます。サイズ L を指定すると、最大のページサイズを使用できます。要求したサイズを使用できない場 合、実際に使用できるページサイズが異なることがあります。 +pi size テキスト (命令) に使用する特定の仮想メモリーのページサイズを要求します。詳細について は、+pd オプションを参照してください。 +r flag このプログラムを実行するときに、静的分岐予測を要求します。フラグ enable または disable によって、この要求をオン/オフにします。有効にした場合、chatr 出力の中のセ グメントリストに、r フラグが付けられて表示されます。 146 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 chatr_ia(1) +s flag chatr_ia(1) Integrity システム専用 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 によって、この要求をオン/ オフにします。データセグメント以外には使用できませ ん。 +I flag /opt/langtools/bin/caliper による動的計測を有効、または無効にします。有効にし た場合には、ダイナミックローダー ( dld.so(5) を参照) が caliper を自動的に呼び出し、 プログラム実行時のプロファイル情報を集めます。 スタック上の実行許可制限 システムに侵入するためによく (または一般に) 用いられる方法は、プログラムのスタック上のバッファーを故 意にオーバーフローさせる方法です。例えば、非常に長く、注意して選んだコマンド行引き数を、それを予期 していない特権プログラムに渡します。悪意を持った非特権ユーザーは、この方法で特権プログラムをだま し、スーパーユーザーのシェルを開始させるか、同じような許可されていない動作を実行させることができま す。 この種の攻撃を受けるリスクを低くするには、プログラムのスタックページから実行パーミッションを削除す ることが、単純ですが効果的な方法です。これにより、性能を犠牲にせずにシステムのセキュリティが高ま り、大部分の正当なアプリケーションに悪い影響も与えません。この項で述べた変更の影響を受けるのは、プ ログラムのスタック上にある命令を実行しようとする (あるいはだまされて実行する) ごく一部のプログラムに すぎません。 この項で述べたスタックの保護機能がプログラムに対して有効になっており、そのプログラムがスタックから コードを実行しようとした場合、HP-UXのカーネルは、SIGKILL シグナルでプログラムを終了させ、このマ ンページの項を参照するメッセージを表示し、エラーメッセージをシステムのメッセージログに記録します ( エラーメッセージの表示には、dmesg を使用します)。カーネルが記録するメッセージは、次のようなもので す。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 147 chatr_ia(1) Integrity システム専用 chatr_ia(1) WARNING: UID # may have attempted a buffer overflow attack. PID # (pro- gram_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カーネルに対して、プログラムスタック上でのプログラ ムの実行を許可するように指示できます。旧リリースとの互換性の方がセキュリティより重要な場合は、この 設定にしてください。互換性よりセキュリティを重視したい場合は、executable_stack パラメータを 0 ( ゼロ) に設定することをお勧めします。この設定では、システムのセキュリティが大幅に向上し、かつ正当な アプリケーションに悪影響を与えません。 これらの設定を組み合わせることで、多くのアプリケーションに適した設定にすることができます。例えば、 executable_stack を0に設定した後、1つか2つの重要なアプリケーションが、スタックからの実行を 行っているために、実行できなくなっていたとします。このようなプログラムの例には、シミュレータやイン タプリタのように、自身のコードを変更するものがあります。これらの特殊なアプリケーションを正常に動作 さ せ つ つ、 シ ス テ ム の デ フォ ル ト を 制 限 さ れ た 状 態 に し て セ キュ リ ティ を 確 保 す る に は、 executable_stack を 0 に設定して、スタックから実行する必要のある特定のバイナリに対して chatr +es enable を実行します。これらのバイナリは、実行したときにこのマンページを参照するエラーメッセージを 出力するので、簡単に識別できます。 executable_stack の設定可能な値は、次のとおりです。 executable_stack = 0 (デフォルト) 0 (デフォルト値) に設定すると、スタックは実行不能になります。セキュリティの観点から強く お勧めします。 executable_stack = 1 1に設定すると、すべてのプログラムスタックが実行可能になります。このパラメータでは、互 換性の観点からは最も安全ですが、セキュリティ上は最も危険です。 148 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 chatr_ia(1) chatr_ia(1) Integrity システム専用 executable_stack = 2 2に設定すると、0の場合と同じ動作になりますが、スタックから実行しようとしたプロセスを 終了させずに、致命的でない警告を発するようになる点が異なります。この設定は、値を 0 にし ても正当なアプリケーションに影響を与えないことを確認する場合に便利です。これも、セキュ リティ上の保護は弱くなります。 下の表は、プログラムのスタックから実行する場合の、chatr +es と executable_stack の可能な組み 合わせとその結果をまとめたものです。スタックの実行許可を与えるかどうかを決定する場合、chatr +es disable を実行した結果は、カーネルの調整可能パラメータ executable_stack の設定に依存し、バイナ リに対して chatr +es を実行していない場合と同じになります。 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を返します。 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 149 chatr_ia(1) chatr_ia(1) Integrity システム専用 chatr <no argument> file1 file2 file3 不正なファイル コマンドが、指定されたファイルのいずれかで処理できなければ、何らかのオプションが指定されている場 合、指定されたファイルの総数を返します。オプションが指定されていない場合は、処理できなかったファイ ルの数を返します。 a2 に読み取り/書き込みパーミッションがない場合は、次の1つめの例では 4 を返し、 2つめの例では 1 を返します。 chatr +b enable a1 a2 a3 a4 chatr a1 a2 a3 a4 多言語化対応 環境変数 chatr の実行には、次の多言語化対応変数が影響を与えます。 LC_ALL、その他の LC_* 環境変数が指定されていない場合に、母国語、ローカルな習 LANG 慣、およびコーディング文字セットのロケールカテゴリを決めます。LANG が指定されて いない場合、または空の文字列に設定されている場合は、LANG の代わりにデフォルトと して C (lang(5) を参照) が使用されます。 すべてのロケールカテゴリに対する値を決めます。これは、LANG や、その他の LC_* 環 LC_ALL 境変数より優先して使用されます。 LC_CTYPE LC_MESSAGES 文字処理関数に対するロケールカテゴリを指定します。 標準エラーに書き込む診断メッセージのフォーマットと内容を決めるロケールを指定しま す。 LC_NUMERIC 数値フォーマットに対するロケールカテゴリを指定します。 NLSPATH LC_MESSAGES の処理に使用するメッセージカタログの位置を決めます。 多言語化対応変数が不当な値に設定されていると、chatr は、多言語化対応変数がすべて C に設定されてい るものとして動作します。environ(5) を参照してください。 これ以外に、次の環境変数が chatr に影響を与えます。 TMPDIR 一時ファイルのディレクトリを指定します (tmpnam(3S) 参照)。 例 a.out をデマンドロードに変更します。 chatr -q a.out 共有ライブラリを使用するプログラムファイルのバインディングモードを即時、非致命的に変更します。ま た、SHLIB_PATH 環境変数の使用を可能にします。 chatr -B immediate -B nonfatal +s enable a.out 150 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 chatr_ia(1) chatr_ia(1) Integrity システム専用 共有ライブラリ libfoo.sl が依存する /usr/lib/libc.sl の実行時のパス検索を禁止します。 chatr +l /usr/lib/libc.sl libfoo.sl 直前の chatr の実行でセグメントインデックス番号が 5 と判明している場合、ページサイズを4キロバイト に変更します。 chatr +si 5 +p 4K average64 特定のセグメントに変更ビットを設定するためには、最初に、そのセグメントのインデックス、またはアドレ ス番号を見つけます。 chatr a.out a.out: 32-bit ELF executable shared library dynamic path search: LD_LIBRARY_PATH enabled first SHLIB_PATH enabled second embedded path 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 D (default) 6 data 40000000 ---m- 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 あるいは、 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 151 chatr_ia(1) chatr_ia(1) Integrity システム専用 chatr +sa 04000000 +m enable a.out フォーマット1の場合、以下のコマンドを使います。 chatr +mi enable a.out 警告 chatr コマンドの今回のリリースでは、以下のオプションのサポートを中止しました。 • -n • -q • -M • -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 リンカー & ライブラリー ユーザーズガイド』 152 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 名称 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] [+mem_check flag] [+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] [+mem_check 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 リンカー & ラ イブラリー オンライン ユーザーズガイド』を参照してください。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 153 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 PA-RISC 32ビット SOM および PA-RISC 64ビット ELF (フォーマット 1) の chatr に共通のオプ ション chatr のデフォルトでは、それぞれの file のマジックナンバーおよびファイル属性を標準出力にプリントし ます。 -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 を指定すると、共有ライブラリのテキストセグメントをマージ することができます。 154 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 chatr_pa(1) +es flag PA-RISC システム専用 chatr_pa(1) flag の値 enable と disable によって、スタック上のユーザーコードを実行可能にするか どうかを制御します。セキュリティ問題については、下記の 「スタック上の実行許可制限」 の項を参照してください。 +gst flag シンボルのインポート/エクスポート エントリーを参照するために、シンボルテーブルのハッ シュ機構を使用するかどうかを制御します。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 を参照)、指定した共有ライブラリが実行 時のパス検索の対象にならないことを示します。 +mem_check flag ダイナミックローダーが、librtc.sl を自動的にプリロードし、さらに共有ライブラリを プライベートにマップするという動作を有効 (Enable) にする、または無効 (disable) にし ます。ライブラリ librtc.so は、GDB を使用したヒープ解析に使用されます。 +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 コ マンドで利用可能です。) HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 155 chatr_pa(1) +s flag chatr_pa(1) PA-RISC システム専用 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 を使用) でレイジースワップを有効にします。データセグメント以外には使用できま せん。 -z NULL ポインターの逆参照トラップを有効にします。実行時に NULL ポインターの逆参照は SIGSEGV シグナルを生成します (-Z オプションの逆)。 -Z NULL ポインターの逆参照トラップを無効にします。(-z オプションの逆)。 PA-RISC 32ビット SOM 用 chatr オプション -M ファイルを EXEC_MAGIC から SHMEM_MAGIC に変更します。(このオプションは、 真の 64ビットカーネルで 64ビットアドレスが使用可能になるまでの回避策です。下 記の「chatr とマジックナンバー 」および「SHMEM_MAGIC の使用 」の項を参照 してください。) -N ファイルを SHMEM_MAGIC から EXEC_MAGIC に変更します。 (このオプションは、 真の 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 で有効になります)。 156 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 chatr_pa(1) +q3p flag PA-RISC システム専用 chatr_pa(1) 32ビットプロセスが第3象限をデータスペースとして使用する方法を指示するフラグ ビットの設定を制御します。 enable フラグは、32ビットプロセスが第3象限をプライベートデータ スペースと して使用するようにフラグビットを設定します。このビットを設定すると、32ビット プロセスのプライベートデータ スペースは 1.9GB から 2.85GB に増えます。 disable フラグはこのビットの設定を解除し、第3象限をデフォルトの状態 (共有 メモリーとして使用される) に戻します。 このフラグ機構は、第1象限および第2象限の使い方の設定方法とは異なります。こ れらの値は、実行可能ファイルのマジックナンバーを使用して設定します (-M オプ ションおよび -N オプションを参照)。 詳細および互換性の問題については、下記の項「大きなプライベートデータ スペー ス」 を参照してください。 +q4p flag 32ビットプロセスが第3象限および第4象限をデータスペースとして使用する方法を 指示するフラグビットの設定を制御します。 enable フラグは、32ビットプロセスが第4象限をプライベートデータ スペースと して使用するようにフラグビットを設定します。 +q4p フラグビットを設定すると、 32ビットプロセス用のプライベートデータ スペースは 1.9GB から 3.8GB に増えま す。第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) のオプション HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 157 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 +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組の属性変更のセグメントを指定します。 +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 の次世代 (PA-RISC 2.0 より後) の 64ビットアーキテクチャではサポートさ れなくなります。これらのアーキテクチャで 1.75 GB より大きな共有メモリーを必要とするプログラ ムを実行する場合は、アーキテクチャに合わせて (64ビットの実行可能プログラムとして) プログラム 158 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 chatr_pa(1) PA-RISC システム専用 chatr_pa(1) をコンパイルし直す必要があります。 64ビットアーキテクチャ (PA-RISC 2.0 を含む) のすべての HP の実装で 64ビットの実行可能プログ ラムとしてコンパイルし直したプログラムは、 SHMEM_MAGIC としてマークすることはできません。 また、その時点では 1.75 GB より大きな共有メモリーにアクセスできるようになっているので、マー クする必要はありません。 その他のタイプの実行可能プログラムで使用可能な 1 GB の共有メモリーを追加する場合、System V で使用可能な形態でのみ追加できます。それ以外の形態 ( メモリーマップファイルなど) で共有メモ リーを追加することはできません。 大きなプライベートデータスペース HP-UX 11i リリース以降では、32ビットプログラムは (プロセス毎に有効化されていれば) 追加的な 1 ∼ 2GB のプライベートアドレススペースが利用できます。この際に共有メモリースペースが消費さ れます。この機能によりプロセス毎に利用可能なプライベートデータスペースの量を増加させること ができます。 2つの新しいオプション +q3p と +q4p が chatr に追加されました。これらのオプションにより、 プロセスについて、第3象限 (0x80000000-0xBFFFFFFF 内の 1GB のアドレススペース)、および第 4象限 (0xC0000000-0xFFFFFFFF 内の 1GB のアドレススペース) を、そのプロセスのプライベート アドレススペースの一部とするか、あるいは実行中の他のプロセスと共有するかを制御できるように なります。以前までは、第3象限と第4象限は共有オブジェクト専用でした。そのような共有オブ ジェクトには、(MAP_SHARED) を使用する System V の共有メモリーとメモリーマップファイルがあ ります。 この機能の利用するには、カーネル調整パラメータ maxdsiz に設定する値を、相応に増加させる必要 があります。 maxdsiz(5) を参照してください。また、大きなアドレススペースを使用するプロセスを サポートするには、システムで十分なスワップ空間が利用できるようになっている必要があります。 互換性の問題 プライベートな第3象限を利用可能にしているプロセス (q3p プロセス) は、共有オブジェクトで利用 できるアドレス空間が 1GB 少なくなります。また q3p プロセスは、別の 非-q3p プロセスで作成さ れた共有オブジェクトについては (System V 共有メモリーが) IPC_GLOBAL フラグを使用するか、 (mmapが) MAP_GLOBAL フラグを使用して作成された場合を除いて、第4象限であっても、共有でき ません。再コンパイルができない場合は、q3p プロセスとオブジェクトを共有するすべてのプロセス を q3p プロセスにする必要があります (chatr +q3p enable a.out)。 プライベートな第4象限を利用可能にしているプロセス (q4p プロセス) には、共有オブジェクトとし て利用できるアドレス空間を持ちませんこのため、プロセスで System V 共有メモリーや共有マップ ファイルなどが利用できなくなります。共有ライブラリの使用は可能ですが、カーネルは共有ライブ ラリをプライベートとしてマップします。注意すべきこととして、 q4p プロセスにより、第3象限も プライベートになります。つまり、カーネルはプライベートな第4象限だけを有効化したプロセスは 実行しません。 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 159 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 バイナリ互換性のために、システムコールの入り口となるページのアドレスは 0xC0000000 でなけれ ばならないので、データセグメントが第4象限の始まり部分まで拡張されることは許されません。そ のため、brk() と sbrk() システムコールは、データセグメントの拡張に関して、そのアドレスま でしかサポートしません。 第4象限のプライベートアドレス空間を有効利用するには、 mmap() システムコールの呼び出しでオ プション MAP_PRIVATE を指定して、メモリーを割り当てる必要があります。 malloc() システム コールは、この処理を自動で行うように変更されています。共有バージョンの C ライブラリを使用す るプログラムでは、この malloc() の新機能を利用するのに、再リンクは必要ありません。しかし、 非共有バージョンの C ライブラリをリンクして作られたプログラムでは、再リンクが必要です。 その機能を有効化しない限り、これらの変更には互換性の問題はありません。 この機能は、64 ビットバージョンの HP-UX 上で動作する 32 ビットプログラムでのみ有効化できま す。32ビットバージョンの HP-UX では、第3象限や第4象限のプライベート空間の要求は、何の表 示もなく無視されます。 スタック上の実行許可制限 システムに侵入するためによく ( または一般に) 用いられる方法は、プログラムのスタック上のバッ ファーを故意にオーバーフローさせる方法です。例えば、非常に長く、注意して選んだコマンド行引 き数を、それを予期していない特権プログラムに渡します。悪意を持った非特権ユーザーは、この方 法で特権プログラムをだまし、スーパーユーザーのシェルを開始させるか、同じような許可されてい ない動作を実行させることができます。 この種の攻撃を受けるリスクを低くするには、プログラムのスタックページから実行パーミッション を削除することが、単純ですが効果的な方法です。これにより、性能を犠牲にせずにシステムのセ キュリティが高まり、大部分の正当なアプリケーションに悪い影響も与えません。この項で述べた変 更の影響を受けるのは、プログラムのスタック上にある命令を実行しようとする (あるいはだまされて 実行する) ごく一部のプログラムにすぎません。 この項で述べたスタックの保護機能がプログラムに対して有効になっており、そのプログラムがス タックからコードを実行しようとした場合、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). このようなメッセージが表示された場合は、プログラムの所有者を調べて、このプログラムが正当に スタックからコードを実行しているかどうかを確認します。正当であれば、以下に述べる方法のどち らか、または両方を用いてプログラムを再度機能させることができます。プログラムが正当にスタッ クからコードを実行していない場合は、悪意を持った行為ではないかと疑って、適切に対処してくだ 160 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 さい。 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 を実行します。これらのバイナリは、実行したときにこの マンページを参照するエラーメッセージを出力するので、簡単に識別できます。 executable_stack の設定可能な値は、次のとおりです。 executable_stack = 0 (デフォルト) 0 (デフォルト値) に設定すると、スタックは実行不能になります。セキュリティの観点 からは強くお勧めします。 executable_stack = 1 1 に設定すると、すべてのプログラムスタックが実行可能になります。このパラメータ では、互換性の観点からは最も安全ですが、セキュリティ上は最も危険です。 executable_stack = 2 2 に設定すると、0 の場合と同じ動作になりますが、スタックから実行しようとしたプ ロセスを終了させずに、致命的でない警告を発するようになる点が異なります。この設 定は、値を 0 にしても正当なアプリケーションに影響を与えないことを確認する場合に HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 161 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 便利です。これも、セキュリティ上の保護は弱くなります。 下の表は、プログラムのスタックから実行する場合の、 chatr +es と executable_stack の可 能な組み合わせとその結果をまとめたものです。スタックの実行許可を与えるかどうかを決定する場 合、 chatr +es disable を 実 行 し た 結 果 は、 カー ネ ル の 調 整 可 能 パ ラ メー タ exe- cutable_stack の設定に依存し、バイナリに対して chatr +es を実行していない場合と同じにな ります。 chatr +es executable_stack 動作 enable 1 プログラムは正常に動作する disable または 1 プログラムは正常に動作する enable 0 プログラムは正常に動作する disable または 0 プログラムは抹消 (kill) chatr を実行していない chatr を実行していない される enable 2 プログラムは正常に動作する disable または 2 プログラムは正常に動作し chatr を実行していない 警告が表示される 戻り値 chatr は、正常終了時にはゼロを返します。コマンド行の内容が構文的に誤っている場合、または指 定されたファイルのひとつ以上を処理できない場合、chatr は属性を修正できなかったファイルにつ いての情報を返します。ファイルを指定しなければ、 chatr は 10進数の 255 を返します。 不正なオプション PA-RISC 32ビットの chatr では、不正なオプションを指定すると、 chatr はコマンド行のワード 数を返します。例を次に示します。 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 を返します。 162 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 不正な引き数 正しいオプションに不正な引き数を指定した場合、ファイル名を指定していなければ、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 2: December 2007 − 11 − Hewlett-Packard Company 163 chatr_pa(1) chatr_pa(1) PA-RISC システム専用 LC_MESSAGES 標準エラーに書き込む診断メッセージのフォーマットと内容を決めるロケールを指定 します。 LC_NUMERIC 数値フォーマットに対するロケールカテゴリを指定します。 NLSPATH LC_MESSAGES の処理に使用するメッセージカタログの位置を決めます。 多言語化対応変数が不当な値に設定されていると、 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) 164 アセンブラ、コンパイラ、リンカの出力 magic(4) HP-UX用のマジックナンバー sam(1M) システム管理マネージャ executable_stack(5) プログラムスタックがデフォルトで実行可能かどうかを制御 Hewlett-Packard Company − 12 − HP-UX 11i Version 2: December 2007 chatr_pa(1) PA-RISC システム専用 chatr_pa(1) テキストとチュートリアル 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプションを参照) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 HP-UX 11i Version 2: December 2007 − 13 − Hewlett-Packard Company 165 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 リストにある追加マクロペアを定義します。 -a の後につづく6文字のグループは、それぞれマ クロのペアを定義します。それぞれの6文字は、ピリオド、第一マクロ名、別のピリオド、およ び第二マクロ名で構成されます。例えば、以下のペア .BS および .ES, .XS および .XE の定 義は、以下のようになります。 -a.BS.ES.XS.XE オプションとその引き数の間にスペースは入りません。 -c checknr が未定義であると解釈してしまうコマンドを、あらかじめ定義します。 -f \fx フォント変更を無視します。 -s \sx サイズ変更を無視します。 多言語化対応 サポートされる国際的コードセット シングルバイト文字コードセットがサポートされています。 診断 checknr は、一致しないデリミタ、認識できないコマンド、および不良なコマンド構文について障害を検出 し表示します。 例 ファイル sorting から対応しないオープンおよびクローズのデリミタ、未定義のコマンドなどのエラーを チェックします。ただしフォント変更によって発生するエラーは無視します。 166 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 167 chfn(1) chfn(1) 名称 chfn − finger コマンドで使用されるユーザー情報の変更 構文 chfn [login-name] chfn −r files [login-name] chfn −r nis [login-name] chfn −r nisplus [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 情報はパスワードファイル内 のみ変更されます。 chfn を実行した後、finger を実行し、情報が正しく処理されたことを確認してください。 オプション 次のオプションがあります。 −r 操作を適用するリポジトリを指定します。サポートされているリポジトリには、 files、nis、nisplus および dce があります。 サブフィールド値 Name 最大プリント文字 1022 finger コマンド、その他のユーティリティでは、このサブフィールドにある & をログイン名に置き換えて、ログイン名の最初の文字を大文字に変換するこ とにより、拡張します。(chfn では & 入力は変更されません)。 168 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 chfn(1) chfn(1) 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人のユーザーが同時に passwd ファイルに書き込もうとする可能性があるため、同期法が開発されました。 まれに chfn は、パスワードファイルがビジーであるというメッセージをプリントします。この場合、chfn はしばらくの間 sleep し、その後再び passwd ファイルへの書込みを試みます。 著者 chfn はカリフォルニア大学バークレー校で開発されました。 ファイル /etc/passwd /etc/ptmp 注記 chfn コマンドは、 passwd コマンドへのハードリンクです。 chfn を実行すると、実際には、 passwd コマンドがコマンド行に指定された リポジトリ内のユーザーのgecos情報を変更する適切な引き数で実行され ます。 リポジトリが指定されない場合には、 /etc/passwd ファイル内のgecos情報が変更されます。 参照 chsh(1), finger(1), passwd(1), passwd(4) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 169 chkey(1) chkey(1) 名称 chkey − セキュア RPC キーの対の変更 構文 chkey [ −p ] [ −s nisplus | nis | files | ldap ] 説明 chkey を使用すると、ユーザーのセキュア RPC のパブリックキーとシークレットキーの対を変更することが できます。 chkey は、古いセキュア rpc のパスワードを入力要求し、シークレットキーを復号化することに よってそれが正しいかどうかを確認します。ユーザーがまだキーログインしていない場合には、 chkey はそ のシークレットキーをローカルの keyserv デーモンによって登録します。セキュア rpc のパスワードがログ インパスワードと一致しない場合は、 chkey はログインパスワードを入力要求します。 chkey はこのログ インパスワードを使用してユーザーの秘密の Diffie-Hellman (192 ビット) 暗号キーを暗号化します。 chkey は、ログインパスワードとセキュア rpc のパスワードが同一であることを保証します。 このキーの対は、/etc/publickey ファイル ( publickey(4) を参照)、NIS の publickey マップ、NIS+ の cred.org_dir テーブル、または LDAP ディレクトリの people/host エントリーに保存することがで きます。新しいシークレットキーが生成されると、そのキーはローカルの keyserv デーモンによって登録さ れます。 −s オプションで publickey のソースを指定しないと、chkey は、ネームサービススイッチ設定ファイル (nsswitch.conf (4) を参照) 内の publickey エントリーを参照します。この publickey エントリーが指定する ソースが1つだけである場合には、chkey はその指定されたネームサービス内のキーを変更します。しか し、複数のネームサービスがリストされている場合には、chkey はどのソースを更新するのかを決定するこ とができないので、エラーメッセージを表示します。ユーザーは、−s オプションによって明示的にソースを 指定しなければなりません。 ルート以外のユーザーは、/etc/publickey ファイル内のこれらのキーの対を変更することは許可されてい ません。 オプション −p 既存のシークレットキーをユーザーのログインパスワードによって暗号化し直します。 −s nisplus NIS+ データベースを更新します。 −s nis NIS データベースを更新します。 −s files files データベースを更新します。 −s ldap LDAP データベースを更新します。このオプションは、 Enhanced Key Components がイン ストールされている場合にだけ使うことができます。 著者 chkey は、Sun Microsystems, Inc. で開発されました。 170 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 chkey(1) chkey(1) ファイル /etc/nsswitch.conf /etc/publickey 参照 keylogin(1), keylogout(1), keyserv(1M), newkey(1M), nisaddcred(1M), nsswitch.conf(4), publickey(4) 『LDAP-UX Client Services Administrator’s Guide』 『LDAP-UX Client Services Release Notes』 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 171 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) 参照) を使用して、ファイルに対する現在のパーミッションを表示することがで きます。 シンボリック モードリスト symbolic_mode_list は、次の形式の動作リストをそれぞれカンマで区切ったものです。スペースでは区切らな いでください。 [who]op[ permission] [,...] その解釈は以下の通りです(以下の「例」を参照)。 who 以下のうちのいずれか、または複数の項目の組み合わせです。 u ユーザー (所有者) のパーミッションを変更します。 g グループのパーミッションを変更します。 o その他のユーザーのパーミッションを変更します。 a すべてのユーザーのパーミッションを変更します (a は、 ugo と等価で す)。 op 指定は必須で、以下のいずれかを取ります。 + who の既存のファイル モードビットに permission を追加します。 - who の既存のファイル モードビットから permission を削除します。 = who の既存モードビットを permission に置き換えます。 permission 以下の英字の任意の組み合わせです。 r who に対して読み取りパーミッションを追加または削除します。 w who に対して書き込みパーミッションを追加または削除します。 x who に対して実行ファイル (検索ディレクトリ) パーミッションを追加また は削除します。 s who に対してファイル実行時の所有者ID設定パーミッション、またはファ イル実行時のグループID設定パーミッションを追加または削除します。 u または g が who に暗黙的または明示的に存在する場合のみ有効です。 172 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 chmod(1) chmod(1) t ファイル実行時のテキストイメージ保存 ( スティッキービット) パーミッ ションを追加または削除します。 u が who に暗黙的または明示的に存在 する場合のみ有効です。 chmod(2) を参照してください。 X 以下のように、条件付きで実行または検索パーミッションを追加または削 除します。 • 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) 所有者による実行 (ディレクトリの検索) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 173 chmod(1) chmod(1) 0040 (= g=r) グループによる読み取り 0020 (= g=w) グループによる書き込み 0010 (= g=x) グループによる実行/検索 0004 (= o=r) その他による読み取り 0002 (= o=w) その他による書き込み 0001 (= o=x) その他による実行/検索 オプション −A ファイルに関連するオプションのアクセス制御リスト (ACL) エントリーを保存します。デ フォルトでは、 IEEE 標準 POSIX 1003.1-1988 の仕様に基づいて、オプションの ACL エン トリーが削除されます。アクセス制御リストについては、 acl(5) を参照してください。 −R ファイル モードビットを再帰的に変更します。 chmod は、ディレクトリを指定している引き 数 file ごとに、指定のディレクトリと階層的にそのディレクトリの下にある全ファイル、サブ ディレクトリに関するファイル モードビットを変更します。 ファイルのモードを変更できるのは、その所有者 (または適切な特権を有するユーザー) だけに限られます。 また、通常ファイルのスティッキービットをセット (以前にセットされている場合は保存) できるのは、適切な 特権を有するユーザーだけです。 グループID設定ビットをセットするには、ファイルのグループが現在のグループIDに一致していなければな りません。 シンボリックリンクに対して chmod を使用すると、そのリンクで参照するファイルのモードが変更されま す。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が指定されていないかヌルの場合、 LANG の値がデフォルトです。 LANG が指定されていな いかヌルの場合、 C がデフォルトです( lang(5) を参照)。 国際化変数のどれかが無効な設定を含んでいれば、 C は全ての国際化変数のデフォルトになります。 environ(5) を参照してください。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 戻り値 処理を終了すると、 chmod は以下の値のいずれかを戻します。 0 >0 174 正常終了 エラー状態の発生 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 chmod(1) chmod(1) 例 その他のユーザーに対する書き込みパーミッションを拒否する場合: 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 −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 が異常終了しま す。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 175 chmod(1) chmod(1) 著者 chmod は、AT&Tおよび HPによって開発されました。 参照 chacl(1), ls(1), umask(1), chmod(2), acl(5) 標準準拠 chmod: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 176 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 chown(1) chown(1) 名称 chown, chgrp − ファイルの所有者またはグループの変更 構文 chown [−h] [−R] owner[:group] file ... chgrp [−h] [−R] group file ... 説明 chown コマンドは、指定された各 file の所有者ID を owner に変更し、またオプションとして指定された各 file のグループID を group に変更します。 chgrp コマンドは、指定された各 file のグループID を group に変更します。 所有者は、/etc/passwd ファイル内にある 10進のユーザーID またはログイン名となります。 グループは /etc/group ファイル内にある 10進のグループID、またはグループ名となります。 所有者、またはグループを変更するには、ファイルを所有しており、かつ CHOWN 特権 (setprivgrp(1M) 参 照) を持っていなければなりません。いずれかのコマンドがスーパーユーザー以外のユーザーから通常のファ イルで呼び出された場合、ファイルモードのユーザーID 設定ビット、およびグループID 設定ビット ( 順に 04000 と 02000) はクリアされます。なお、このコマンドを使用するユーザーまたはグループの権限は、setprivgrp により制限されます (setprivgrp(1M) を参照)。 アクセス制御リスト − HFS ファイルシステムのみ ファイルのアクセス制御リスト (acl(5) 参照) でオプションのACLエントリーを設定することにより、ファイル に対する個々のユーザー、およびグループのアクセスを許可したり、拒否したりできます。chown と ACL を 併用した場合、ファイルの新しい所有者、またはグループがファイルのアクセス制御リストの user.% または %.group に対応するオプションの ACL エントリーを持っていないと、ファイルのアクセス パーミッション ビットは変更されません。ただし、ファイルの AC Lの中で user.% または %. group のオプション AC Lエン トリーにより、新しい所有者、またはグループがすでに指定されている場合は、chown により、対応する ファイルアクセス パーミッションビット (および対応するベースとなる ACL エントリー) をそのエントリーに 含まれるパーミッションに設定します。 アクセス制御リスト − JFS ファイルシステムのみ ファイルへのアクセスについて、ユーザーは、そのファイルのアクセス制御リストにオプションの ACL エン トリーを設定することで、個々のユーザーやグループのアクセスを許可したり拒否したりすることができます (acvl(5) 参照) chown を JFS ACL と併用している場合は、ファイルの新しい所有者またはグループが、ファ イルのアクセス制御リストの user:uid: perm や group: gid: perm に対応するオプションの ACL エント リー を 保 持 し て い て も、 こ れ ら の エ ン ト リー は ACL に 存 在 す る も の の 実 効 性 を 失 い、 ファ イ ル の user:: perm や group:: perm エントリーが使われます。 オプション chown、と chgrp は、以下のオプションを認識します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 177 chown(1) chown(1) −h シンボリックリンクの所有者、またはグループを変更します。 デフォルトでは、シンボリックリンクが指すターゲットファイルの所有者、およびグループは 変更されます。−h では、シンボリックリンクが指すターゲットファイルは変更されません。 ターゲットファイルがディレクトリの場合で、−h と −R を指定すると、変更の繰り返しは行 われません。 −R 所有者またはグループを繰り返し変更します。ディレクトリを指定するそれぞれの file オペラ ンドについて、ディレクトリの所有者またはグループと、それ以下のファイル階層のファイル およびサブディレクトリは、すべて変更されます。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変数 に対して LANG の値がデフォルトとして使われます。LANG が指定されていないか空白文字列に設定されてい る場合、LANG の代わりにデフォルトの "C" が使われます (lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、chown はすべての国際化変数が "C" に設定されているように 振る舞います。environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 chown および chgrp は以下の値を戻します。 0 >0 正常終了 エラーの発生 例 以下のコマンドは、ファイル jokes の所有者を sandi に変更します。 chown sandi jokes 以下のコマンドは、ディレクトリ design_notes をサーチしてそのディレクトリ内の各ファイルを所有者 mark およびグループ users に変更します。 chown −R mark:users design_notes 警告 シンボリックリンクに対する chown と chgrp のデフォルトの操作が、HP-UX リリース 10.0 から変更され ました。これ以前のデフォルト操作が必要な場合は、−h を使用してください。 178 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 chown(1) chown(1) ファイル /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 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 179 chsh(1) chsh(1) 名称 chsh − デフォルトのログインシェルの変更 構文 chsh login-name [shell] chsh −r files login-name [shell] chsh −r nisplus 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] の場合、ログインシェルは、passwdファイル 内のみ変更されます。 chsh を実行した後、finger を実行し、情報が正しく処理されたことを確認してください。 引き数 login-name ユーザーのログイン名。 shell シェルの絶対パス名。 /etc/shells ファイルが既存の場合、新規のログインシェルは このファイルにリストされている必要があります。このファイルが存在しない場合は、 getusershell(3C) マニュアルエントリーにリストされている標準シェルの1つを指定でき ます。 shell の指定を省略すると、デフォルトの POSIX シェル /usr/bin/sh が採用 されます。 オプション 次のオプションがあります。 −r 操 作 を 適 用 す る リ ポ ジ ト リ を 指 定 し ま す。 サ ポー ト さ れ て い る リ ポ ジ ト リ に は、 files、nis、nisplus および dce があります。 セキュリティ制約 オプションの login-name 引き数を使って他のユーザーのログインシェルを変更するには、適切な権限が必要 です。 180 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 chsh(1) chsh(1) 注記 chsh コマンドは、passwd コマンドへのハードリンクです。 chsh が実行されると、実際には、passwd コマンドがコマンド行に指定された リポジトリ内のユーザーログイン コマンドを変更する適切な引き数で実 行されます。 リポジトリが指定されない場合は、/etc/passwd ファイル内のログインシェルが変更されま す。 ネットワーク機能 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 ロック機構により、同時に多くのユーザーが /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) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 181 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 オプションを参照)。 新しいリビジョンを既存の分岐に追加するには、その分岐上のヘッドリビジョンを呼び出し元でロックしなけ 182 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ci(1) ci(1) ればなりません。そうでなければ、新しい分岐のみ作成できます。ロックが strict に設定されない限り、 この制限はファイルの所有者に対して強制されません (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 が存在し HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 183 ci(1) ci(1) ない分岐を示す場合、その分岐は番号 rev.1 付きの初期リビジョンで作成されます。 注記: トランクの先頭に、リビジョンを追加することはできますが、挿入することはできませ ん。 -s"state" チェックインされたリビジョンの状態を識別子 state に設定します。デフォルトは、Exp で す。 -t[ txtfile ] 記述テキストを RCS ファイルに書き込みます(既存のテキストを削除します)。txtfile を省略 した場合、ci は . のみの行またはCtrl-Dで終わるテキストを、標準入力からユーザーに 求めます。それ以外の場合、説明テキストはファイル txtfile からコピーされます。初期化中 に、-t を与えなくても説明テキストは要求されます。標準入力がターミナルでない場合、プ ロンプトは抑止されます。 -u[ rev ] 保管されたリビジョンがロックされない点を除いて -l に類似します。チェックインの直後 にリビジョンを処理(例えば、コンパイル)したい場合に有効です。 アクセス制御リスト(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 はエラーメッセージで終了します。 184 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ci(1) ci(1) ログメッセージは 2046バイトを超過できません。 約 240 のリビジョンがあるファイルでは、ハッシュテーブルがオーバーフローする可能性があります。古いリ ビジョンの一部が削除されるまで、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) HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 185 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) 186 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 cksum(1) cksum(1) 名称 cksum − ファイルのチェックサムおよびサイズのプリント 構文 cksum [ file ...] 説明 cksum は指定ファイルごとにチェックサムを計算し、標準出力にプリントします。また、ファイルごとのオ クテット数もプリントします。 cksum は 32 ビット巡回冗長検査(CRC) に基づく移植可能なアルゴリズムを使用します。このアルゴリズム は、 sum によって使用される 16 ビットのアルゴリズムよりも広範囲のエラーを検出します (sum(1) を参 照)。CRC は以下の式の和で、x はファイルの各バイトです。 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x7 + x5 + x4 + x2 + x1 + x0 計算の結果は 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) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 187 cksum(1) cksum(1) 標準準拠 cksum: XPG4, POSIX.2 188 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 clear(1) clear(1) 名称 clear − ターミナルスクリーンのクリア 構文 clear 説明 clear はターミナルのスクリーンを可能であればクリアします。まず、ターミナルタイプに対応する環境変 数 TERM 、続いて該当する terminfo データベースを読み込んで、スクリーンのクリア方法を決定します。 ファイル /usr/share/lib/terminfo/?/* ターミナルデータベース ファイル 著者 clear はカリフォルニア大学バークレイ校で開発されました。 参照 terminfo(4) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 189 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 190 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 はつねに キーワード置換を実行します(以下を参照)。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 191 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 192 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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:...$ の後に挿入されます。これは ソースファイル内にログの変更記録を完全な形で保存するのに便利です。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 193 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年以前の日付を受け付けません。 194 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 195 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 は、これらのシーケンスを通常の文字として、逆方向の行移動による重ね打ちが可能とみなし て出力します。ユーザーがテキストにおけるエスケープシーケンスの位置を正確にわかっていない場合、この オプションの使用は適当ではありません 。 多言語化対応 環境変数 LANG は、他言語化対応変数のデフォルト値を設定します。それらのデフォルト値は、未設定かヌルのどちら かです。LANG が未設定かヌルの場合、"C" のデフォルト値 ( lang(5) を参照) が使用されます。多言語対応変 196 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 col(1) col(1) 数に不適当な設定がある場合には、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 オプションは、複数の空 白行が画面に表示されないように、余分なスペースを削除します。 参照 nroff(1), tbl(1), ul(1), man(5) 注記 col が受け付けることのできる入力フォーマットは、nroff で -T37 または -Tlp オプションを指定した ときに生成される出力と一致しています。col の最終的な出力先がハーフラインの移動を解釈できる装置であ れば、-T37 (および col の -f オプション) を、そうでなければ -Tlp を使用してください。 バグ 129行以上をバックアップすることはできません。またページ境界を超えてバックアップすることはできませ ん。 バックスペースと重ね打ちを含め、1行当たりの最大文字数に制限があります。最大文字数の制限は少なくと も 800文字です。 ドキュメントの最初の行よりも前に戻るような、局所的な垂直移動は無視されます。したがって、最初の行に は上付き文字は含められません。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 197 col(1) col(1) 警告 このコマンドは、X/Open 標準から除外される可能性があります。このコマンドを使用しているアプリケー ションは、異機種のシステムへは移植できない可能性があります。 標準準拠 col: SVID2, SVID3, XPG2, XPG3 198 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 comb(1) comb(1) 名称 comb − SCCS デルタの結合 構文 comb [-p SID ] [-clist ] [-o] [-s] file ... 説明 comb は、指定された SCCS ファイルを復元するシェルプロシージャ( sh(1) 参照) を生成します。復元された ファイルは通常、元のファイルよりも小さくなっています。引き数は任意の順序で指定できますが、オプショ ンはいずれも指示した SCCS ファイルにすべて適用されます。ディレクトリを指定すると、 comb は、その ディレクトリにある各ファイルも指定されているものとして動作します。ただし、パス名の最後の要素が s. で始まらない非 SCCS ファイルと読み込み不可能ファイルは表示されずに無視されます。 - を指定すると標 準入力が読み込まれ、標準入力の各行は処理する SCCS ファイル名とみなされます。非 SCCS ファイルと読み 込み不可能ファイルは表示されずに無視されます。また、生成されたシェルプロシージャは標準出力に書き出 されます。 オプション comb は以下のオプションを認識します。各オプションは指定ファイルのみを処理するものとして説明します が、すべてのオプションの効果は各指定ファイルごとに適用されます。 -p SID 保存する最古のデルタの SCCS 識別文字列 (SID) 。古いデルタはすべて再構成された ファイル内では廃棄されます。 -clist 保存するデルタの list ( list の構文については、 get(1) 参照)。その他のデルタはすべ て廃棄されます。 -o get -e が生成されるごとに、このオプションが、作成するデルタのリリース時に再 構成ファイルにアクセスします。それ以外の場合は、再構成ファイルは直前のリリー スしかアクセスすることはできません。 -o オプションを使用すると、再構成 SCCS ファイルのサイズを小さくできます。また、元のファイルのデルタツリー形状も変更 できます。 -s このオプションにより comb は実行中にレポートを作るシェルプロシージャを生成し ます。このプロシージャは実行すると、ファイル名、結合後のサイズ ( ブロック単 位)、元のサイズ (ブロック単位)、パーセンテージの変化を以下のように計算して、 各ファイルごとにそれらの結果をレポートします。 100 ∗ (元のサイズ − 結合後のサイズ) / 元のサイズ このオプションは、すべての SCCS ファイルが結合して実際にどのくらいのスペース がその結合プロセスによって節約されるかを、正確に判定するために使用するようお 勧めします。 オプションを指定しなければ、 comb は、ツリーを保存するのに必要な最小数の祖先とリーフデルタだけを保 存します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 199 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) 200 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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をプリントします)。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 201 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 202 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 は、コマンド検索時に使用する検索パスを決定します。 戻り値 以下の値のいずれかで終了します。 • 異常終了する場合は以下のとおりです。 126 127 command_name によって指定されるユーティリティがありますが、実行可能ではありません。 command ユーティリティでエラーが発生したか、 command_name によって指定されたユー ティリティが見つかりません。 • 異常終了しない場合は以下のとおりです。 command の終了ステータスは、以下の引き数によって指定される、単純なコマンドの終了ステータスと 同じです。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 203 command(1) command(1) command_name[ argument ... ] 例 使用するときは新しいワークディレクトリの名前をプリントする cd コマンドのバージョンをつねに作成しま す。 cd() { command "$@" >/dev/null pwd } 再定義された上記の cd コマンドを回避し、新しいワークディレクトリの名前をプリントすることなく、ディ レクトリを以下のように変更します。 command cd 参照 getconf(1), sh-posix(1), confstr(3C) 標準準拠 command: XPG4, POSIX.2 204 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 compact(1) compact(1) 名称 compact, uncompact, ccat − ファイルの圧縮、展開、出力および連結 構文 compact [name ...] uncompact [name ...] ccat [ file ...] 説明 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 で圧縮されたファイルを展開することなく元のファイルを出力および連結します。 アクセス制御リスト(ACL) アクセス制御リストをインプリメントしたシステムでは、新しいファイルが呼び出し元の有効ユーザーおよび グループ ID で作成されると、元のファイルの ACL は、所有権の全変更内容を反映するために改変されま す。その後、新しいファイルにコピーされます (acl(5) および aclv(5) を参照)。JFS ファイルシステムでは、 compact、uncompact または ccat で作成されたファイルは、親ディレクトリにデフォルトの ACL エント リーがあっても継承せず、オリジナルの ACL を保持します。圧縮または展開前のファイルが JFS ファイルシ ステム上にあり、圧縮または展開後のファイルが HFS ファイルシステム上にある場合 (またはその逆の場合) は、ccat を使うか、compact や uncompact をフィルターとして使うと、オプションの ACL エントリー が失われます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 205 compact(1) compact(1) 警告 短いファイル名のタイプのシステムでは、追加される .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. 206 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 は同じ名前の新しいファイルに置き換えられ、 ファイル名には接尾辞 .Z が追加されて圧縮ファイルであることを示します。 元の所有権、モード、アクセス、および修正時刻は保存されます。file が指定さ れなかったか、または - が指定された場合は、標準入力が圧縮されて標準出力 に出力されます。 uncompress 圧縮された file を元の形式に復元します。生成されるファイルには、元のファ イル名、所有権、およびパーミッションがあり、ファイル名の接尾辞 .Z は削 除されます。file が指定されなかったか、または - が指定された場合は、標準 入力が展開されて標準出力に出力されます。 zcat 圧縮された file を元の形式に復元して、その結果を標準出力に送ります。file が 指定されなかったか、または - が指定された場合は、標準入力が展開されて標 準出力に出力されます。 compressdir フロントエンドプロセッサ。指定した各 directory サブツリーを再帰的にたど り、compress を使用して directory にある各指定ファイルを圧縮します。生 成されるファイルが既存のファイルより小さくなれば、元のファイルは圧縮 ファイルに置き換えられ、ファイル名には接尾辞 .Z が付けられます。ディレ クトリを指定しなければ、圧縮は現在のディレクトリから始まるすべてのファ イルに適用されます。 options には、有効な compress コマンドオプションをどれでも指定できます( これらは compress にそのまま渡されます)。すべてのファイルの圧縮を強行 する場合は、結果が元のファイルより大きくなるときでも、-f オプションを指 定してください。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 207 compress(1) uncompressdir compress(1) compressdir の逆の処理。圧縮ファイルを元の形式に復元します。 options には、有効な uncompress コマンドオプションをどれでも指定できます(これ らは uncompress にそのまま渡されます)。 圧縮量は入力のサイズ、コード当たりの最大ビット数 (maxbits) および共通の副文字列の分散状況によって異 なります。通常、ソースコードや英語文などのテキストは、50 ∼ 60 パーセント縮小されます。圧縮は通常、 ハフマン(Huffman) コーディング (pack で使用されている) または最適ハフマン(Huffman) コーディング (compact) によって達成される圧縮より良好で、計算に必要な時間は少なくなります。 オプション これらのコマンドは、上記の「構文」で示された組合わせで、次のオプションを認識します。 -d -f file を展開します。compress -d は uncompress と同じです。 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 パラメータが、マジッ 208 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 出力ファイル名は、.Z 接尾辞の付いたソースファイル名ですが、これはソースファイルが属すファイ ルシステムには長すぎます。ソースファイル名を短くして再び試みてください。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 209 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ファイルをリス トするには次のように指定します。 210 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 211 convert(1) convert(1) 名称 convert − 音声ファイルの変換 構文 /opt/audio/bin/convert [source_file] [target_file] [-sfmt format] [-dfmt format] [-ddata 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 を使うことが 212 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 convert(1) convert(1) できます。例えば、8k は毎秒 8,000 サンプルという意味です。 -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』 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 213 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 は次のようなコピーを行います。 • 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 と同じファ イル パーミッションビットを持つファイルを新たに作成します。その際、 file1 -p オプションが指定されて いなければユーザーの作成マスクで修正し、その後 S_IRWXU との論理和を取ります。新規ファイルの所有者 とグループはユーザーの所有者とグループになります。 new_file の最終修正時刻 (new_file が存在しない場合 は最後のアクセス時刻) およびソースファイル file1 の最終アクセス時刻は、コピーの実行時刻にセットされま す。 214 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 cp(1) cp(1) オプション -i (対話型のコピー) cp は標準エラー出力にプロンプトを送り、ユーザーによる応答を確認して から、既存ファイルへのオーバライトを行います。標準入力から肯定応答があると、コピー 操作が許可されている限り、ファイルがコピーされます。 -i (対話型のコピー) と -f (強制 コピー) の両オプションを指定すると、 -i オプションは無視されます。 -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 によりデータが無限にコピーされる からです。 UNIX95 フラグが設定されている場合、複数のファイルを存在しないディレクトリにコピー しようとすると、 cp はエラーで終了します。 -R (サブツリーの再帰的コピー) -R オプションは -r オプションと等価です。 -R および -r オプションを指定すると、 cp は、通常のファイルおよびディレクトリに加 えて、 FIFO、キャラクタ型およびブロック型デバイスファイル、およびシンボリックリンク もコピーします。デバイスファイルをコピーできるのはスーパーユーザーだけです。その他 のユーザーはエラーを受け取ります。シンボリックリンクについては、ターゲットがソース と同じ位置を指すように、コピーが行われます。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 215 cp(1) cp(1) 警告: デバイス特殊ファイルのあるディレクトリツリーをコピーするときは、 -r オプション を使用してください。そうでないと、デバイス特殊ファイルからデータが無限に読み取ら れ、そのデータが宛先ディレクトリ中に特殊ファイルとして重複してコピーされるので、 ファイルシステムスペースを大きく占有します。 -e extarg コピーするファイルのエクステント属性の処理方法を指定します。 extarg には、以下の値の いずれか1つを指定します。 warn エクステント属性がコピーできず、ファイルのみコピーした場合に、警告メッ セージを発行します。 ignore エクステント属性をコピーしません。 force エクステント属性がコピーできない場合、ファイルのコピーを取り止めます。 エクステント属性がコピーできないのは、エクステント属性をサポートしていないファイルシステム にファイルをコピーしようとした場合、またはファイルシステムのブロックサイズが元のと異なる場 合です。 -e が指定されない場合、 extarg のデフォルト値は warn です。 -S セーフモードを指定します。 O_DSYNC フラグを設定して対象ファイルをオープンし、シス テム性能への cp の影響を最小限に抑えます。コピーする総サイズ (個々のファイルのサイズ ではない) が、システムのバッファーキャッシュのサイズの大部分を占めるような場合に 推 奨されます。このオプションを指定すると、コピーの所要時間が長くなります。 アクセス制御リスト (ACL) new_file が新規ファイルの場合、または dest_directory 中にファイルを新たに作成する場合は、もとの file1、 file2 などのアクセス制御リストを継承して、両ファイルに見られる所有権の違いを反映するように変更されま す ( acl(5) 参照)。 多言語化対応 環境変数 UNIX95 このコマンドが XPG4 標準準拠の動作を行うことを指定します。 LC_CTYPE により、テキストをシングルバイト、またはマルチバイトのいずれの文字で解釈するかを決定しま す。 LANG および LC_CTYPE により、y (肯定応答/否定応答の確認) に対応する母国語を決定します。 LANG により、メッセージの表示に使用する言語を決定します。 環境に LC_CTYPE を指定していない場合、または空の文字列にセットされている場合は、未指定の変数、ま たは空の変数に対するデフォルトとして、 LANG の値が使用されます。また、 LANG を指定していない場 合、または空の文字列にセットされている場合は、 LANG の代わりに "C" ( lang(5) 参照) がデフォルトとして 使用されます。インターナショナル変数に無効な値がセットされていると、 cp はインターナショナル変数が すべて "C" にセットされているものとして動作します。 environ(5) を参照してください。 216 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 cp(1) cp(1) サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 例 以下のコマンドでは、ディレクトリ 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 使用すると、ファイルのオーバライトに関するパーミッションを確認してきた時点で、モード値の後に + 文 字はプリントされなくなります。 著者 cp は AT&T、カリフォルニア大学バークレー校、および HPで開発されました。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 217 cp(1) cp(1) 参照 cpio(1), ln(1), mv(1), rm(1), link(1M), lstat(2), readlink(2), stat(2), symlink(2), symlink(4), acl(5) 標準準拠 cp: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 218 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 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 を使用する際には、特にこの点に気をつける必要があります。こ のオプションでコマンドを使用すると、ファイルがすべてリンクとして作成され、ブロックが まったく書き込まれていないので、cpio で "0 blocks" と表示される可能性が高くなります (−l オプションの説明は以下を参照)。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 219 cpio(1) cpio(1) オプション 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 の各オプションも参照してください。 220 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 形式でないファイルは読み込み可能にするた HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 221 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) を参照して ください。 222 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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/rmt/c0t0d0BEST 次例では、ディレクトリ階層を複写します。 cd olddir find . −depth −print | cpio −pd newdir find . −depth −print | cpio −oB >/dev/rmt/c0t0d0BEST は、次のようにすると、より効率よく処理することができます。 find . −cpio /dev/rmt/c0t0d0BEST HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 223 cpio(1) cpio(1) 警告 業界標準に準拠し相互運用性を確保するために、 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 はシンボリックリンクのターゲット (リンクそのものではなく) を使用 します。 参照 ar(1), find(1), tar(1), cpio(4), acl(5), environ(5), lang(5), regexp(5) 224 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 cpio(1) cpio(1) 標準準拠 cpio: SVID2, SVID3, XPG2, XPG3 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 225 cpp(1) cpp(1) 名称 cpp − C言語プリプロセッサ 構文 /usr/ccs/lbin/cpp [option ...] [ifile [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 を省略した場合、結果は標準エラーに出力されます。 226 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 cpp(1) cpp(1) -Idir 名前が / で始まらない #include ファイルを探すアルゴリズムを、標準リストにあ るディレクトリを探す前に dir を調べるように変更します。したがって、名前が二重 引用符 ("") で囲まれている #include ファイルは、最初に #include 行のある ファイルのディレクトリ、次に左から右順の -I オプションで指定されているディレ クトリ、最後に標準リストのディレクトリから探されます。名前がかぎ括弧 (<>) で 囲まれた #include ファイルの場合、 #include 行のあるファイルのディレクト リが探されません。ただし、ディレクトリ dir は、引続き探されます。 -M[ makefile ] メイクファイルの依存関係を定義し、その結果を makefile というファイルに出力し ます。引き数 makefile を省略した場合、結果は標準エラーに出力されます。. -P Cコンパイラの次のパスによって使用される行制御情報を作成せずに、入力をプリプ ロセッシングします。 -T HP-UX はプリプロセッサシンボルを8文字までに制限しません。 -T オプションに より、 cpp は、異なるプリプロセッサ名を区別するために最初の8文字のみを使用 します。この動作は、名前の長さに関してはその他のシステムのプリプロセッサと同 じであり、互換性のために含まれています。 -Uname name の初期定義を削除します。ただし、 name は特定のプリプロセッサによって事 前に定義されている予約シンボルです。これらのシンボルの現在のリストとしては、 以下のものがあります。 オペレーティングシステム: ハードウェア: unix _ _unix hp9000s200 hp9000s300 hp9000s500 hp9000s800 _ _hp9000s800 hp9000ipc hppa _ _hppa _PA_RISC1_0 _PA_RISC1_1 _SIO hpux _ _hpux _HPUX_SOURCE PWB _PWB lint _ _lint _ _hp9000s300 _WSIO UNIX システムのバリエーション: lint(1): さらに、アンダースコアおよび大文字英字または2つののアンダースコアのいずれか で始まるシンボルはすべて予約されています。その他のシンボルは、 CCOPTS 変数 またはCコンパイラに対する他のコマンド行オプションによってコンパイル時に定義 することができます( cc(1) を参照)。すべての HP-UX システムでは、シンボル PWB, hpux, unix, _PWB, _ _hpux, および _ _unix が定義されています。各システムで、 最適な、少なくとも1つのハードウェアバリエーションを定義します。 lint(1) の動 作時には lint シンボルが定義されます。 制約を参照してください。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 227 cpp(1) cpp(1) 2つの特殊な名前が cpp によって理解されます。 _ _LINE_ _ は、 cpp によってカウントされている現在の 行番号(10進整数)として定義されます。 _ _FILE_ _ は、 cpp によって知られている現在のファイル名(C文 字列)として定義されます。これらは、別の定義済みの名前とちょうど同じように (マクロ内を含む)任意の位 置で使用することができます。 指令 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 言語によって定義された順位 と同じです。 228 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 cpp(1) cpp(1) また、単項演算子 defined もあります。これは、次の2つの形式 defined(name) または defined name により constant-expression で使用できます。これにより、 #if 指令で #ifdef と #ifndef を使用することができます。 cpp が対応可能なこれらの演算子、整数定数、および名前のみを constant-expression で使 用するようにしてください。特に、 sizeof 演算子は利用できません。 #ifdef name 次の行は、事前に #define によって name が定義され、間に #undef が定義されていない 場合に限り、出力が現れます。 #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 が指定されていな HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 229 cpp(1) cpp(1) かったり、空の文字列が指定されている場合のデフォルト値は、"C"( lang(5) を参照)です。国際変数のいずれ かの設定が不適切な場合には、 cpp はすべての国際変数が"C" に設定されているものとして動作します。 environ(5) を参照してください。 サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 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 230 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 crontab(1) crontab(1) 名称 crontab − ユーザージョブファイルのスケジューラ 構文 crontab [ file] crontab −e [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 -e [username] ユーザーの crontab ファイルのコピーを編集し、crontab ファイルが存在 しない場合は編集用に空のファイルを作成します。編集が完了すると、 ファイルは crontab ファイルとして crontab ディレクトリにコピーされま す。 crontab -l [username] ユーザーの crontab ファイルをリストします。 crontab -r [username] crontab ディレクトリからユーザーの crontab ファイルを削除します。 特権ユーザーだけが、 -e、-l、-r オプションの後に username を使用して、特定のユーザーの crontab ファイ ルを編集、リストあるいは削除することができます。 crontab ファイルは、各行6フィールドで構成されます。フィールドは、スペースまたはタブで区切られま す。各行の形式は次のとおりです。 minute hour monthday month weekday command 最初の5フィールドは、第6フィールドの command を実行する日時を指定する整数パターンです。各フィー ルドの値は次の範囲で指定できます。 minute 分 0−59 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 231 crontab(1) crontab(1) hour 時間 0−23 monthday 日 1−31 month 月 1−12 weekday 曜日 0−6, 0=Sunday 各パターンには、アスタリスクで (*) すべての有効値を指定することも、各要素をそれぞれカンマで区切って リストすることもできます。要素には、上記の範囲内にある値を1つ指定しても、また上下の範囲を表す値を 2つ指定 (上限値と下限値も含む) して間にハイフンを置いてもかまいません。なお、日にちの指定は2つの フィールド (monthday と weekday) に分けることもできます。1つのエントリーに両方を指定する場合は、 両方とも有効になります。たとえば、 0 0 1,15 * command 1 の場合、 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エントリーの中で、あるいはこのエントリーで呼び出すスクリプトの中で明 示的に実行する必要があります。 /usr/lib/cron/cron.allow ファイルに該当する名前がある場合は、 crontab を実行することができま す。 こ の ファ イ ル が 存 在 し な い 場 合 で、 /usr/lib/cron/cron.deny に 該 当 す る 名 前 が な け れ ば、 crontab を使用することができます。 cron.deny だけが存在し、これが空白の場合は、すべてのユーザー が crontab を使用できます。いずれのファイルもない場合は、 root ユーザーだけが crontab を使用で 232 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 crontab(1) crontab(1) きます。 allow/deny ファイルは、1行に1つのユーザー名で構成されます。 多言語化対応 環境変数 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 ファイルのあるディレクトリ 参照 sh(1), cron(1M), queuedefs(4) 標準準拠 crontab: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 233 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 $ 234 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 235 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 のコマンドも すべて標準出力にエコーされるようになります。 236 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 237 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 を指定することはできません。 238 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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) も参照してください。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 239 csh(1) csh(1) else 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: の形式の行を、前に空白やタブが 240 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 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 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 241 csh(1) csh(1) kill - sig % job ... kill pid 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 のインスタ 242 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 csh(1) csh(1) ンスによって引き下げることができますが、これを引き上げることができるのは実効ユー ザーIDが root のインスタンスだけです。詳細情報に関しては、 ulimit システムコールのド キュメンテーションを参照してください。 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 を設定してお くと自動的にこの動作設定となります。 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 243 csh(1) csh(1) onintr [ - ] [ label ] 割り込み時のシェルの動作を制御します。引き数なしで onintr を実行すると、シェルの割り 込み時の動作がデフォルト (シェルスクリプトの終了またはターミナルコマンド入力レベルへ の復帰) に戻ります。 - を指定すると、すべての割り込みが無視されるようになります。 label を指定すると、シェルに割り込みが発生したり、子プロセスが割り込みによって終了し た際に、シェルは goto label を実行します。 シェルがバックグラウンドで実行中で、割り込みが無視される状態の場合には、 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でも同じです)。 244 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 csh(1) csh(1) set set name set name=word set name[ index ]=word set name=( wordlist ) 第1の形式で set を実行すると、すべてのシェル変数の値が表示されます。値が1個のワー ドでない変数については、小かっこで囲んだ形のワードリストとしてプリントされます。第 2の形式は、 name の値として空の文字列を設定します。第3の形式は、 name の値として word (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 ... ] バックグラウンドで実行中の現在のジョブ (引き数なしの場合)、または指定されたジョブを 停止させます。 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 245 csh(1) csh(1) suspend 一時停止シグナルを送った場合と同様に csh を停止させます。通常、 csh は 一時停止シグ ナルを無視するため、このコマンドがシェルを一時停止させる唯一の方法です。ログイン シェルからこのコマンドを実行するとエラーメッセージが表示されます。 switch (string) case str1: ... breaksw ... 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 に一致する既存のエイリアスが ない場合にもエラーにはなりません。 246 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) unhash 実行するプログラムの位置の検索を高速化するための内部ハッシュテーブルの使用を抑止し ます。 unset pattern 指定された pattern に名称が一致するすべての変数を削除します。したがって、 unset * を実行するとすべての変数が削除され、その後の操作に大きな支障が生じます。 pattern に 一致する変数がない場合にもエラーにはなりません。 unsetenv pattern 指定された pattern に一致するすべての変数が環境から削除されます。前述の setenv コマ ンドと printenv(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ワードとして解釈されてしまいます。 HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 247 csh(1) csh(1) 特殊なポストフィックス演算子の ++ または -- を指定すると、 name はそれぞれ1だけ増 分または減分されます (たとえば、 @ i++)。 非組み込みコマンドの実行 実行するコマンドが組み込みコマンドでない場合、 csh は exec(2) によってコマンドを実行しようとします。 シェルがコマンドを捜すディレクトリは、変数 path 中の各ワードによって指定されます (コマンドが / で始 まっている場合を除く)。 -c と -t のいずれも指定されていない場合、シェルは、このようなディレクトリ 内のファイル名についてハッシュ値を算出し、その値を内部のハッシュテーブルに格納します。これにより、 目的のコマンドが存在する可能性のないディレクトリに対しては exec を実行せずに済むようになります。検索 パスに多数のディレクトリが指定されているときには、この方法でコマンドの検索時間が大幅に短縮されま す。このメカニズムが (unhash によって) オフになっている場合、あるいは -c または -t が指定された場 合、あるいは 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 が実行されてスクリプトファイルを解釈します。 248 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 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番目のワードから最後のワードまで % 検索パターンの文字列とともに使用し、直前の一致したワードに置き換えます。 コマンド指定とワード指示子を区切るコロンは、引き数のセレクタが、 ˆ, $, *, - または % で始まっている 場合には、省略可能です。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 249 csh(1) csh(1) 各ワード指示子の後には一連の修飾子を指定できます (各修飾子の前にはコロンを付けます)。指定できるのは 以下の修飾子です。 h パス名の最初の構成要素だけを使用し、その後の構成要素はすべて除去します。 r ファイル名から後続のサフィックス (.xxx) を除去し、ファイル名の基本部分だけを使用します。 e ファイル名の基本部分を除去し、最後のサフィックス (.xxx) だけを使用します。 s /l/r 指定されたコマンドの中の値 l を r の値で置き換えます。 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 のスペルミスを訂正できます。 250 Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) ヒストリ置換の指定を後続の文字と区別する必要がある場合には、その部分を中かっこ { } で囲むことがで きます。したがって、 ls -ld ˜paul の後で、 !{l}a と入力すれば、 ls -ld ˜paula を実行できます。もし、この指定の代わりに !la と入力すると、 la で始まるコマンドが検索されてしまい ます。 シングルおよびダブルコートを用いた引用 引用符 (´) ( " ) を使用して文字列を引用することにより、それ以降の全部または一部の置換を抑止することが できます。シングルクォーテーションで囲まれた文字列に対しては、以後、解釈は実行されません。ダブル クォーテーションで囲まれた文字列は、まだ後述の変数およびコマンド展開の対象となります。 いずれの場合も、置換の結果として生成されるテキストは、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) を用いて引き数をラインプリンターにプリントするコマンドを作成することができます。 HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 251 csh(1) csh(1) 式 組み込みコマンドの一部は、式を引き数として取りますが、式の中では、C と同様の演算子を同様の優先順位 で使用できます。式は、 @、 exit、 if および while の各コマンドで使用されます。以下に、使用できる 演算子を優先順位の低いものから順にリストします。 || && | ˆ & == != =˜ !˜ <= >= < > << >> + - ∗ / % ! ˜ ( ) 次に、上記の演算子を分類して、優先順位の高い方から順にリストします。 * / % + << >> <= >= < > == != =˜ !˜ 演算子 ==、 !=、 =˜ および !˜ は、引き数を文字列として比較します。これ以外はすべて数値に対する演 算です。演算子 =˜ と !˜ は != と == に類似していますが、相違点は右辺に 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 を調べる必要があります。 252 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) フローの制御 csh には実行制御コマンドが用意されており、コマンドファイル (シェルスクリプト) の中で、またターミナ ル入力から (限定的ながら有用な方法で) 使用することができます。これらのコマンドは、いずれもシェルに入 力の一部分を再読み取りまたはスキップさせるという方式でその機能を実現しているため、一部のコマンドに ついては指定位置に制約が生じています。 foreach、 switch、 while 文、および、 if 文の if-then-else の形式のものでは、その主要キーワー ドを1つの単純コマンドの形で入力行に指定する必要があります (前述の各コマンドの項を参照)。 シェルの入力がシーク可能でない場合、シェルはループの読み取りの際に入力をバッファーに格納しておき、 この内部バッファー内でシークを実行してループで必要な再読み取りを実現します。 ( この方式で可能な限 り、シーク不可能な入力に対しても逆方向の goto が実行できます)。 シグナルの処理 csh は、通常、停止シグナル quit を無視します。バックグラウンドモードで実行中のジョブは、ハングアッ プを含め、キーボードから生成されたシグナルには反応しません。その他のシグナルの値は、シェルがその親 から継承した状態のままです。シェルスクリプト内での割り込みシグナルと終了シグナルの csh の処理は、 onintr によって制御できます。ログインシェルは終了シグナル terminate をキャッチします。ログインシェル でない場合、このシグナルはシェルの親プロセスの状態から子プロセスに渡されます。ログインシェルがファ イル .logout を読み取っているときには、割り込みはすべて抑止されます。 コマンド行の解析 csh は入力行を空白とタブの位置でワードに分割します。ただし、以下に示した例外 (パーサーのメタキャラ クタ) は、つねに別個のワードとして解釈されます。 & アンパサンド | 縦棒 ; コロン < 左向き不等号 > 右向き不等号 ( 左小かっこ ) 右小かっこ && 二重アンパサンド || 二重の縦棒 << 二重の左向き不等号 >> 二重の右向き不等号 # コメントデリミタ バックスラッシュ (\) は、上記のパーサーメタキャラクタから特殊な意味を取り除きます。前にバックスラッ シュが付いたパーサーメタキャラクタは、その ASCII 値で解釈されます。前にバックスラッシュが付いた改 行文字 (ASCII 10) は空白として扱われます。 引用符 (シングルクォーテーションまたはダブルクォーテーション) で囲んだ文字列は、ワードの一部分となり HP-UX 11i Version 2: December 2007 − 18 − Hewlett-Packard Company 253 csh(1) csh(1) ます。この文字列の中にメタキャラクタまたは空白やタブが含まれていても、別個のワードにはなりません。 2つのバックスラッシュまたは2つの引用符の間に、バックスラッシュが前に付いた改行がある場合には、本 来の改行文字として扱われます。 csh の入力がターミナル以外の場合には、 # の文字から改行までがコメントとして処理されます。 CSH の変数 csh は一群の変数を保持し、管理しています。各変数は、0個以上の文字列 ( ワード) から構成される値を 持っています。変数には名称があり、各変数名は英字で始まる 80字以内の英数字です。アンダースコアも英字 と見なされます。 set コマンドと unset コマンドを用いて、変数の値の表示と変更ができます。一部の変 数は論理型です。シェルは論理型変数の値は無視し、設定されているかどうかだけを検査します。 一部の演算は、変数を数値として処理します。単価記号 (@) コマンドを使用すれば、数値計算を実行して、そ の結果を変数に代入することができます。空の文字列は0と見なされ、複数ワードの値では2番目以降のワー ドは無視されます。 入力行のエイリアス置換と構文解析の終了後、各コマンドの実行前に、ドル記号 ($) で表される変数の展開が 行われます。ドル記号の前にバックスラッシュ (\) を付けると変数の展開は抑止されます。ただし、例外とし て、ダブルクォーテーション (") 内では 必ず置換が実行されます。シングルクォーテーションで囲まれた変数 はまったく展開されません。シングルクォーテーションで囲まれた文字列は後で解釈され(「コマンドの置換」 の項を参照)、変数の置換がある場合でもその時点で初めて実行されます。ドル記号の後に空白、タブ、または 行末文字が続く場合、ドル記号は展開されずにそのまま渡されます。 入出力のリダイレクト指定は、変数の展開により前に認識され、他の部分とは別個に変数展開されます。これ 以外は、コマンド名と引き数リスト全体が一緒に展開されます。 ダブルクォーテーションで囲まれている場合と :q 修飾子が指定されている場合を除いて、変数の置換結果に 対しては、その後さらにコマンドとファイル名の置換が実行されます。ダブルクォーテーションで囲まれてい る場合、変数の値が複数ワードでも、展開の結果は、変数の値を空白で区切った形で1ワードの一部分となり ます。 :q 修飾子が置換に適用された場合、変数が複数ワードに展開されると、各ワードは空白で区切られ、 引用されて以後のコマンド置換とファイル名置換が抑止されます。 以下のメタシーケンスを使用することにより、変数の値をシェルの入力に取り込むことができます。特に注記 した場合を除き、未設定の変数を参照するとエラーになります。 $variable_name ${variable_name} このシーケンスは、解釈された時点で、変数 variable_name の値を構成するワードに置き 換えられます (各ワードは空白で区切られます)。中かっこによって variable_name と後続 の文字を区切ることができます。中かっこを指定しないと後続の文字も変数名の一部と見な されます。 variable_name が csh 変数ではない場合でも、環境で設定されていれば、その値が使用さ れます。 csh 変数でない変数 (Non-csh) は、後述するように変更できません。 254 Hewlett-Packard Company − 19 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) $variable_name[selector] ${variable_name[selector]} この変換指定形式によって、 variable_name の値から一部のワードだけを選択できます。 セレクタは変数置換の対象となり、1つの数字、またはダッシュでつないだ2つの数字を指 定できます。変数の値の最初のワードは、番号 1 で示されます。範囲の最初を示す番号を 省略すると、 1 と解釈されます。範囲の最後を示す番号を省略すると、その変数内のワー ド数の合計 ($#variable_name) になります。セレクタにメタキャラクタのアスタリスクを使 用すると、全ワードが選択されます。 $#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 の最初の実行時) のみに行われます。これらの変数は、ユー HP-UX 11i Version 2: December 2007 − 20 − Hewlett-Packard Company 255 csh(1) csh(1) ザーが明示的に変更しない限り不変です。 csh は HP-UX の環境変数 USER をシェル変数の user にコピーし、同様に、環境変数 TERM を term に、環境変数 HOME を home に、 PATH を path にそれぞれコピーします。 csh 変数が再設定されると、 これらの値は必ず csh によって環境に戻されます。 ウィンドウ環境で csh が、ウィンドウの大きさが変更されたことを認識すると、 csh は、新しいウィンド ウの大きさに応じて LINES と COLUMNS の環境変数を設定します。 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 は終了します。 256 Hewlett-Packard Company − 21 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) mail この変数には、 csh がメールの有無を調べるファイルのリストが設定されます。 csh は、定期的に (デフォルトでは 10分ごとに)、コマンドの終了と次のプロンプト を表示する間に、この変数をチェックします。この変数に指定されているファイルの 中に、前回のチェック以降に変更されたファイルがある (つまりそのファイルにメー ルが保存された) 場合、 csh は You have new mail とプリントします。 mail の値の最初のワードが数値であれば、その数値はメールをチェックする時間間 隔を秒単位で表したものと解釈されます。 複数のメールファイルが指定されている場合、シェルは 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 この変数によって、独自のプロンプト文字列を指定できます。プロンプトは、対話形 式のターミナル入力からコマンドが読み取られる前に表示されます。この文字列の中 に! があると、その前に \ を付けた場合を除いて、コマンドヒストリバッファー の現在のイベント番号に置き換えられます。デフォルトのプロンプトは、一般ユー HP-UX 11i Version 2: December 2007 − 22 − Hewlett-Packard Company 257 csh(1) csh(1) ザーではパーセント記号 (%)、スーパーユーザーでは # の文字です。 savehist ユーザーがログアウトしたときに ˜/.history 内に保存されているヒストリリスト の行番号。 savehist の値が大きいと、 csh の起動がスローダウンします。 shell この変数には、 csh プログラムが格納されているファイルの名称が設定されていま す。実行ビットが設定されているのにシステムが実行できないファイルがある場合、 この変数を使用してシェルをフォークし、そのファイルの解釈を実行します (「非組 み込みコマンドの実行」の項を参照)。 status この変数には、直前のコマンドが戻したステータス値が設定されます。コマンドが異 常終了すると、status 変数の値に 0200 が加算されます。異常終了した組み込みコマ ンドは exit ステータス 1 を戻し、それ以外の場合組み込みコマンドはステータス 0 を戻します。 time この変数には、コマンドの自動時間計測機能を制御する数値が設定されます。この変 数が設定されている場合には、指定された秒数を超える cpu 時間を消費したすべての コマンドについて、 csh は、ユーザー時間、システム時間、実行の実時間、および 利用率を示す1行の情報をユーザーの標準出力デバイスにプリントします。利用率 は、実時間に対する、ユーザー時間とシステム時間の合計の割合を表します。この メッセージは、コマンドの実行終了後にプリントされます。 verbose この変数は、コマンド行オプションの -v によって設定されます。この変数を設定す ると、各コマンドを構成するワードが、ヒストリ置換の実行後に標準出力デバイスに プリントされます。 コマンドおよびファイル名の置換 以上で説明した置換以外に、コマンドとファイル名の置換があります。この置換は、組み込みコマンドの引き 数に対して選択的に適用されます。つまり、式の中で評価対象にならない部分は、この置換 (展開) の対象にな りません。 シェルの内部コマンド以外のコマンドでは、コマンド名は引き数リストとは別に置換されます。この置換は、 遅い段階で発生し、入出力のリダイレクトの実行後にメインシェルの子プロセスの中で行われます。 コマンドの置換 コマンドの置換は、バッククォーテーション (‘...‘) で囲まれたコマンドに対して行われます。このようなコマ ンドからの出力は、通常、空白、タブ、および改行の位置でワードに分割され (空のワードは無視されます)、 そのテキストがもとの文字列に置き換わります。ダブルクォーテーションの中では、改行のみがワードの区切 りとして解釈され、空白とタブはそのまま残されます。 どんな場合でも、最後の単一の改行は新しいワードの始まりとは解釈されません。したがって、コマンドが完 全な1行を出力する場合でも、コマンドの置換結果を単なるワードの一部とすることが可能になります。 258 Hewlett-Packard Company − 23 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) ファイル名の置換 コマンドの各 word は、ファイル名の置換 (globbing とも呼ばれます) の対象となるパターンとして処理さ れ、そのパターンと一致するファイル名のソート済みリストに置き換えられます。パターンの形式は regexp(5) で定義されているパターンマッチング表記法に従いますが、次の例外があります。 • 一致しないパターンを大かっこの中にリストする表記はサポートされていません。 • ワードのリストの形式でファイル名の置換を指定する場合、どのパターンも既存ファイルに一致し なければエラーになりますが、各パターンについて一致するファイルがそれぞれ存在する必要はあ りません。 • メタ表記法の 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 間の行に対しては変数とコマンドの置換 が行われますが、 \ によって $、 \、および ‘ を引用することは可能です。置換後 のコマンドには、空白, タブ, 改行がすべてそのまま残されますが、最後の改行だけは 削除されます。結果のテキストは無名のテンポラリファイルに格納され、このファイ ルの内容がコマンドの標準入力になります。 HP-UX 11i Version 2: December 2007 − 24 − Hewlett-Packard Company 259 csh(1) csh(1) > name >! name >& name >&! name ファイル name が標準出力として使用されます。ファイルが存在しない場合には作成 され、存在している場合にはファイルの大きさは0になり、既存の内容が失われま す。 変数 noclobber が設定されている場合には、まだ存在していないファイルまたは キャラクタスペシャルファイル (たとえば、ターミナルや /dev/null) を指定しなけ ればなりません。それ以外のファイルを指定するとエラーになります。これは、誤っ てファイルを破壊するのを防止するためです。ただし、この場合でも、感嘆符 (!) を 付ける形式を使用すれば、このチェックを抑止できます。 アンパサンド文字 (&) を付ける形式を使用すると、標準出力だけでなく標準エラー出 力も指定のファイルに送られます。 name は < 形式での入力ファイル名と同様に展 開されます。 >> name >>& name >>! name >>&! name ファイル name を、 > と同様に標準出力として使用しますが、出力はファイルの最 後に追加されます。変数 noclobber が設定されている場合には、ファイルが存在し ないとエラーになります。ただし、 ! の形式を使用するとエラーにはなりません。 それ以外は > と同様です。 コマンドは、シェルが起動されたときの環境を受け取りますが、入出力パラメータの指定や、コマンドをパイ プラインの中で実行したことなどによって、一部変更された形で渡されます。したがって、従来の一部のシェ ルとは異なり、シェルスクリプトから実行されたコマンドは、デフォルトのままではそのコマンド用のテキス トにアクセスできず、シェルのもとの標準入力の方を受け取ります。このような場合、スクリプト内のインラ インデータを参照させるには、 << のメカニズムを使用する必要があります。これにより、シェルスクリプト をパイプラインの構成要素と同様に動作させ、入力を読み取るためにシェルをブロックさせることが可能とな ります。 診断出力は、標準出力とともにパイプに送ることができます。単に、 | の代わりに |& を使用してくださ い。 CSH のユーティリティ ファイル名の完成 コマンドの引き数としてファイル名をタイプするときには、ファイル名全体をタイプする必要はなく、その ファイル名を一意に特定できるところまでの省略形で十分です。指定した省略形と一致するファイル名を確認 したくなったら、 ESC キーを押してください。システムがファイル名を完成させてターミナルに完全なファ イル名を表示します。タイプしたファイル名の先頭部分と一致するファイル名がない場合には、ターミナルの ベルが鳴ります。一致するファイルが複数ある場合には、ファイル名は部分的に補完されます。この場合に 260 Hewlett-Packard Company − 25 − HP-UX 11i Version 2: December 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 内 でのインデックスを表す数字も表示されます。 HP-UX 11i Version 2: December 2007 − 26 − Hewlett-Packard Company 261 csh(1) csh(1) 自動ログアウト 新しいシェル変数 autologout が追加されています。これは、シェルのトップレベルでターミナルの待機中 (文字入力がない状態) が、 autologout に指定された値よりも長い時間 (分単位) 継続すると、自動的にログ アウトする機能です。コマンドの実行中は、 autologout の機能が一時的に抑止されます。 autologout の初期値は 600 です。この変数の設定を解除した場合、または値として0を設定した場合には、 autologout の機能は全面的に抑止されます。 コマンド行の制御 ˆ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 で実行できるようにな ります。 262 Hewlett-Packard Company − 27 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 警告 .cshrc ファイルは、標準出力や標準エラー出力に、まったく出力を生成しないように作成する必要がありま す ( 関連するターミナルなしで実行される場合も同様です)。 rcp(1) を実行すると、 .cshrc が source に よって読み取られるため、 .cshrc ファイルが出力を生成すると、標準エラー出力への出力であっても、問 題が発生します。したがって、 stty(1) などのコマンドは、コマンドからの出力によって rcp(1) が混乱しない ように、 .cshrc ではなく .login の中に入れておく必要があります。 csh には一定の制限があります。各ワードは 1024 文字以下でなければなりません。ワードと環境変数は、 10240文字以下でなければなりません。引き数リストは 10240文字に制限されています。ファイル名の展開を 伴うコマンドに対する引き数の個数は、引き数リストに許されている文字数の6分の1に制限されています。 引き数リストに許されている文字数を超えるような文字列を生成するコマンド置換は実行できません。 ループを検出するため、1行内での エイリアスの置換は 20 に制限されています。 csh は、停止していたコマンドが実行を再開する際、コマンド起動時のディレクトリが現在のディレクトリと 異なっていると、起動時のディレクトリをプリントします。しかし、ジョブが内部的にディレクトリを変更し ている場合もあるので、これは誤解を招きやすい (要するに誤った) メッセージです。 シェルの組み込み関数は、途中では停止も再開もできません。また、 a ; b ; c の形式のコマンドシーケン スを停止させようとしても、意図した結果は得られません。 b を中断させても、シェルはただちに c を実行 してしまいます。このコマンドシーケンスが エイリアス置換の結果である場合には、特に問題となります。対 処としては、一連のコマンドをかっこの中に入れた形式 ( a ; b ; c ) にして、サブシェルとして実行さ せる方法が適当です。 csh のシグナル処理の関係で、コマンドの実行直前には割り込みが抑止され、コマンドの実行が始まると抑止 が解除されます。そのため、コマンドの入力から割り込みの認識までの間に、数秒程度の遅れが生ずることが あります。 プロセス開始後の tty 出力に対する制御はやや原始的です。ここは、やはり優れた仮想ターミナルインタ フェースを使用したくなるところです。仮想ターミナルインタフェースを使用すれば、出力制御ではるかに便 利な操作が可能になるはずです。 エイリアスの置換は、ほとんどの場合、シェルプロシージャをシミュレートするために、扱いづらい形で使用 されています。エイリアスのかわりにシェルプロシージャを用意すべきでしょう。 ループ内で ? プロンプトに応じて入力したコマンドは history リストには保存されません。本来ならば、制 御構造は組み込みコマンドとして認識されるのではなく、構文として解析されるべきです。そうすれば、制御 コマンドを任意の位置に入れることが可能となり、また | との組合せや、メタ構文の & や ; とともに使用 することも可能になるはずです。 コマンド置換の出力に : 修飾子が使用できないのは問題です。また、 $ の置換に対しては、すべての : 修 飾子を複数指定できるのが本来の姿です。 HP-UX 11i Version 2: December 2007 − 28 − Hewlett-Packard Company 263 csh(1) csh(1) ターミナルの種類は、ユーザーが認識しようとしない限り検査されません。 PATH のディレクトリから取り出せるコマンドを全部リストしたい場合には、 [Space]-[Ctrl]-[D] とタ イプしてください。 csh のメタシーケンス !˜ は機能しません。 国際環境において、文字の順序は、マシンの照合順序による文字の値のバイナリ順ではなく、 LC_COLLATE の設定によって決定されます。その副作用として、文字の順序に関連した操作に危険が伴うことがあり、特に ファイル名生成パターンの中で範囲を表す式を用いるときに問題となります。たとえば、コマンド 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 制御文などが正常に動作しないことがあります。 264 Hewlett-Packard Company − 29 − HP-UX 11i Version 2: December 2007 csh(1) csh(1) 非対話形式のシェルは、起動時に ˜/.history を読み込みません。スクリプトで必要な場合は、 source コマンドを使って明示的に ˜/.history ファイルを読み込む必要があります。 著者 csh は、カリフォルニア大学バークレイ校および HP で開発されました。 ファイル ˜/.cshrc 各シェルが起動時に source によって取り込む (実行する) csh のスクリプト (「警告」の項を参照) ˜/.history 起動時に対話型のシェルによって読み込まれる csh スクリプト (「警告」の項を参照) ˜/.login ログイン時にログインシェルが .cshrc の後で source によって取り込む (実行する) csh のスクリ プト ˜/.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 2: December 2007 − 30 − Hewlett-Packard Company 265 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 から xx NN のデフォルトファイル名が使用されま す。file は以下のように分割されます。 デフォルト プリフィックス付き ファイル名 ファイル名 xx00 prefix00 fileの先頭から、arg1により参照される行(しかし、この行 xx01 prefix01 arg1により参照される行から、arg2により参照される行ま 内容 は含まれません)まで。 で。 . . . xxNN prefixNN argnにより参照される行から、fileの終端まで。 file 引き数が - の場合、標準入力が使用されます。 csplit は基本正規表現の構文をサポートします (regexp(5) を参照)。 オプション csplit は以下のオプションを認識します。 -s すべての文字カウントのプリントを抑止します (csplit は通常、作成されたファイ ルごとに文字カウントをプリントします)。 -k 以前に作成されたファイルをそのままにしておきます (csplit は通常、エラーが発 生すると作成されたファイルを削除します)。 -f prefix 作成されたファイル prefix00 から prefixNN に名前を付けます(デフォルトは xx00 から xx NN です)。 -n number 出力ファイル名のサフィックスの桁数は、デフォルトの 2 ではなく number の桁数 を使用します。これにより、100個を超える出力ファイルを作成できます。 csplit の引き数 (arg1 から argn) は、以下の任意の組合わせが可能です。 266 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 csplit(1) csplit(1) /regexp/ 現在の行から正規表現 regexp に一致する行(その行は含まない)までのセクションを 含むファイルを作成します。新しい現在の行は regexp に一致する行になります。 /regexp/+n /regexp/-n 現在の行から正規表現 regexp に一致する前へ (-n) n 番目または後へ (+n) n 番目の 行 ( その行は含まない ) までのセクションを含むファイルを作成します ( 例えば、 /Page/-5)。新しい現在の行は、の行に一致するものになります。 %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 2: December 2007 −2− Hewlett-Packard Company 267 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 268 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 269 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) 270 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 271 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 エントリーは、見つかった最初の名前に対 してのみ作成されました。 272 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 273 ctags(1) ctags(1) 著者 ctags はカリフォルニア大学バークレー校で開発されました。 ファイル tags 出力タグファイル OTAGS -u により使用されるテンポラリファイル 参照 ex(1), vi(1) 標準準拠 ctags: XPG4 274 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 cu(1) cu(1) 名称 cu − 別の(UNIX)システムの呼び出し(ターミナルエミュレータ) 構文 cu [-s speed ] [-l line ] [-h] [-q] [-t] [-d level ] [-e -o] [-m] [-n] [ telno systemname dir ] XPG4 構文: 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 (XPG4 の場合のみ) 診断トレースを印刷します。レベルは常に 9 となります。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 275 cu(1) cu(1) -e (-o) リモートシステムに送られるデータの偶数(奇数)パリティを生成します。 -m モデム制御がある直接回線を指定します。モデム制御は、 cu から無視されます。 -n cu がダイアルする電話番号を、コマンド行から取るのではなく、ユーザーから対話 的に入力するように要求されます。 telno 自動ダイヤルを使用する際、 telno は電話番号で、2次発信音については等号を telno 文字列にマイナス記号を付けると適切に遅延されます。 systemname UUCP システム名が電話番号の代わりに使用できます( uucp(1) を参照)。この場合、 cu は、 /etc/uucp/Systems で(適切なボーレートを含めて)適切な直接回線また は電話番号を調べます。 cu は、接続されるか、またはすべてのエントリーが試され るまで、 Systems ファイルの systemname に対して各電話番号または直接回線に ダイヤルします。 dir dir を使用すると、 cu が -l オプションによって指定された回線を使用するよう にできます。 接続後、 cu は次の2つのプロセスとして動作します。 • transmit プロセスは、標準入力からデータを読み取り、 ˜ で始まる行を除いて、リモートシステ ムに渡します。 • receive プロセスは、リモートシステムからデータを受け取り、 ˜ で始まる行を除いて、標準出力 に渡します。 バッファーがオーバランしないようにするために、通常は自動 DC3/DC1 プロトコルをリモートシステムから の入力の制御に使用します。「プロンプト ハンドシェーキング」を使用すると、先行入力機能のないシステム への ASCII ファイルの転送を制御できますが、プロンプトが得られた後に限ってデータを送信する必要があ ります。このことについては、以下に詳しく説明します。 ˜ で始まる行には特殊な意味があります。 送信プロセスコマンド transmit プロセスは次のコマンドを解釈します。 ˜., ˜.. 通信を終了させます。ハードワイヤ接続された回線では、 ˜. つか送信してセッションをログアウトします。一方、 ˜.. さないようにします。一般に、 ˜.. は EOF 文字をいく は EOF シーケンスを出 を使用すると、リモートのハードワイヤ接続マ シンは切断を認識しません。電話回線の接続では、 ˜. および ˜.. ˜! ローカルシステムの対話型シェルに抜けます。 ˜!cmd ... ローカルシステムで( sh -c 経由で) cmd を実行します。 ˜& ˜! は同じです。 と同じですが、受信プロセスを抹消し、シェルからの戻り時に再起動します。 これは、受信プロセスが入力と競合する場合に通信回線から読み出すサブプロセスを 呼び出すのに便利です。 276 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 277 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 モードを、ローカルシステムに設定するようにしてください。 278 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 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 一般に、 ˜ により、コマンドはオリジナルのマシン上で実行されます。 ˜˜ により、コマンドは接続されて いる次のマシン上で実行されます。 多言語化対応 環境変数 LANG により、メッセージの表示に使用する言語を決定します。 LANG が指定されていなかったり、空の文字列の場合には、デフォルトの "C" ( lang(5) 参照) が LANG の値と して使われます。多言語対応変数のどれかの設定が不適当な場合には、 cu は、すべての多言語対応変数が "C" に設定されているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 終了コードは、通常の終了の場合にはゼロ、それ以外の場合にはゼロ以外の値(各種の値)になります。 例 1200ボーで電話番号が9 201 555 1212であるシステムに電話をかけるには、次のように指定します。 cu -s1200 9=2015551212 スピードを指定しなければ、300がデフォルト値です。 直接回線で接続されたシステムにログインするには、次のように指定します。 cu -l/dev/tty XpX dir 特定の回線および特定のスピードで、システムに電話をかけるには、次のように指定します。 cu -s1200 -l/dev/tty XpX dir 特定の回線を使って、システムに電話をかけるには、次のように指定します。 cu -l/dev/cul XpX 2015551212 システム名 (yyyzzz) を使用するには、次のように指定します。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 279 cu(1) cu(1) 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) 標準準拠 cu: SVID2, SVID3, XPG2, XPG3, XPG4 280 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 281 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 に変換します。 282 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 283 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 は、ゼロ以上のフォーマット指令および一般文字から成る文字列です。ブランクを含む場合 は、アポストロフィまたは引用符で囲まなければなりません。 以下の「フォーマット指令」を参照してください。 一般文字はすべて、変更されずに出力文字列へコピーされます。 284 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 ファイルに書き込まれます。 (XPG4 のみ) 過去に日付が設定されている場合、警告は発行されません。 フォーマット指令 以下にフォーマット指令を示します。ここでは、オプションのフィールド幅と精度の指定は除いてあります。 フォーマット指令は、指示された文字で置き換えられます。以下にあげた指令以外のものを指定した場合、結 果は未定です。 出力される数字、文字、およびワードは、言語/ ロケールの設定に依存します。以下の 「多言語化対応」の 「環境変数」を参照してください。 以下の例は、date コマンドが、デフォルトの C 言語を使用して、太平洋標準時の1994年1月12日水曜日午 後7:45:58に実行されたと仮定しています。 %a 曜日の略称。例: Wed %A 曜日 (完全な表記)。例: Wednesday HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 285 date(1) date(1) %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 %e 日 に ち ( 月 単 位 ) を 表 す 2 桁 の 10 進 数 ( 必 要 に 応 じ て 先 行 ス ペー ス 文 字 が 入 り ま す)[" 1"- "31" ]。例: 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 週日を表す1桁の10進数 [0-6 (日曜日-土曜日)]。例: 3 %W 1年の週番号(月曜を週の最初の日とする)を表す2桁の10進数 [00-53]。1年の最初の月曜日よ り前の日はすべて、第 00 週に属すると見なされます。例: 02 286 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 date(1) date(1) %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 基準年の代替表記 %Ex 日付の代替表記 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 287 date(1) date(1) %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 です。 多言語化対応 288 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 date(1) date(1) 環境変数 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 です。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 診断 以下のメッセージが表示されることがあります。 bad conversion 日付/時刻指定に構文エラーがあります。日付/時刻が有効な範囲内で正しく指定されているかどうか をチェックしてください。 bad format character - c 文字 c は、有効なフォーマット指令、フィールド幅指定、または精度指定ではありません。 do you really want to run time backwards?[yes/no] 指定した日付/時刻が、現在のクロック値より前の値です。クロックに過去の値を設定するには、yes (またはユーザーのロケールでこれに相当する語)を入力します。それ以外を入力すると、このコマン HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 289 date(1) date(1) ドが取り消されます。 no permission 日付を変更するには、スーパーユーザー特権が必要です。 例 各国語の日付 日付を表示します。この例では、TZ 環境変数の値は PST8PDTで、各言語環境変数は上記通りに設定されてい ます。 → Fri Aug 20 15:03:37 PDT 1993 ← 言語は C date -u → Fri Aug 20 22:03:37 UTC 1993 ← 言語は C date 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 ここで、月のフィールドは左詰めの4文字長で表示され、月名が4文字より短いとその右にスペースのパディン グが入ります。日のフィールドは2文字長で、先行のゼロ表示は抑制されます。 警告 以前の HP-UX フォーマット指令 A は、ANSI との互換性のため、W に変更されました。 290 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 date(1) date(1) システムがマルチユーザーモードで動作中の場合は、日付の変更をしないようにしてください。これを行う と、ユーザーが実行予定のプログラムやプロセス、また時刻に依存したプログラムやプロセスに混乱を生じる ことになります。また、日付の変更をすると、make(1) や SCCS および cron(1M) のサブシステムが予想外の 動作を起こすこともあります。日付を過去の値に設定する場合は、その前に 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) 標準準拠 date: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 291 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 を大文字にすると、スタックのトップにある値がポップされ、文字列実行レ ベルはその値だけポップされます。 292 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 293 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 チュートリアル」 294 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 2: December 2007 EBCDIC を ASCII に変換します。 −1− Hewlett-Packard Company 295 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 はバイト単位の数値を表します。数値は以下の形式で指定できます。 296 n n バイト nk n Kバイト (n × 1024), nb n ブロック (n × 512), Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 HP-UX 11i Version 2: December 2007 of=x ibs=800 −3− cbs=80 conv=ascii,lcase Hewlett-Packard Company 297 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 298 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 299 delta(1) delta(1) リストにある MR は、空白およびタブ文字、またはそのどちらかによって区切られま す。エスケープしていない改行文字によって MR リストを終了します。 v フラグに値 (admin(1) を参照)がある場合には、 MR 番号の正確さを評価するプロ グラム ( またはシェルプロシージャ ) の名前であるとされることに注意してくださ い。 0 以外の終了ステータスが MR 数値評価プログラムから戻されると、 delta は、 MR 番号のすべてが有効ではなかったものとして終了します。 -y[comment] デルタの作成理由の記述に使用する、任意のテキスト。ヌル文字列は、有効な comment であると解釈されます。 -y を指定しておらず、標準入力がターミナルならば、標準入力を読み込む前に、プ ロンプト comments? を標準出力に発行します。標準入力がターミナルでなけれ ば、プロンプトは発行されません。エスケープしていない改行文字によってコメント テキストを終了します。 -p delta は、デルタの適用前後に、 SCCS ファイルの相違点を (diff (1) フォーマット で標準出力に) プリントします。 多言語化対応 環境変数 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 が多量のデータを 300 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 301 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) を参照してください。 302 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 deroff(1) deroff(1) サポートされる国際的コードセット シングル/マルチバイトの文字コードセットがサポートされています。 警告 deroff は完全な nroff インタプリタではありません。したがって、それは微妙なコンストラクトで混乱す ることがあります。ほとんどのそのようなエラーは、出力内容が極端に少なくなるよりはむしろ、異常に多い 出力になります。 -ml オプションは、ネストしたリストを正しく処理しません。 著者 deroff はカリフォルニア大学バークレー校で開発されました。 参照 neqn(1), nroff(1), tbl(1) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 303 dhcpv6client_ui(1) dhcpv6client_ui(1) 名称 dhcpv6client_ui − DHCPv6 サーバーに構成パラメータを要求するための DHCPv6 クライアントインタ フェース 構文 /usr/bin/dhcpv6client_ui -m interface_name [-n no_of_ip_addresses] [-o config_options] /usr/bin/dhcpv6client_ui -o config_options /usr/bin/dhcpv6client_ui -m interface_name [-R] /usr/bin/dhcpv6client_ui -r interface_name /usr/bin/dhcpv6client_ui -v 説明 dhcpv6client_ui は、クライアントデーモンに接続して、サーバーから IP アドレスやその他の構成パラ メータを取得するために使用するインタフェースです。デフォルトの構成パラメータは、DHCPv6 クライアン トデーモンを起動するときにコマンドラインオプションとして指定します。 dhcpv6client_ui が IP アドレスやその他の構成パラメータを要求すると、クライアントデーモンはサー バーからそれらを取得して /etc/dhcpv6client.data ファイル内に保存します。 dhcpv6client_ui は、 ク ラ イ ア ン ト デー モ ン が 構 成 さ れ て い る マ シ ン 上 で 実 行 し ま す。 dhcpv6client_ui を実行する前に、クライアントデーモンが正常に動作中であることを確認してくださ い。 オプション dhcpv6client_ui では、以下のオプションがサポートされています。 −m interface_name クライアントデーモンに対して、指定したインタフェース interface_name の IP アドレ スを DHCPv6 サーバーデーモンから取得するよう要求します。 −n no_of_ip_addresses インタフェースに対して取得する IP アドレスの数を指定します。 このオプションは、必ず −m オプションとともに使用します。 このオプションは、 −R オプションとともには使用できません。 −o config_options クライアントデーモンがサーバーデーモンに要求する、その他の構成パラメータを指定 します。クライアントが要求できる構成パラメータは次のとおりです。 304 dns_sa DNS サーバーアドレスを取得します。 dns_sx DNS サフィックスを取得します。 ntp_sa NTP サーバーアドレスを取得します。 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 dhcpv6client_ui(1) dhcpv6client_ui(1) nis_dn NIS ドメイン名を取得します。 nis_sa NIS サーバーアドレスを取得します。 nispcl_dn NIS+ クライアントドメインアドレスを取得します。 nisp_sa NIS+ サーバーアドレスを取得します。 slp_da SLP Directory Agent (DA) とそのスコープを取得します。 slp_ss SLP サービススコープを取得します。 tz タイムゾーン情報を取得します。 all 上記のすべてのパラメータを取得します。 default dhcpv6 クライアントデーモンがサポートするすべてのパラメータを取 得します。 −r interface_name 指定したインタフェース interface_name に割り当てられている IPv6 アドレスを解放し ます。 −v −R クライアントデーモンのバージョン情報を表示します。 サーバーに新しい IP アドレスを要求するのではなく、インタフェース用にすでに取得 されている IP アドレスをクライアントデーモンに使用させます。 このオプションは、必ず −m オプションとともに使用します。 このオプションは、 −n オプションとともには使用できません。 戻り値 dhcpv6client_ui は、正常終了時には 0 を戻し、異常終了時には 1 を戻します。 例 dhcpv6client_ui は、 lan0 インタフェースの2つの IP アドレスを取得します。 dhcpv6client_ui -m lan0 -n 2 dhcpv6client_ui は、 lan0 インタフェースの2つの IP アドレスと、その他の構成パラメータを取得し ます。 dhcpv6client_ui -m lan0 -n 2 -o dns_sa dns_sx ファイル /etc/dhcpv6client.data サーバーデーモンから取得したすべてのデータはこのファイルに保存さ れます。 著者 dhcpv6client_ui は HP が開発しました。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 305 dhcpv6client_ui(1) dhcpv6client_ui(1) 参照 dhcpv6clientd(1M), dhcpv6d(1M) 306 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 307 diff(1) diff(1) して略記されます。 各行の後に、最初のファイルで変化のある行が < のフラグで示され、次に2つ目のファイルで変化のある行 が > のフラグで示されます。 −b、−w、−i、または −t の場合を除き、次の各オプションは排他的に使用します (−b、−w、−i、または −t は任意に組み合わせることができます)。 −e file2 から file1 を作成する場合に使用する ed エディターに a、c、および d コマンドの スクリプトを生成します。ディレクトリを −e に比較すると、出力には別のコマンドが追加 されるので、2つのディレクトリに共通するテキストファイルを dir1 から dir2 に変換する ためのシェルスクリプトが生成されます。 −f −e オプションに似たスクリプトを生成します。可読性が改善されますが、ed と併用する ことはできません。 −n −e に似たスクリプトを逆の順序で生成します。挿入コマンド、または削除コマンドがある ごとに、変更された行がカウントされます。この形式は、rcsdiff (rcsdiff (1) 参照) で使 用されます。 −c 3行のコンテキストとともに差分リストを生成します。−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桁以上の文字 を追加します。オリジナルのソース行で字下げの位置が合っていないと、出力リストが読み 308 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 次のコマンドでは、ブランク、タブ、および大文字/小文字の違いをすべて無視します。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 309 diff(1) diff(1) diff -wi x1 x2 警告 −e または −f のオプションで生成された編集スクリプトは、シングルドット (.) で構成した行を作成する場 合だけに適用されます。 −b、−w、または −I のオプションを指定してディレクトリを比較すると、diff はまず、cmp と同じ形式で ファイルの比較を行い、各ファイルが異なる場合に、diff アルゴリズムを実行します。これにより、ブラン ク文字列や大文字/小文字の違いなどのわずかな差分の場合を除き、それぞれのファイルが同一である場合に、 出力の生成に多少時間を要することがあります。 デフォルトのアルゴリズムでは、ファイルのサイズの約6倍に相当するメモリー割り当てが必要になります。 大型のファイルを比較する場合に、十分なメモリーが確保できないときは、−h オプション、または bdiff を使用することができます (bdiff (1) を参照)。 他のオプションで十分なメモリーを確保できないときは、swap 値または maxdsiz 値のどちらかを大きくす ることができます。 −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 310 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 311 diff3(1) diff3(1) 多言語化対応 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされます。 警告 単一のピリオド (.) で構成されるテキスト行は -e を無効にします。 64Kバイトを超えるファイルは動作しません。 ファイル /var/tmp/d3* /usr/lbin/diff3prog 参照 diff(1) 312 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 313 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) 314 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 315 dircmp(1) dircmp(1) 標準準拠 dircmp: SVID2, SVID3, XPG2, XPG3 316 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 正常終了 エラー条件が発生 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 317 dmpxlt(1) dmpxlt(1) 例 この例は、テーブル roma8=iso81 からソースファイル genxlt_input を作成します。 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). 318 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 dnssec-keygen(1) dnssec-keygen(1) 名称 dnssec-keygen − DNSSECの鍵生成ツール 構文 dnssec-keygen [-a algorithm] [-b keysize] [-e] [-g generator] [-h] [-n nametype] [-p protocol-value] [-r randomdev] [-s strength-value] [-t type] [-v level] name 説明 dnssec-keygen は、RFC2535に定義されているセキュアDNS(DNSSEC)の鍵を生成します。これはまた、 RFC2845に定義されているトランザクション署名(TSIG)で使われる鍵も生成します。 引き数 name 鍵を生成するドメインの名称を指定します。 オプション −a algorithm このオプションは、暗号化アルゴリズムを指定するときに使われます。 algorithm は、 RSAMD5、 DH、 DSA、 HMAC-MD5 のいずれかです。 RSA を使うこともできま す。これは RSAMD5 と等価です。 暗号化アルゴリズムを指定する algorithm 引き数は、大文字と小文字を区別しませ ん。 DNSSECでは、DSAを最低限必須のアルゴリズムとし、RSAの実装を推奨して います。 TSIGの実装では、HMAC-MD5をサポートしていなくてはなりません。 −b keysize このオプションは、鍵のビット数を指定するときに使われます。選択できる鍵長は、 使用するアルゴリズムに依存します。 RSA アルゴリズムを使用する場合、 keysize は512ビットから2048ビットの間でなけ ればなりません。 DH (Diffie-Hellman) アルゴリズムを使用する場合、 keysize は128 ビットから4096 ビットの間でなければなりません。 DSA (Digital Signature Algorithm) アルゴリズムを使用する場合、 keysize は 512 ビットから1024ビットの間で、かつ64の倍数でなければなりません。 HMAC-MD5 アルゴリズムを使用する場合、 keysize は1ビットから512ビットの間で なければなりません。 −e このオプションは、指数部の値が大きなRSA鍵を生成するときに使われます。 −g generator このオプションは、Diffie-Hellman 鍵を生成する際に使われます。 -g オプション で、使用される Diffie-Hellman のジェネレータを選択します。 generator としてサ ポートされている値は2 と5 のいずれかです。 Diffie-Hellman ジェネレータが指定さ れない場合、可能であれば、RFC2539 の既知の素数値が使われます。それが使用で きない場合は2を使用します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 319 dnssec-keygen(1) −h dnssec-keygen(1) このオプションで、 dnssec-keygen のオプションと引き数のサマリーが出力され ます。 −n nametype このオプションは、生成された鍵がどのように使用されるかを指定します。 nametype は、 ZONE、 HOST、 ENTITY、 USER のいずれかで、それぞれゾーン、 ホスト、エンティティ、ユーザーのどれをその鍵で署名するのかを指定します。この コンテキストでは、 HOST と ENTITY は等価です。 nametype では、大文字と小文 字は区別されません。 −p protocol-value このオプションは、生成された鍵のプロトコル値を protocol-value で指定した値に設 定します。デフォルト値は USER の鍵である2(email)で、3(DNSSEC)はほかの鍵種 別すべてを指します。この引き数の、ほかに取りうる値はRFC2535 とその改訂版に 定義されています。 −r randomdev このオプションは、乱数を発生させる /dev/random デバイスがシステムにない場 合に、 dnssec-keygen の動作を変更して、鍵を生成するプロセスのシードとして 乱数を使用させるときに使います。 dnssec-keygen プログラムはキーボード入力 を求め、そのキー入力間隔から乱数データを生成します。このオプションを指定する と、乱数データのソースとして randomdev を使用します。 −s strength-value このオプションは、鍵の強度の値を指定するときに使われます。生成された鍵は、 strength-value に指定した強度で、DNSリソースレコードに署名します。これは、0 から15 の間の数値でなければなりません。強度のデフォルト値は0 です。現時点で は、鍵の強度フィールドには、DNSSECで定義された使用目的はありません。 −t type このオプションは、この鍵が認証に使われるのか機密保持に使われるのかを指定しま す。 type は、 AUTHCONF、 NOAUTHCONF、 NOAUTH、 NOCONF のいずれかです。 デフォルト値は AUTHCONF です。 typeが AUTHCONF の場合、鍵は認証と機密保持 に使うことができます。 type を NOAUTHCONF にすると、鍵を認証や機密保持に使 うことはできません。 NOAUTH の値は、鍵は機密保持には使用できるが、認証には 使用できない、という意味になります。同じように、 NOCONF は、機密保持には使 用できないが、認証には使用できることを定義します。 −v level このオプションを使って、 dnssec-keygen に詳細な内容を出力させることができ ます。デバッグやトレースのレベルを上げると、 dnssec-keygen の処理内容につ いてしだいに詳しい内容が表示されるようになります。レベルのデフォルト値は0で す。 生成される鍵 dnssec-keygen の処理が完了すると、標準出力に Knnnn.+aaa+iiiii という形式の文字列が出力されますこ れは、生成された鍵を識別する文字列です。この文字列は、 dnssec-makekeyset ユーティリティの引き数 320 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 dnssec-keygen(1) dnssec-keygen(1) として使用されます。 nnnn の部分は、 name で指定した、ドットで終了するドメイン名です。 aaa はDNSSECアルゴリズムの識 別子で、001がRSA、002がDiffie-Hellman、003がDSA、157がHMAC-MD5を示します。 iiiii は鍵を識別 する5桁の数字です。 dnssec-keygen はファイルを2つ生成します。ファイル名は、前述の鍵識別文字列から取得されます。名称 は、 Knnnn.+aaa+iiiii.key および Knnnn.+aaa+iiiii.private という形式になります。 これにはそれぞれ、鍵の公開部分と秘密部分が含まれています。 dnssec-keygen が生成したファイルはこ の命名規則にしたがっているので、署名ツールの dnssec-signzone は、署名の生成や検証に必要な鍵を、 どのファイルを読み出して検索すればいいのか、簡単に判断できます。 .key ファイルには、KEYリソースレコードが含まれます。これは $INCLUDE ステートメントでゾーンファ イルに挿入することができます。鍵の秘密部分は .private ファイルに記述されています。これには、使用 された暗号化アルゴリズムの詳細と、関連のパラメータの素数、指数、剰余、副素数などが含まれます。その ため、このファイルには、誰でも読めるようなパーミッションは与えられていません。鍵の秘密部分は dnssec-signzone が署名を生成するときに、公開部分は署名を検証するときに使います。公開鍵と秘密鍵 が等価でも、 .key と .private 鍵ファイルは、HMAC-MD5など、共通鍵暗号アルゴリズムで生成されま す。 例 example.com というドメインの768ビットのDSA鍵を生成するには、次のコマンドを発行します。 dnssec-keygen -a DSA -b 768 -n ZONE example.com dnssec-keygen が Kexample.com.+003+26160 という鍵識別文字列を出力しました。これは、26160と いう識別子を持つDSA鍵を示します。これは Kexample.com.+003+26160.key および Kexample.com.+003+26160.private というファイルを生成します。それぞれ、生成されたDSA鍵の公開鍵と秘密鍵を含んでいます。 ファイル /dev/random 参照 dnssec-makekeyset(1)、dnssec-signkey(1)、dnssec-signzone(1)、RFC2535、RFC2845、RFC2539 バグ 公開鍵と秘密鍵ファイルの命名規則にはやや問題があります。 236 文字を超えるドメイン名を指定すると、 .+aaa+iiiii.private というサフィックスが、多くのUNIXシステムにおいて長すぎるファイル名になってし HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 321 dnssec-keygen(1) dnssec-keygen(1) まうので、正しく動作しません。 322 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 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 引き数を複数指定し て、 dnssec-makekeyset で複数の鍵を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 2: December 2007 −1− Hewlett-Packard Company 323 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 で指定するデバッグやトレースのレベルを上げると、 dnssecmakekeyset の処理内容についてしだいに詳しい内容が表示されるようになりま す。レベルのデフォルト値は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つのゾーンの 324 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 dnssec-makekeyset(1) dnssec-makekeyset(1) 管理者の間には、お互いを認証して鍵と署名を安全に交換する機構がある、ということを前提としています。 ファイル /dev/random 参照 dnssec-keygen(1)、dnssec-signkey(1)、dnssec-signzone(1)、RFC2535 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 325 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 は、子ゾーンの鍵セットに署名するために使われます。通常、その鍵セットは dnssecmakekeyset ユーティリティが生成した .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 に対して、鍵に署名する際、擬似乱数データ を使うよう指定するときに使われます。 これは、署名に真性乱数データを使うのに比べると高速ですが、安全性は低下しま す。この機能は、署名する子ゾーンの鍵セットが多い場合や、エントロピーソースが 制限されているときに便利です。また、解読されてしまう前に鍵が破棄されるなど、 生存期間の短い鍵や、暗号解読に対して強い防御の必要がない署名についても使用で きます。 326 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 dnssec-signkey(1) dnssec-signkey(1) −r randomdev このオプションは、乱数を発生させる /dev/random デバイスがシステムにない場 合に、 dnssec-signkey の動作を変更して、鍵を生成する処理のシードとして乱数 を使用させるときに使います。 dnssec-signkey プログラムはキーボード入力を求 め、そのキー入力間隔から乱数データを生成します。このオプションを指定すると、 乱数データのソースとして randomdev を使用します。 -s start-time このオプションは生成された SIG レコードが有効になる日時を指定します。 starttime は、絶対日時か相対日時で指定します。 絶対日時で開始日時を指定するには、 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 の 鍵 を 含 む exam- ple.com.signedkey というファイルを生成します。 ファイル /dev/random HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 327 dnssec-signkey(1) dnssec-signkey(1) 参照 dnssec-keygen(1)、dnssec-makekeyset(1)、dnssec-signzone(1)、RFC2535 328 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 dnssec-signzone(1) dnssec-signzone(1) 名称 dnssec-signzone − DNSSECゾーンの署名ツール 構文 dnssec-signzone [-a] [-c cycle-time] [-d directory] [-e end-time] [-f output-file] [-h] [-i interval] [-n ncpus] [-o origin] [-p] [-r randomdev] [-s start-time] [-t] [-v level] zonefile keyfile .... 説明 dnssec-signzone はゾーンに署名するときに使います。署名したいゾーンの .signedkey ファイルはす べて、ゾーンに署名するための鍵と同じように、カレントディレクトリになければなりません。 引き数 zonefile 署名されていないゾーンファイルの名称です。 keyfile keyfile 引き数が指定されない場合、デフォルトでカレントディレクトリにあるすべての ゾーンの鍵が使用されます。なんらかの keyfile 引き数を指定すると、 dnssec-signzone に制限が加わり、そこで指定された鍵だけを使ってゾーンに署名するようになります。各 keyfile 引き数は、 dnssec-keygen が生成した、鍵を識別する文字列です。 署名するゾーンにセキュアなサブゾーンがある場合、サブゾーンの .signedkey ファイルは、 dnssecsignzone が使用する現在の作業ディレクトリになければなりません。 オプション −a このオプションは、 dnssec-signzone が生成した署名の検証を強制するときに使われ ます。デフォルトでは、署名ファイルは検証されません。 −c cycle-time このオプションは、すでに署名したゾーンが dnssec-signzone の入力として渡された 場合に、レコードを破棄するための周期を構成するときに使われます。周期は、現在の時 刻からの差で指定します(秒単位)。 SIGレコードの有効期限がその周期より長い場合、そ れ は 保 持 さ れ ま す。 そ う で な い 場 合、 ま も な く 有 効 期 限 が 切 れ る も の と み な さ れ、 dnssec-signzone はこれを削除、新しいSIGレコードを生成して置き換えます。 -d directory このオプションは、directoryが指すディレクトリで signedkey を探すよう指定するとき に使われます。 −e end-time このオプションはSIG レコードの有効期限を指定するときに使われます。有効期限が指定 するのは、SIG レコードが無効になる時期で、ネームサーバーのキャッシュから削除され る時期ではありません。 end-time は、絶対日時か相対日時で指定します。 絶対指定の日時には YYYYMMDDHHMMSS という表記法を使います。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 329 dnssec-signzone(1) dnssec-signzone(1) end-time が + N の場合、SIGレコードが、その開始日時から N 秒後に無効となることを 示します。 −f output-file このオプションは、 dnssec-signzone が使用する署名済みゾーンファイルの名称のデ フォルト値、 zonefile.signed を変更するときに使われます。 −h このオプションは、 dnssec-signzone のオプションと引き数の簡単なサマリーを出力 するときに使われます。 -i interval すでに署名したゾーンが入力として渡されるとレコードは破棄されることがあります。 interval オプションは、周期間隔を現在時刻との差で指定します(秒単位)。あるSIGレコー ドの有効期限がその周期より長い場合、それは保持されます。そうでない場合、まもなく 有効期限が切れるものとして、別のレコードで置き換えられます。 周期間隔のデフォルト値は、署名の開始時刻と終了時刻の差の1/4です。つまり、 end-time も start-time も指定されていない場合、 dnssec-signzone は、有効期限が30日、周期 間隔が7.5日の署名を生成します。そのため、もし既存のSIGレコードが7.5日以内に有効期 限切れとなる場合、これは別のレコードと置き換えられます。 -n ncpus このオプションを使い、 ncpus に指定した数だけのワーカースレッドを起動して、複数の CPUを活用することができます。これが指定されない場合、 named は存在するCPUの数 を判定し、CPU 1つにつき1スレッドを起こそうとします。 -o origin このオプションはゾーンのオリジンを指定します。これが指定されない場合、ゾーンファ イルの名称が origin と同じであるものと仮定されます。 −p このオプションは、 dnssec-signkey に、鍵に署名する際に擬似乱数を使うよう指定し ます。これは、署名に真性乱数データを使うのに比べると高速ですが、安全性は低下しま す。この機能は、署名する子ゾーンの鍵セットが多い場合や、エントロピーソースが制限 されているときに便利です。また、解読されてしまう前に鍵が破棄されるなど、生存期間 の短い鍵や、暗号解読に対して強い防御の必要がない署名についても使用できます。 −r randomdev このオプションは、乱数を生成する /dev/random デバイスがシステムにない場合に、 dnssec-signzone の動作を変更して、ゾーンに署名する処理のシードとして乱数を使用 させるときに使います。 dnssec-signzone プログラムはキーボード入力を求め、その キー入力間隔から乱数データを生成します。このオプションを指定すると、乱数データの ソースとして randomdev を使用します。 330 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 dnssec-signzone(1) dnssec-signzone(1) −s start-time このオプションは生成されたSIGレコードが有効になる日時を指定します。 start-time は 絶対日時か相対日時で指定します。 絶対日時で開始日時を指定するには、 YYYYMMDDHHMMSS という書式の数値を使用し ます。たとえば、 20000530144500 は、協定世界時(UTC)の2000年5月30日14:45:00を 指定します。 相対日時で開始日時を指定する場合、 start-time に +N を指定します。これは、現在日時 から N 秒後という意味です。 −s オプションが指定されない場合、SIGレコードの開始日時として、現在の日時が使用さ れます。 -t −v level このオプションは、完了時の統計情報を出力させるときに使われます。 このオプションは、 dnssec-signzone に詳細な内容を出力させるときに使われます。 level で指定するデバッグやトレースのレベルを上げると、 dnssec-signzone の処理内 容についてしだいに詳しい内容が表示されるようになります。レベルのデフォルト値は0で す。 例 次の例では、 dnssec-signzone を使って、 dnssec-keygen のマンページにある例で生成された鍵を持 つ example.com ゾーンに署名する方法を示します。このゾーンのゾーンファイルは example.com で、こ れはオリジンと同じなので、 −o オプションを使ってオリジンを指定する必要はありません。このゾーンファ イルには、 dnssec-makekeyset が作成した、 example.com の鍵セットが含まれています。このゾーン の鍵は、ゾーンファイルに追加されるか、 $INCLUDE ステートメントで組み込まれます。親ゾーンからの .signedkey ファイル、つまり example.com.signedkey がある場合、これはカレントディレクトリに置 かなければなりません。これで親ゾーンの署名が、 example.com ゾーンの署名済み版に組み込めるように なります。 dnssec-signzone example.com Kexample.com.+003+26160 dnssec-signzone は example.com.signed というファイルを生成します。これが、 example.com ゾー ンの署名済み版です。このファイルは、 /etc/named.conf の zone{} ステートメントで参照することが でき、これによってネームサーバーにロードされます。 ファイル /dev/random 参照 dnssec-keygen(1)、dnssec-makekeyset(1)、dnssec-signkey(1)、RFC2535 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 331 domainname(1) domainname(1) 名称 domainname − ネットワーク情報サービスドメインの名前の設定または表示 構文 domainname [ name_of_domain ] 説明 ネットワーク情報サービス (NIS) は、ドメインネームを使用してホストのグループを総称的に参照します。引 き数を与えない場合、 domainname は、 NIS ドメインの名前を表示します。スーパーユーザーのみが name_of_domain を与えることによりドメインネームを設定できます。ドメインネームは普通は設定ファイル /etc/rc.config.d/namesvrs の中で NIS_DOMAIN 変数を設定することによって設定されます。 制約 NIS サーバーは /var/yp のサブディレクトリの名前として NIS ドメインネームを使用します。このため、 name_of_domain を 「.」または 「..」にしたり、 name_of_domain に / を含めることはできません。 NIS ドメインネームは64文字までであるため、 name_of_domain が与えられたファイルシステムで許される ファイル名の最大長を超えることがあります。その長さを超えると、サブディレクトリ名は NIS ドメイン ネームを切り捨てたものになります。 ネットワーク上のすべてのNISドメインの最初の14文字はユニークでなければなりません。切り捨て後のドメ インネームがこの条件を満たしているかどうかを確認する必要があります。 著者 domainname は、Sun Microsystems, Inc. によって開発されました。 参照 ypinit(1M), getdomainname(2), setdomainname(2) 332 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 dos2ux(1) dos2ux(1) 名称 dos2ux, ux2dos − ASCII ファイルフォーマットの変換 構文 dos2ux file... ux2dos file... 説明 dos2ux および ux2dos は、それぞれの指定された file を順番に読み込んでそれぞれ HP-UX フォーマットま たは DOS フォーマットに変換し、標準出力に書き出します。それぞれの file は、いずれかのコマンドで DOS フォーマットまたは HP-UX フォーマットのどちらにもできます。 DOS ファイル名は、埋め込まれたコロン (:) デリミタで認識されます。 DOS のファイル命名規約について は、 dosif (4) を参照してください。 入力ファイルを与えないか、または引き数 - がある場合、 dos2ux および ux2dos は標準入力から読み込 みます。標準入力は他のファイルと結合できます。 例 ファイル myfile をディスプレイに出力します。 dos2ux myfile file1 および file2 を DOS フォーマットに変換し、それらを連結して、 file3 に出力します。 ux2dos file1 file2 > file3 戻り値 dos2ux および ux2dos はコマンドが正常終了すると 0 を、異常終了すると 2 を戻します。異常終了は、 指定したファイルをオープンできないときだけです。その場合、コマンドは警告を出力します。 警告 次のようなコマンドフォーマットは dos2ux file1 file2 > file1 連結が始まる前に file1 のデータをオーバライトするため、 file1 の内容が失われます。ですから、シェ ル特殊文字を使用するときは注意してください。 参照 doschmod(1), doscp(1), dosdf(1), dosls(1), dosmkdir(1), dosrm(1), dosif(4) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 333 doschmod(1) doschmod(1) 廃止予定 名称 doschmod − DOS ファイル属性の変更 構文 doschmod [-mu] mode device: file ... 説明 doschmod コマンドは、HP-UX から削除される予定です ( 警告を参照)。 doschmod は chmod コマンドの DOS 版です( chmod(1) を参照)。 オプション doschmod は1つのオプションを認識します。 -m ボリュームラベルと同じ名前のファイルが存在する場合は、ボリュームラベルではなくファイ ルに対して処理が行われます。 -u 引き数の大文字/小文字の変換を禁止します。このオプションがない場合、すべての DOS ファ イル名は大文字に変換されます。 DOS ファイル名は、埋め込まれたコロン (:) デリミタがあることで認識されます。 DOS のファイル命名規約 については、 dosif (4) を参照してください。 *、?、および [ ... ] といったメタキャラクタを、 DOS のファイル名を指定するときに使用できます。 DOS のファイル名を指定するときには、これらのメタキャラクタを引用符で囲む必要があります。その理由は、 ファイル名がシェルではなく DOS ユーティリティによって展開されるからです。DOS ユーティリティがファ イル名を展開するときには、regexp(5) の「パターンマッチング ノーテション」に記された方法に従います。 各指定ファイルの属性は、000から0377までの範囲の8進数である mode に従って変更されます。 mode は以 下のモードの論理 OR で構成されます。 200 予約されています。使用不可 100 予約されています。使用不可 040 アーカイブ。ファイルが書き込まれ、クローズされるとつねにセットされます。 020 ディレクトリ。変更不可 010 ボリュームラベル。変更不可 004 システムファイル。 DOS オペレーティングシステムの一部であるファイルをマークしま す。 002 隠しファイル。 DOS DIR コマンドを使って DOS ディレクトリのリストにないファイルを マークします。 001 読出し専用ファイル。ファイルに読出し専用のマークを付けます。 警告 doschmod は HP-UXから削除される予定であるため、使用しないことをおすすめします。 mode 値の指定が不適当であると、ファイルやディレクトリにアクセスできなくなり、ファイルシステムを損 334 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 doschmod(1) doschmod(1) 廃止予定 傷するおそれもあります。そうした問題を防止するため、ディレクトリおよびボリュームラベルのモードは変 更しないでください。 通常のユーザーは 001、002、および040以外の mode ビットを使用する必要はありません。 例 ファイル /dev/rfd9122:memo.txt に隠しファイルのマークを付けます。 doschmod 002 /dev/rfd9122:memo.txt ファイル driveC:autoexec.bat に読出し専用のマークを付けます。 doschmod 001 driveC:autoexec.bat 参照 chmod(1), dos2ux(1), doscp(1), dosdf(1), dosls(1), dosmkdir(1), dosrm(1), chmod(2), dosif(4) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 335 doscp(1) doscp(1) 廃止予定 名称 doscp − DOS ファイル間のコピー 構文 doscp [-fmvu] file1 file2 doscp [-fmvu] file1 [ file2 ... ] directory 説明 doscp コマンドは、HP-UX から削除される予定です ( 警告を参照)。 doscp は cp コマンドの DOS 版です( cp(1) を参照)。 doscp は、 DOS ファイルを DOS または HP-UX ファイルに、 HP-UX ファイルを HP-UX または DOS ファイルに、または HP-UX または DOS ファイルを HPUX または DOS ディレクトリにコピーします。引き数リストにある最後の名前は、宛先ファイルまたはディレ クトリです。 DOS ファイル名は、埋め込まれたコロン (:) デリミタで認識されます。 DOS のファイル命名規約について は、 dosif (4) を参照してください。 *、?、および [ ... ] といったメタキャラクタを、 HP-UX および DOS のファイル名を指定するときに使用で きます。 DOS のファイル名を指定するときには、これらのメタキャラクタを引用符で囲む必要があります。そ の理由は、ファイル名がシェルではなく DOS ユーティリティによって展開されるからです。DOS ユーティリ ティがファイル名を展開するときには、 regexp(5) の「パターンマッチング ノーテション」に記された方法に 従います。 ファイル名 - (ダッシュ)は、引き数リストにおける位置に応じ、標準入力または標準出力を意味するものとさ れます。 オプション doscp が認識するオプションは以下のとおりです。 -f 無条件に既存のファイルをオーバーライトします。このオプションがない場合、 doscp は既 存の HP-UX ファイルをオーバライトする許可を求めます。 -v 冗長モードです。 doscp はソース名をプリントします。 -u 引き数の大文字/小文字の変換を禁止します。このオプションがない場合、すべての DOS ファ イル名は大文字に変換されます。 -m DOS ボリュームラベルと同じ名前のファイルを作成できます。 戻り値 doscp は、すべてのファイルが正常にコピーされると0を戻します。そうでなければ、メッセージを 標準エラーにプリントし、 0以外の値を戻します。 336 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 doscp(1) doscp(1) 廃止予定 例 HP-UX ディレクトリ abc のファイルを HP-UX ファイル hard_disk としてストアされた DOS ボリュームに コピーします。 doscp abc/* hard_disk: DOS ファイル /backup/log を HP-UX スペシャルファイル /dev/rfd9127 を経てカレントディレクトリ にある HP-UX ファイル logcopy へコピーします。 doscp /dev/rfd9127:/backup/log logcopy HP-UX ファイル bb としてストアされたボリューム上の DOS ファイル zulu を標準出力にコピーします。 doscp bb:zulu DOS のボリューム /dev/rdsk/c1t2d0 の、ディレクトリ /dameron 内に存在する、拡張子が txt のファ イルをすべて、 HP-UX の現在のディレクトリのサブディレクトリ abacus にコピーします。 doscp ’/dev/rdsk/c1t2d0:/dameron/*.txt’ abacus 警告 doscp は HP-UXから削除される予定であるため、使用しないことをおすすめします。代わりに、 dos2ux(1) をご使用ください。 doscp は、raw デバイス特殊ファイル (/dev/rdsk/) を使用している場合の方が、ブロック型デバイスファ イルを使用している場合よりも、正確に処理を行います。 SCSI フロッピーディスク デバイスを使用する場合は、sflop デバイスドライバがカーネルに構成されてい なければなりません。(ioscan コマンドを使用して構成を確認できます。) 参照 cp(1), dos2ux(1), doschmod(1), dosdf(1), dosls(1), dosmkdir(1), dosrm(1), ioscan(1M) dosif(4) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 337 dosdf(1) dosdf(1) 廃止予定 名称 dosdf − 未使用ディスククラスタ数のレポート 構文 dosdf device[:] 説明 dosdf コマンドは、HP-UX から削除される予定です。下記の 「警告」を参照してください。 dosdf は df コマンドの DOS 版です( df (1) を参照)。指定された DOS ボリューム上のクラスタのバイトサ イズおよび未使用クラスタ数をプリントします。 警告 dosdf は HP-UX から削除される予定のため、使用はお勧めしません。 参照 df(1), dos2ux(1), doschmod(1), doscp(1), dosls(1), dosmkdir(1), dosrm(1), dosif(4) 338 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 dosls(1) dosls(1) 廃止予定 名称 dosls, dosll − DOS ディレクトリの内容のリスト 構文 dosls [-aAmudl] device:[ file ] ... dosll [-aAmudl] device:[ file ] ... 説明 dosls および dosll コマンドは、HP-UX から削除される予定です ( 警告を参照)。 dosls は ls の DOS 版です( ls(1) を参照)。 指定したディレクトリごとに、 dosls は各ディレクトリの内容のリストを示します。指定したファイルごと に、 dosls はその名前および要求された他の情報を繰り返します。 dosll の名前で起動された場合、 -l (ell)オプションが含まれています。 オプション dosls および dosll は以下のオプションを認識します。 -a ディレクトリエントリーすべてのリストを示します。このオプションがないと、隠れファイ ル、システムファイル、および名前がドット (.) で始まるファイルのリストは示されません。 -A カレントディレクトリおよび親ディレクトリのリストが示されないことを除いて、 -a と同じ です。スーパーユーザーの場合、このオプションはデフォルトで設定され、 -A により逆にオ プション未使用とされます。 -m ボリュームラベルと同じ名前のファイルが存在する場合は、ボリュームラベルではなくファイ ルに対して処理が行われます。 -u 引き数の大文字/小文字の変換を禁止します。このオプションがないと、すべての DOS ファイ ル名は大文字に変換されます。 -d 引き数がディレクトリの場合、その名前のみのリストが示されます。ディレクトリのステータ スを取得するために、しばしば -l とともに使用します。 -l DOS のボリュームラベルのリストのほかに、ファイル属性、バイトサイズ、および各ファイル の最終修正日時のリストをロングフォーマットで示します。このオプションを dosll コマン ドで使用すると、逆にロングリストは指定が拒否されます。 DOS ファイル名は、埋め込まれたコロン (:) デリミタの存在により認識されます。 DOS ファイル命名規約に ついては、 dosif (4) を参照してください。 *、?、および [ ... ] といったメタキャラクタを、 DOS のファイル名を指定するときに使用できます。 DOS のファイル名を指定するときには、これらのメタキャラクタを引用符で囲む必要があります。その理由は、 ファイル名がシェルではなく DOS ユーティリティによって展開されるからです。DOS ユーティリティがファ イル名を展開するときには、regexp(5) の「パターンマッチング ノーテション」に記された方法に従います。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 339 dosls(1) dosls(1) 廃止予定 警告 dosls および dosll は HP-UXから削除される予定であるため、使用しないことをおすすめします。 例 以下の例では、 DOS ディレクトリ構造は HP-UX スペシャルファイル /dev/rdsk/c2t1d0 によりアクセス されるデバイスに存在するものとします。 以下の例で DOS ディレクトリ構造のルートディレクトリにある全ファイルのリストを示します。 dosls -a /dev/rdsk/c2t1d0: 以下の例では、 DOS ディレクトリ構造のルートディレクトリにある、拡張子が bat の全ファイルのリストを 示します。 dosls -a ’/dev/rdsk/c2t1d0:*.bat’ 以下の例では、 DOS ディレクトリ /dos/math に関するすべての情報のロングフォーマット リストを生成し ますが、ディレクトリのファイルのリストは示しません。 dosls -ld /dev/rdsk/c2t1d0:/dos/math 参照 dos2ux(1), doschmod(1), doscp(1), dosdf(1), dosmkdir(1), dosrm(1), ls(1), dosif(4) 340 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 dosmkdir(1) dosmkdir(1) 廃止予定 名称 dosmkdir − DOS ディレクトリの作成 構文 dosmkdir [-mu] device:directory ... 説明 dosmkdir コマンドは、HP-UX から削除される予定です ( 警告を参照)。 dosmkdir は mkdir コマンドの DOS 版です( mkdir(1) を参照)。指定したディレクトリを作成します。標準 エントリーである、そのディレクトリ自体を表す . およびその親を表す .. は自動的に作成されます。 1つのオプションがあります。 -m DOS ボリュームラベルと同じ名前のディレクトリを作成できます。 -u 引き数の大文字/小文字の変換を禁止します。このオプションがないと、すべての DOS ファイ ル名は大文字に変換されます。 DOS ファイル名は埋め込まれたコロン (:) デリミタの存在により認識されます。 DOS ファイル命名規約につ いては、 dosif (4) を参照してください。 診断 すべてのディレクトリが正常に作成された場合、 dosmkdir は0を戻します。それ以外の標準的なエラーの場 合、メッセージを出力して0以外の値を戻します。 警告 dosmkdir は HP-UXから削除される予定であるため、使用しないことをおすすめします。 例 HP-UX スペシャルファイル /dev/rfd9122 によりアクセスされるデバイス上のディレクトリ /math/lib の下に、 numbers という名前の空のサブディレクトリを作成します。 dosmkdir /dev/rfd9122:/math/lib/numbers 参照 dos2ux(1), doschmod(1), doscp(1), dosdf(1), dosls(1), dosrm(1), mkdir(1), dosif(4) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 341 dosrm(1) dosrm(1) 廃止予定 名称 dosrm, dosrmdir − DOS ファイルまたはディレクトリの削除 構文 dosrm [-fmriu] device: file ... dosrmdir [-mu] device: file ... 説明 dosrm および dosrmdir コマンドは、HP-UX から削除される予定です ( 警告を参照)。 dosrm および dosrmdir は、 rm および rmdir の DOS 版です( それぞれ rm(1) および rmdir(1) を参 照)。 dosrm は単一または複数のファイルのエントリーをディレクトリから削除します。指定したファイルがディ レクトリの場合、オプションの引き数 -r を指定しない限り、エラーメッセージがプリントされます(以下を 参照)。 dosrmdir は、指定ディレクトリが空ならば、そのエントリーを削除します。 オプション dosrm および dosrmdir は以下のオプションを認識します。 -f (強制)ファイルが読出し専用としてマークされている場合でも、無条件に指定ファイルを削除 します。 -r dosrm はディレクトリの全内容に続いてそのディレクトリ自体を再帰的に削除できます。 dosrm は、最大17レベルまでディレクトリを再帰的に削除できます。 -i ( 対話型 ) dosrm は各ファイルを削除するかを尋ねてきます。 -r とともに指定すると、 dosrm はディレクトリごとに削除するかどうかを尋ねます。 -m ボリュームラベルと同じ名前のファイルが存在する場合は、ボリュームラベルではなくファイ ルに対して処理が行われます。 -u 引き数の大文字/小文字の変換を禁止します。このオプションがないと、すべての DOS ファイ ル名は大文字に変換されます。 DOS ファイル名は埋め込まれたコロン (:) デリミタの存在により認識されます。ファイル命名規約について は、 dosif (4) を参照してください。 *、?、および [ ... ] といったメタキャラクタを、 DOS のファイル名を指定するときに使用できます。 DOS のファイル名を指定するときには、これらのメタキャラクタを引用符で囲む必要があります。その理由は、 ファイル名がシェルではなく DOS ユーティリティによって展開されるからです。DOS ユーティリティがファ イル名を展開するときには、regexp(5) の「パターンマッチング ノーテーション」に記された方法に従いま す。 342 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 dosrm(1) dosrm(1) 廃止予定 警告 dosrm および dosrmdir は HP-UXから削除される予定であるため、使用しないことをおすすめします。 例 以下の例では、 DOS ディレクトリ構造が HP-UX スペシャルファイル /dev/rfd9122 によりアクセスされる デバイスに存在するものとします。 再帰的に DOS ディレクトリ /tmp を探して、各 DOS ファイルを強制的に削除するか尋ねます ( この場合、 ファイルモードのチェックなしに強行されます)。 dosrm -irf /dev/rfd9122:/tmp DOS ディレクトリ doug を HP-UX ファイル hard_disk としてストアされた DOS ボリュームから削除しま す。 dosrmdir hard_disk:doug 参照 dos2ux(1), doschmod(1), doscp(1), dosdf(1), dosls(1), dosmkdir(1), rm(1), rmdir(1), dosif(4) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 343 du(1) du(1) 名称 du − ディスク使用量の要約 構文 du [-a -s] [-bkrx] [-t type ] [ name ... ] 説明 du コマンドは、 name オペランドによって指定した各ディレクトリおよびファイル内のすべてのファイルお よび(再帰的に)ディレクトリの割当て512バイトブロックの個数を与えます。ブロックカウントには、ファイ ルの間接ブロックも含まれます。 2つ以上のリンクを持つファイルは1度だけ数えられます。 name が存在し ない場合、既存のワーキングディレクトリが使用されます。 デフォルトでは、 du は、 name オペランドおよびそれらの階層内にある各ディレクトリのみのエントリーを 生成します。 オプション du コマンドは以下のオプションを認識します。 -a 通常の出力に加えて、ディレクトリ階層にある各ファイルにエントリーをプリントし ます。 -b ファイルシステムスワップがイネーブルされているディレクトリである各 name オペ ランドに、スワップシステムが現在使用しているブロック数をプリントします。 -k -r 1024バイトブロックでブロックカウントします。 読み込めないディレクトリ、アクセスできないファイルなどのメッセージをプリント します。 du は通常、そのような状態には無表示です。 -s 指定された各 name オペランドについて、ディスク使用量の総計のみプリントしま す。 -x レポートを name オペランドで指定されたファイルと同じデバイスを有するファイル に制限します。ディスク使用量は通常、与えられたそれぞれの name オペランドの下 のディレクトリ階層全体に対してレポートされます。 -t type レポートを、指定された type のファイルシステムに制限します( type の値は、例え ば、 hfs, cdfs, nfs, などです ) 。複数の -t type オプションが指定できます。 ディスク使用量は通常、与えられた各 name オペランドの下のディレクトリ階層全体 に対してレポートされます。 例 現在のワークディレクトリおよびその下のすべてのディレクトリのディスク使用量を表示し、読み込めない ディレクトリにはエラーメッセージを生成します。 du -r 344 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 du(1) du(1) nfs または cdfs によってマウントされたファイルシステムを除いて、ファイルシステム全体のディスク使 用量を表示します。 du -t hfs / ルートボリューム (/) のファイルのディスク使用量のみを表示します。その他のマウント済みファイルシステ ム使用量の統計情報は収集されません。 du -x / 警告 ホールを含むファイルのブロック数は不正確です。 参照 df(1M), bdf(1M), quot(1M) 標準準拠 du: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 345 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) を参照してください。 346 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 echo(1) echo(1) サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 著者 echo は、OSFとHPが開発しました。 参照 sh (1) バグ 最初の ¥c の後には、文字はプリントされませんが、これは通常は問題にはなりません。 標準準拠 echo: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 347 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番目のカラムごとにタイプされるようにタブ文字を展 348 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ed(1) ed(1) 開します。 エディターコマンド構造 ed へのコマンドには、単純で規則的な構造があります。つまり、ゼロ、1、または2個の アドレスとその後の 1文字の コマンドがあり、場合によってはその後にそのコマンドへのパラメータが続きます。これらのアドレ スは、バッファー内の単一または複数の行を指定します。アドレスが必要な各コマンドには、多くの場合アド レスを省略できるよう、デフォルトアドレスがあります。 一般に、1行に1つのコマンドだけが可能です。追加、変更、および挿入コマンドはテキスト入力を受け付け、 これらのテキスト入力は次に適宜バッファーに入れられます。 ed が、追加、変更、または挿入コマンドの後 にあるテキストを受け付けている場合、 入力モードにあるといいます。入力モードのとき、エディターコマン ドは認識されません。入力はすべて、単に収集されるだけです。入力モードを終了するには、行の先頭でピリ オド (.) だけをタイプします。 正規表現 ed は、以下の仕様を追加した基本正規表現(RE)構文( regexp(5) を参照)をサポートします。 • ヌル RE (例えば、 //) は、最後に出現した RE と等価です。 • RE または置換文字列(例えば、 /) のクローズデリミタが改行の前の最後の文字であれば、そのデ リミタは省略できます。この場合、アドレス指定した行がプリントされます。以下の各対のコマン ドは等価です。 s/s1/s2 g/s1 ?s1 s/s1/s2/p g/s1/p ?s1? 行アドレス 行アドレスを理解するには、 ed が 現在の行へのポインターを保守することを忘れないでください。一般に、 現在の行はコマンドによって影響を受ける最後の行です。与えられたコマンドの現在の行への正確な影響につ いては、各コマンドごとに説明します。アドレスは次の規則に従って解釈されます。 1. 文字 . は現在の行を参照します。 2. 文字 $ はバッファーの最終行を参照します。 3. 10進数 n はバッファーの n 行目を参照します。 4. ’x はマーク名文字 x でマーク付けした行を参照します。 x は小文字英字でなければなりません。 行へのマーク付けには、以下に説明のある k コマンドを使います。 5. スラッシュで囲んだ RE (/RE/) は、現在の行に続く行からバッファーの終端まで順方向に検索 し、 /RE/に一致する文字列を含む最初の行で停止することによって見つかった、最初の行を参 照します。必要ならば、検索はバッファーの先頭にラップアラウンドし、現在の行自身まで続行 します。したがって、バッファー全体が検索されます(この後の「 警告」も参照してください)。 6. 疑問符で囲まれた RE (?RE?)は、現在の行の前の行からバッファーの先頭まで逆方向に検索し、 RE に一致する文字列を含む最初の行で停止することによって見つかった、最初の行をアドレス指 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 349 ed(1) ed(1) 定します。必要ならば、検索はバッファーの終端にラップアラウンドし、現在の行自身まで続行 します(この後の「 警告」も参照してください)。 7. プラス (+) またはマイナス (-) 符号の後に10進数が続くアドレスは、そのアドレスに示された行 数を加えるか、あるいは引いたアドレスを指定します。プラス符号は省略できます。 8. アドレスが + または - から始まると、加算または減算は現在の行に関して計算されます。例え ば、 -5 は .-5 と解釈されます。 9. アドレスが + または - で終わると、そのアドレスにそれぞれ1を加算するか、または減算しま す。これと上記の規則8との結果として、アドレス - は、現在行の前の行を参照します (旧バー ジョンのエディターとの互換性を保守するために、脱字符号 (ˆ) および - 文字は、アドレス内に あったときとまったく同じに解釈されます)。さらに、複数の後置 + および - 文字には累積的効 果があるため、 -- は、現在行の2行前の行を参照します。 10. 便宜上、コンマ (,) はアドレスペア 1,$ を表しますが、セミコロン (;) はペア .,$ を表しま す。 コマンドには、ゼロ、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 はバッファーの先頭に入れられます。 350 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ed(1) ed(1) (.,.)c c (変更)コマンドは、アドレス指定した行を削除し、次に削除した行を置き換える入 text 力テキストを受け付けます。正常終了すると、新しい現在行は text の最終行に、テキ . ストを与えなかった場合には削除した単一または複数の行の後の先頭行になります。 (.,.)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 コマンドの実行の一部として入力 されるコマンドが、バッファー内の 任意の行をアドレス指定したり、影響を与えるこ HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 351 ed(1) ed(1) とがあるので注意してください。 G コマンドは、割込みシグナル(ASCII DELまたは BREAK)によって終了できます。 h h (ヘルプ)コマンドは、最新の ? 診断の理由を説明する短いエラーメッセージを示 します。 H H コマンドにより、 ed は、後続するすべての ? 診断に対してエラーメッセージが プリントされるモードに入ります。また、前に ? があった場合には、それについて も説明します。 H コマンドは、このモードを交互にオン、オフします。初期デフォ ルトは off です。 (.)i i (挿入)コマンドは、与えられた text をアドレス指定した行の前に挿入します。正常 text 終了すると、現在行は最後に挿入した行か、何も挿入されなかった場合にはアドレス . 指定した行になります。このコマンドは、入力テキストの配置の点においてのみ a コマンドと異なります。このコマンドについては、アドレス0は不当です。 (.,.+1)j j (結合)コマンドは、適切な改行文字を削除することにより隣合う行を結合します。 アドレスを1つだけ与えても、このコマンドは何も行いません。 (.)kx k (マーク)コマンドは、アドレス指定した行に名前 x でマークを付けます。 x は小文 字英字でなければなりません。次からはアドレス ’x はこの行をアドレス指定しま す。正常終了すると、新しい現在行は以前と変わりません。 (.,.)l l (リスト)コマンドは、アドレス指定した行を標準出力に視覚的に明確な形式で書き 出します。以下の表にある文字は、対応するエスケープシーケンスとして書き出され ます。表にないプリント不可能な文字は、(最上位バイトを最初に)文字のバイトごと に(前にバックスラッシュ文字を付けて)3桁の8進数として書き出されます。 長い行は、バックスラッシュ文字に続く改行で示された位置で折り返します。各行の 終端には $ のマークが付けられます。 l (エル)コマンドは、 e, E, f, q, Q, r, w, また は! 以外のすべてのコマンドに追加できます。現在の行番号は最後に書き出した行 のアドレスに設定されます。 エスケープ ASCII エスケープ シーケンス 意味 名称 シーケンス \\ バックスラッシュ \ \r 復帰 CR \a 警報 BEL \t 水平タブ HT \b バックスペース BS \v 垂直タブ VT フォームフィード FF \f (.,.)ma ASCII 意味 名称 m (移動)コマンドは、 a でアドレス指定した行の後にアドレス指定した(単一または 複数の)行の再位置決めをします。 a については、アドレス0は正当であり、アドレス 指定した(単一または複数の)行は、ファイルの先頭に移動されます。アドレス a が移 352 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ed(1) ed(1) 動させられる行の範囲内に収まると、エラーになります。正常終了すると、新しい現 在行は最後に移動した行になります。 (.,.)n n (番号)コマンドは、各行の前にその行番号とタブ文字を付けてアドレス指定した行 をプリントします。正常終了すると、新しい現在行は最後にプリントした行になりま す。 n コマンドは、 e, f, r, または w 以外のすべてのコマンドに追加できます。 (.,.)p p (プリント)コマンドは、アドレス指定した行をプリントします。正常終了すると、 新しい現在行は最後にプリントした行になります。 p コマンドは、 e, E, f, q, Q, r, w, または ! 以外のすべてのコマンドに追加できます。例えば、 dp は現在の行を 削除して新しい現在行をプリントします。 P P (プロンプト)コマンドにより、 ed は、後続するすべてのコマンドに対してアスタ リスク (*) (コマンド行で -p オプションを指定する場合には string )でプロンプトを 示します。 P コマンドは、このモードを交互にオン、オフします。このモードの初 期状態は、 -p オプションが指定された場合はオンであり、指定されなかった場合は オフです。現在の行番号は変更されません。 q q (終了)コマンドにより、 ed は終了します。ファイルの自動書き込みは行われませ ん (ただし、この後の「 診断」を参照)。 Q エディターは、最後の w コマンド以降にバッファー内に変更があるかどうかを チェックせずに、無条件に終了します。 ($)r file r (読み込み)コマンドは、指定した file をアドレス指定した行の後のバッファーに読 み込みます。ファイル名を与えない場合、記憶しているファイル名があれば、これを 使用します( e および f コマンドを参照)。 file が、 ed が呼び出されてから最初に 言及されたファイル名でない限り、記憶しているファイル名は変更されません。 r では、アドレス0は正当であり、 file の内容をバッファーの先頭に入れます。読み込 みが正常終了すると、読み込んだ文字数が表示されます。正常終了すると、新しい現 在行は最後にバッファーに読み込んだ行になります。 file 名が ! から始まる場合、 残りの行はシェルコマンドとみなされ、その標準出力が読み込まれます。例えば、 $r !ls は、カレントディレクトリのファイルのリストをエディット対象のファイル の終端に追加します。シェルコマンドはカレントファイル名として記憶されません。 (.,.)s/RE/replacement/flags s (置き換え)コマンドは、それぞれのアドレス指定した行から指定した RE の出現を 検索します。グローバル置換インディケータ g がコマンドの後にある場合、一致の ある行ごとに、すべての(オーバラップしない)一致した文字列は replacement で置き 換えられます。グローバルインディケータがなければ、一致した文字列の最初のもの だけが置き換えられます。番号 n がコマンドの後にある場合、アドレス指定した行ご とに一致した文字列の n 番目のものだけが置き換えられます。置換えが すべてのア ドレス指定した行に対して異常終了すると、エラーになります。 / の代わりにス HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 353 ed(1) ed(1) ペースまたは改行以外の任意の文字を使って 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 コマンドに指定したフォーマットで書き出されます。 p 置換えが行われた最終行を標準出力に書き出します。行は p コマンドに指定したフォーマットで書き出されます。 (.,.)ta m コマンドと同じですが、アドレス指定した行のコピーがアドレス a (0も可能)の後 に入れられる点が異なります。正常終了すると、新しい現在行はコピーの最終行にな ります。 u u (取消し)コマンドは、バッファー内の何らかの内容を変更した最新コマンド、つま り最新の a, c, d, g, i, j, m, r, s, t, v, または V コマンドの効果を無効にします。 g, 354 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 ed(1) ed(1) 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 名が ! から始まる場合、残りの行はシェルコマンドとみなされ、その標準出力 がアドレス指定した行になります。このようなシェルコマンドはカレントファイル名 として記憶されません。 X キー文字列は標準入力から要求されます。後続する e, r, および w コマンドは、 crypt(1) のアルゴリズムを使ってこのキーでテキストの暗号化と解読を行います。明 示的に空のキーにより、暗号化はオフになります。 ($)= アドレス指定した行の行番号が表示されます。現在の行アドレスはこのコマンドに よって変化しません。 !shell-command ! の後の行の残りの部分はシェルに送られ、コマンドとして解釈および実行されま す。このコマンドのテキストの中で、エスケープしていない文字 % は、記憶されて いるファイル名と置き換えられます。シェルコマンドの最初の文字として ! がある と、これは前のシェルコマンドのテキストと置き換えられます。したがって、 !! は 最後のシェルコマンドを繰り返します。何らかの展開が行われると、展開された行は エコーされます。正常終了すると、現在の行アドレスは不変です。 (.+1) newline 行にアドレスのみがある場合、そのアドレス指定した行がプリントされます。改行の みは、 .+1p. と等価です。このテクニックは、バッファー内を順方向に移動するの に便利です。 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 355 ed(1) ed(1) 割込みシグナル( ASCII DEL または BREAK )が送信されると、 ed は、 ? をプリントし、コマンド レベルに戻ります。 次のサイズ制限、つまりグローバルコマンドリスト当たり256文字、ファイル名当たり64文字、およ びバッファー内の32M文字が適用されます。行数への制限は、ユーザーメモリーの量によって決まり ます。各行には1つのワードが必要です。 多言語化対応 環境変数 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 を使用してください。 ? file アクセス不能なファイル。詳細な説明を表示するには、 h または H を使用してください。 バッファー全体を書き込んだ最後の w コマンド以降にバッファーで変更が行われている場合、ユーザーが e または q コマンドでバッファーを破壊しようとすると、 ed は警告を発行します。 ed は ? または warn- ing: expecting ‘w’ を表示し、それから通常の編集処理を続行しますが、ユーザーが再度 e または q コマンドを入力すると、この2回目のコマンドが実行されます。 -s または - コマンド行オプションはこの機 能を禁止します。 356 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 ed(1) ed(1) 例 シェルスクリプトによって 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 のエラーメッセージを表示します。 ! コマンドは、 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が開発しました。 ファイル /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) Text Processing: User’s Guide の ed の項 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 357 ed(1) ed(1) 標準準拠 ed: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 red: SVID2, SVID3, XPG2, XPG3 358 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 elfdump(1) elfdump(1) ELF アプリケーション専用 名称 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 コマンドを使用します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 359 elfdump(1) elfdump(1) ELF アプリケーション専用 -j ソースファイルが +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 オプション と一緒に指定した場合に有効です。 360 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 elfdump(1) elfdump(1) ELF アプリケーション専用 (修飾子) 出力情報を短い形式でダンプします。オプション -h および -o と一緒に使う場合 -S に有効です。 -t シンボルテーブルのエントリーをダンプします。 -tx (Itaniumベース システム) -t オプションでダンプされる情報に加えて、シンボルテーブル内 の st_shndx の値をダンプします。このオプションは、シンボルテーブル内に保存された データを検証する際に役立ちます。 -T num num という索引をもつシンボルを表示します。 +T num2 (修飾子) 0から num2 の範囲内のシンボルを表示します。 -T と一緒に使用すると、 num から num2 範囲内のシンボルを表示します。 -t と一緒の場合に有効です。 -tv バージョン付きシンボルを表示します。 -u 使用法メニューを表示します。 -U アンワインドテーブルを表示します。 -v ( 修飾子) CTTI セクションヘッダーを検証した後で表示します。 -k オプションと一緒に指 定した場合に有効です。 -V elfdump のバージョン番号を表示します。 例 共有ライブラリでエクスポートされている関数を調べるには : $ 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 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 361 elfdump(1) elfdump(1) ELF アプリケーション専用 参照 システムツール ld(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/ 362 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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) 正しい場合は、メンバー名に置き換えられたグループ別名でヘッダーエントリー フォーマットで報告されます。書式は、次のとおりです。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 363 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 システム別名。 364 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 文字列変数で定義されるディレクトリ。ユーザーが一般にフォルダにメールメッセージ を保存するディレクトリです。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 365 elm(1) elm(1) メール トランスポート エージェント (MTA) 他のシステムへメールメッセージを送ったり、受け取ったりするプログラム。HP-UX システムで は、MTA は、sendmail です (sendmail(1M) を参照)。 mailcap 7 ビットおよび 8 ビット ASCII キャラクタだけでないメールメッセージを作成したり、表示する 方法に関する情報を含んだファイル。 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 はファイルモードで動作し ます。 366 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 elm(1) elm(1) パイプの場合は、その前のコマンドの出力が、ファイルの場合はその内容が、address-list のメンバーにメー ルされます。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 を選択した場合、プ ログラムは終了します。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 367 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) に従って、別々のメールパートを表 示します。 368 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 elm(1) elm(1) 別名 elm は、個人レベルに限った別名とシステム全体に適用する別名をサポートします。ユーザー個人の別名は、 各ユーザーに適用が限られ、システム別名は、それが存在するシステム上のすべてのユーザーに適用されます (newalias(1) を参照)。メッセージメニューから a (別名) コマンドを実行すると、別名メニューに入ります。 そのメニューから、現在のメッセージに対する別名を作成/保存、別の別名を作成/確認、および 1つまたは複 数の別名にメッセージを送信できます。 別名データは、2500バイトが限界です。2500バイトを超えるグループ別名を作成したい場合、sendmail シ ステム別名ファイル /etc/mail/aliases にその別名を作成してもらうようにシステム管理者に相談してく ださい (sendmail(1M) を参照)。 対話モードメニューとコマンド この項では、対話モードのメインスクリーンであるメッセージメニューから始めます。メニューの残りは、ア ルファベット順で説明します。 メッセージメニュー メッセージインデックスは、メッセージメニューに表示されます。次のコマンドを使って、メッセージを操作 したり送信したりできます。いくつかのメッセージは、ユーザーが応答を行って、そのアクションを完了しま す。これらの操作を取り消すには、 Ctrl-D を使用します コマンド : !command シェルエスケープ。elm を終了せずに、shell 文字列変数で定義されたシェルをコ マンドに送る場合に使用します。 # 現在のメッセージに関する既知の情報をすべて表示します。 $ elm を終了せずに、メッセージを再調整します。すでに削除用としてマークされた メッセージをここで実際に削除するかどうかを決定できます。メッセージが削除され たり、ステータスフラグが変更された場合、メッセージは、メールボックスファイル に書き込まれます。すべてタグは削除されます。 % 現在のメッセージへの返信アドレスを表示します。 * 現在のメッセージのポインターを最後のメッセージに設定します。 + 次のメッセージインデックス ページ (次ページがある場合) を表示します。 − 直前のヘッダーインデックス ページ (前ページがある場合) を表示します。 / pattern パターンマッチ。現在のメールボックス インデックスの from および subject で pattern に関する行を検索できます。検索は現在のメッセージから開始され、インデック スの 最初に戻ります。現在のメッセージポインターはパターンが一致した最初のメッ セージに設定されます。大文字と小文字の区別はされません。 // pattern パターンマッチ。現在のフォルダ内のメールのすべての pattern を検索します。検索 は現在のメッセージから開始され、フォルダの 最初に戻ります。現在のメッセージポ HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 369 elm(1) elm(1) インターはパターンが一致した最初のメッセージに設定されます。大文字と小文字の 区別はされません。日本語の検索はサポートされません。 < カレンダー。メッセージをカレンダーエントリーを走査し、calendar ファイルをそれ らに追加します。カレンダーエントリーは、最初が空白でないキャラクタで、−> で 始まる行として定義されます。例えば次のようになります。 −>calendar-entry 区切り記号 −> と次の空白は、エントリーが calendar ファイルに追加される前に削 除されます。残りの空白行は無視されます。calendar ファイル名は、elmrc ファイ ルまたはオプションメニューで定義できます。 = 現在のメッセージポインターを最初のメッセージにセットします。 > フォルダに保存。メッセージメニューの s (保存) コマンドと同じです。 ?key ... キーのヘルプ。key に関する簡単な説明が表示されます。? を押すと、使用できる各 コマンドに関する要約リストが表示されます。ピリオド (.) を押すと、メッセージメ ニューに戻ります。 @ | 現在のスクリーン上にインデックスされたメッセージの要約を表示します。 現在のメッセージまたはタグ付けされたメッセージのセットを、希望する別のフィル ターへパイプします。shell 文字列変数で定義されたシェルを使用します。 n 現在のメッセージを新たに指定。現在のメッセージポインターを n としてインデック スされるメッセージに変更します。そのメッセージがヘッダーの現在のページに存在 しない場合は、該当するページが表示されます。 Return 現在のメッセージの読み取り。スクリーンがクリアされ、pager 文字列変数で定義 されるページャーによってメッセージが表示されます。 a b 別名。別名メニューに切り替えます。 メールの再送。このコマンドは、メッセージを編集せず、返信アドレスをユーザー自 身ではなく元の送信者に設定することを除けば、転送コマンドと同様です。 c フォルダの変更。このコマンドは、メッセージメニューでメッセージの表示元のファ イルを変更するため使用します。ファイル名を尋ねるプロンプトが表示されます。 ファイルはメッセージ形式になっている必要があります。そうでない場合、elm は 異常終了します。シェルを表す通常のワイルドカード、および以下の特殊名を使用で きます。 370 ! 受信メールフォルダ。 > receivedmail 文字列変数で定義される、受信済みフォルダ。 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 elm(1) elm(1) C < sentmail 文字列変数で定義される、送信済みフォルダ。 . 前に使用したフォルダ。 @alias alias 別名に対応するログイン名のためのデフォルトのフォルダ。 = filename maildir 文字列変数で定義されるディレクトリ内のファイル。 メッセージのコピー。現在のメッセージまたはタグ付けされたメッセージのセット を、フォルダに保存します。ファイル名を尋ねるプロンプトがデフォルト値付きで表 示されます。デフォルト値は、 maildir ディレクトリ内のファイルで、保存する セットの最初のメッセージの送信者のユーザー名を持つものです。タグはすべてクリ アされます。> および s コマンドとは異なり、メッセージは削除用にマークされ ず、現在のメッセージポインターは移動しません。 d 削除。現在のメッセージを削除用にマークします。 Ctrl-D 、u、および Ctrl-U も参照してください。 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 と応えると、現 在のメッセージが送信バッファーにコピーされ、ユーザーのシグニチャファイル (も しあれば) が付加されます。 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 371 elm(1) elm(1) 送信メッセージの編集を選択している場合 ( 上記) は、エディターが起動されます。 エディターの終了時、またはエディターを起動しなかった場合は、送信メニューが表 示されます。 g グループ応答。To: にはメッセージの送信者を指定し、Cc: には元のメッセージの To: および Cc: に指定されていたすべての受信者を指定して、自動的に応答が送信 されます。それ以外の点は、このコマンドは r コマンドと同様です。 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 (上級) であり、かつ、このセッション中 に前に送信されたか送信を取り消されているメッセージがある場合は、次のプロンプ トが表示され、代わりに最後に保存したメッセージを使用するかどうか尋ねられま す。 372 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) Recall last kept message instead? (y/n) y と応えると、前のメッセージが送信バッファーに返されます。 n と応えると、 ユーザーのシグニチャファイル (もしあれば) が送信バッファーにコピーされます。 次に、editor 文字列変数で定義されるエディターが起動されます。エディターを終 了した時点で、送信メニューが表示されます。 n 次のメッセージ。現在のメッセージポインターを次のメッセージに進め、 Return コマンドと同様にそのメッセージを表示します。 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 文字列変数で定義されるフォルダに移動され、次の質問も HP-UX 11i Version 2: December 2007 − 11 − Hewlett-Packard Company 373 elm(1) elm(1) 表示されます。 n と応えると、削除を取り消されたすべてのメッセージが受信メールボック スに返され、次の質問は表示されません。 Keep unread messages in incoming mailbox? (y/n) 受信メールボックスを読み取り中のとき、Move read messages... の質問 に対して y と応えた場合 (または、この質問が表示されなかった場合)、未読 のメッセージがあれば、この質問が表示されます。デフォルトの応答は、 alwayskeep 論理変数により決定されます (ON は y (はい) を意味し、OFF は n (いいえ) を意味します)。 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 ディレクトリ内のファイルで、保存 するセットの最初のメッセージの送信者の名前を持つファイルです。タグはすべてク リアされ、メッセージは削除用にマークされます。現在のメッセージポインターは、 最後に保存されるメッセージの後の最初の削除を取り消されたメッセージに移りま す。 374 Hewlett-Packard Company − 12 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) t タグのトグル。現在のメッセージを後で操作するためタグ付けし、メッセージポイン ターを削除を取り消された次のメッセージに移動します。操作としては、|、C、p、 および s を実行できます。 または、タグ付けされたメッセージからタグを削除します。 Ctrl-T コマンドも参 照してください。 T タグのトグル。現在のメッセージを後で操作するためタグ付けし、メッセージポイン ターは移動しません。操作としては、|、C、p、および s を実行できます。 または、タグ付けされたメッセージからタグを削除します。 Ctrl-T コマンドも参 照してください。 Ctrl-T 指定したパターンを持つすべてのメッセージにタグを付けます。または、タグ付けさ れたすべてのメッセージからタグを削除します。 タグの付いたメッセージが 1つでもある場合、タグを削除するかどうかを尋ねるプロ ンプトが表示されます。y と応えると、古いタグが削除されます。n と応えると、 タグが残されます。どちらの場合にも、各メッセージの From: または Subject: 行でパターンマッチすべき文字列を尋ねるプロンプトが表示されます。この基準を満 たすすべてのメッセージがタグ付けされます。ヌル文字列 ( 改行だけ ) を入力する と、メッセージのタグ付けは終了となります。 u 削除取り消し。現在のメッセージから削除マークを除去します。d、 Ctrl-D 、およ び Ctrl-U も参照してください。 Ctrl-U 削除取り消し。From: および Subject: ヘッダーエントリーに指定されたパター ンを持つすべてのメッセージから、削除マークがあればそれを削除します。 d 、 Ctrl-D 、および u も参照してください。 v 添付ファイルの表示。現在のメッセージに対して添付ファイル表示メニューを呼び出 します。 x 終了。メールボックスを変更せず、プログラムを終了します。削除などの変更がペン ディング中の場合は、その変更を破棄していいかどうかを尋ねるプロンプトが表示さ れます。 y と応えると、変更は破棄され、プログラムが終了します。 n と応える と、終了が破棄され、メッセージメニューのコマンドプロンプトに戻ります。 X メールボックスを変更せず、即座にプログラムを終了します。ペンディング中の変更 はすべて破棄されます。 メッセージインデックス 現在のフォルダ内の一連のメッセージは、メッセージメニューでは次の形式に従って 1行に 1つずつインデッ クス付きで表示されます。 HP-UX 11i Version 2: December 2007 − 13 − Hewlett-Packard Company 375 elm(1) elm(1) sssnum mmm d from (lines) subject 意味は、次のとおりです。 sss 3 文字のステータスフィールド。ステータスについては 「メッセージステータス」の項を 参照してください。 num 通し番号のメッセージインデックス番号。 mmm 最後の Date: ヘッダーエントリーまたは From メッセージヘッダーから取った月。 d 最後の Date: ヘッダーエントリーまたは From メッセージヘッダーから取った日。 from 最後の From: ヘッダーエントリーまたは From メッセージヘッダーから取った送信者 名。 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 とマークされていましたが、未読です。 376 Hewlett-Packard Company − 14 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) 空白。メッセージは既読です。 2 列目 : 固定ステータス C 機密情報。Sensitivity: 3 ヘッダーエントリーが指定されたメッセージです。このメッ セージは ISO X.400 標準で規定される会社の機密文書と見なされます。送信メールに対して この値を設定するには、ヘッダーメニューのユーザー定義オプションを使用します。 U P 緊急。Priority: ヘッダーエントリーが指定されたメッセージです。 私信。Sensitivity: 2" ヘッダーエントリーが指定されたメッセージです。このメッセー ジは ISO X.400 標準で規定される私信と見なされます。送信メールに対してこの値を設定す るには、ヘッダーメニューのユーザー定義オプションを使用します。 A F アクション。Action: ヘッダーエントリーが指定されたメッセージです。 フォーム。elm のフォームメッセージです。このメッセージには、Content-Type: mailform ヘッダーエントリーが指定されています。 M MIME。メッセージまたはその添付ファイルが、metamail を使って表示できる MIME 形式 になっています。 ? MIME。メッセージまたはその添付ファイルが、サポートされないバージョンの MIME 形式 になっています。 空白。通常のステータス。 3 列目 : タグのステータス + タグ付き。タグ付けされたメッセージは、一部のコマンドではグループとして処理されます。 「メッセージメニュー」の項の t およびその他のコマンドを参照してください。 空白。このメッセージにはタグは使われていません。 ビルトインエディター builtin ビルトインエディターを使って送信メッセージを作成する場合、エディターは空白の行にテキスト 行を入力するよう要求するプロンプトを表示します。メッセージを終了するにはピリオド (.) を入力してくだ さい。続いて送信メニューが表示されます。 ビルトインエディター コマンドは、escape 文字列変数で定義されるエスケープ文字で始まる行です。デ フォルトのエスケープ文字は、波形記号 (˜) です。 注記 : リモートログイン プログラムの中には、行頭に波形記号を指定した場合に、波形記号をデフォルトの エスケープ文字として使用するものがあります。 (波形記号が表示されないので判断できます。) 一般に、波形 記号が伝送されるのは、波形記号の次にプログラムによって認識されない文字を入力した場合、または波形記 号の次に波形記号を入力した場合です。詳細は、プログラムのドキュメンテーションを参照してください。) ビルトインエディターのコマンドは、次のとおりです。 HP-UX 11i Version 2: December 2007 − 15 − Hewlett-Packard Company 377 elm(1) elm(1) ˜! [command] command で指定するシェルコマンドを実行する ( 例えば ˜!ls) か、または shell 文字列変数で定義されるシェルを使って対話形式のシェルを起動しま す。 ˜< command command で指定するシェルコマンドを実行し、そのコマンドの出力をエディ ターバッファーに入れます。例えば、"˜< who" は who コマンドの出力をメッ セージに挿入します。 ˜? 簡単なヘルプメニューを表示します。 ˜˜ 行頭を 1つの波形記号 (˜) 文字にします。 ˜b ブラインド カーボンコピー (Bcc:) リストを変更するためのプロンプトを表示 します。 ˜c ˜e カーボンコピー (Cc:) リストを変更するためのプロンプトを表示します。 もし可能なら、easyeditor 文字列変数で定義されるエディターをメッセージ に対して起動します。 ˜f [options] 指定するメッセージのリスト、または現在のメッセージを追加します。このエ スケープシーケンスでは readmail が使用されるので、readmail オプショ ンがすべて使用できます (readmail(1) を参照)。 ˜h 使用できるヘッダー (To:、Cc:、Bcc:、および Subject:) をすべて変更する ためのプロンプトを表示します。 ˜m [options] ˜f と同様ですが、各行の先頭に現在のプレフィックスが付けられます。prefix 文字列変数を参照してください。 ˜o メッセージに対して使用するエディター名を尋ねるプロンプトを表示します。 ˜p その時点までにタイプされたメッセージを表示します。 ˜r filename 指定するファイルの内容を取り込み (読み込み) ます。 ˜s Subject: 行を変更するためのプロンプトを表示します。 ˜t To: リストを変更するためのプロンプトを表示します。 ˜v もし可能なら、visualeditor 文字列変数で定義されるエディターをメッセー ジに対して起動します。 別名メニュー 別名メニューは、メッセージメニューの a コマンドを使って呼び出します。別名ファイルのソーステキスト は、ファイル $HOME/.elm/aliases.text に保存されています。このファイルは直接編集することもでき ますし、以下のコマンドを使って操作することもできます。 ユーザーのデータベースおよびシステムデータベースに現在登録されている別名が、メッセージメニューに似 378 Hewlett-Packard Company − 16 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) たインデックス付きのリストで表示されます。エントリーの形式は、「別名インデックス」の項を参照してく ださい。インデックスは、aliassortby 文字列変数で定義される順序に従ってソートされています。 コマンドは、次のとおりです。 $ newalias を実行して別名テキストファイルから別名データベースを再構築するこ とにより、テキストファイルとデータベースを再調整します。削除用にマークされた 別名は削除され、タグ付きの別名はタグが外され、新規および変更された別名が認識 されます。これらの変更を反映して、別名スクリーンが更新されます。 + 次の別名インデックスページ (もしあれば) を表示します。 − 前の別名インデックスページ (もしあれば) を表示します。 / pattern パターンマッチ。別名リストの別名およびユーザー名フィールドで、pattern を検索 します。検索は現在の別名から始まり、折り返して別名リストの最初に戻ります。別 名ポインターは、パターンが一致した最初の別名に設定されます。大文字と小文字の 区別はされません。 // pattern パターンマッチ。別名リストのすべてのフィールド (別名、ユーザー名、コメント、 およびアドレス) で、pattern を検索します。検索は現在の別名から始まり、折り返 して別名リストの最初に戻ります。別名ポインターは、パターンが一致した最初の別 名に設定されます。大文字と小文字の区別はされません。 / pattern パターンマッ チ。このコマンドでは、別名リストで現在の別名から末尾まで、すべての別名および ユーザー名のエントリーを対象に検索することができます。パターンの最初の文字が / であれば、コメントおよび完全に展開されたアドレスフィールドも検索の対象とな ります。この検索では、大文字と小文字の区別があります。別名の数が多い場合、特 定の別名を検索するのに役立ちます。 ?key ... キーのヘルプ。key に関する簡単な説明が表示されます。? を押すと、使用できる各 コマンドに関する要約リストが表示されます。ピリオド (.) を押すと、別名メニュー に戻ります。 a 現在のメッセージの別名。このコマンドにより、現在のメッセージの返信アドレスを アドレスフィールドとして持つ別名が作成できます。表示されるプロンプトに対し て、ユニークな別名を入力したり、コメントおよびアドレスフィールドを編集するこ とできます。 c 現在のユーザー別名の変更。新しい値を尋ねるプロンプトでは、古い別名フィールド の値がデフォルトとして使用されます。別名を変更することはできません。別名が複 数別名レコードの 1つであれば、その別名はそのレコードから削除され、独立したレ コードとして保存されるようになります。古い別名には、N というマークが付きま す。別名の変更は、次の別名の再調整以降有効になります。 HP-UX 11i Version 2: December 2007 − 17 − Hewlett-Packard Company 379 elm(1) elm(1) d 現在のユーザー別名を削除用にマーク。実際の削除は、q、r、または i コマンドを 使って別名メニューを終了するか、または $ コマンドを使って別名データベースを 再調整する時点で行われます。 (この方法でシステム別名を削除することはできませ ん。) Ctrl-D 指定した検索パターンを持つユーザー別名を削除します。 e editor 文字列変数で定義されるエディターを使って、ユーザーの aliases.text ファイルを編集します。編集を終了する時点で、別名が再調整されます ($ コマンド を参照)。 f 完全に展開された別名の表示。現在選択されている別名が完全に展開され、表示され ます。 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 380 スクリーンの再描画。 Hewlett-Packard Company − 18 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) m 現在の別名またはタグ付けされた別名のセットに、メールを送信します。対応する展 開済みアドレスが To: ヘッダーエントリーに書き込まれ、メッセージメニューの m (メール) コマンドと同様に処理されます。タグはクリアされます。 n ユーザー別名の作成。elm はユニークな別名の入力を要求するプロンプト、次いで アドレスの入力を要求するプロンプトを出します。ここで提供した情報は、ユーザー 個人の alias_text ファイル ($HOME/.elm/aliases.text) に追加され、その後 データベースに追加されます。 q 中止。メッセージメニューに戻ります。別名が削除用にマークされている場合、削除 するかどうかを尋ねるプロンプトが表示されます。別名インデックスポインターは変 更されません。別名テキストファイルが変更された場合は、データベースが再調整さ れます。 Q 中止。メッセージメニューに戻ります。別名が削除用にマークされている場合、その マークは変更されず、別名は削除されません。別名インデンクスポインターは変更さ れません。別名テキストファイルが変更された場合は、データベースが再調整されま す。 r、R t 別名メニューの q および Q コマンドを参照してください。 現在の別名を後で操作するためタグ付けし、別名ポインターを削除を取り消された次 のメッセージに移動します。操作としては、c、m、または n を実行できます。 または、タグ付けされた別名からタグを削除します。 Ctrl-T コマンドも参照して ください。 T タグ。現在の別名を後で操作するためタグ付けし、別名ポインターは変更しません。 操作としては、c、m、または n を実行できます。 または、タグ付けされた別名からタグを削除します。 Ctrl-T コマンドも参照して ください。 Ctrl-T 指定するパターンを含むすべての別名を、後で操作できるようタグ付けします。操作 としては、c、m、または n を実行できます。または、タグ付きけされたすべての別 名からタグを削除します。 現在タグの付いた別名が 1つでもあれば、タグを削除するかどうかを尋ねるプロンプ トが表示されます。y と応えると古いタグが削除されます。n と応えるとタグが残 されます。いずれの場合にも、別名、または各別名のユーザー名フィールドでパター ンマッチすべき文字列を尋ねるプロンプトが表示されます。この基準を満たすすべて の別名がタグ付けされます。ヌル文字列 ( 改行だけ) を入力すると、別名のタグ付け は終了となります。 u 削除取り消し。現在の別名から削除マークを除去します。 d 、 Ctrl-D 、および Ctrl-U も参照してください。 HP-UX 11i Version 2: December 2007 − 19 − Hewlett-Packard Company 381 elm(1) elm(1) 削除取り消し。From: および Subject: ヘッダーエントリーに指定されたパター Ctrl-U ンを含むすべてのメッセージから、削除マークがあればそれを除去します。 d 、 Ctrl-D 、および u も参照してください。 表示。現在の別名の address-list を表示します。 v 削除を処理せずに、別名メニューを終了します。削除用にマークされた別名について x は、そのマークが除去され、別名の追加が行われていても newalias は実行されま せん。 別名インデックス 現在のデータベース内の一連の別名は、別名メニューでは 1 行に 1 つずつ、インデックス付きで表示されま す。データベース値の定義は、newalias(1) で行います。 ssnum fullname[, comment] type [(S)] alias 意味は、次のとおりです。 ss 2 文字のステータスフィールド。1 文字目は次のどれかです。 D 削除。この別名は削除のためマークされています。 N 新規。この別名は新規の別名か、または別名テキストファイルで変更されているけ れどもまだ現在のデータベースに取り込まれていない別名です。再調整が必要で す。 空白。この別名は現在のデータベースに存在します。 2 文字目は次のどれかです。 + タグ。この別名はタグ付きです。 空白。この別名にはタグはありません。 num 別名のインデックス番号。 fullname 別名の展開済みアドレスで使用される、フルネーム。形式は、次のとおりです。 firstname lastname firstname 別名データベースに登録されている姓。 lastname 別名データベースに登録されている名。 comment 別名データベースに登録されているコメント。 type 別名のタイプ。1つのアドレスを持つ別名の場合は Person、複数のアドレスを持つ別名の 場合は Group です。 (S) これが表示される場合、このエントリーは elm システム別名データベースからのもので す。これが表示されない場合、このエントリーは個人用別名データベースからのもので 382 Hewlett-Packard Company − 20 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) す。 alias 別名。このレコードに複数の別名がある場合、1つの名前ごとに1つのインデックスエン トリーがあります。 添付ファイル設定メニュー 添付ファイル設定メニューは、添付ファイル送信メニューの a (追加) または m (変更) コマンドを使って呼び 出します。このメニューでは、添付ファイルのデフォルトおよび現在の設定が表示されます。このメニューを a コマンドで呼び出した場合、ファイル名を尋ねるプロンプトが自動的に表示されます。コマンドは、次のと おりです。 d 説明。この値は、Content-Description: ボディパート ヘッダーエントリーに書き込まれ ます。デフォルトはファイル名です。 e Content-Transfer-Encoding。各種のメール トランスポート エージェントを通じてファイルを 送受信できるようにするための、ファイルのコード化方式です。次の値を選択できます。 7bit エンコーディングされない、通常の US-ASCII テキスト。 8bit エンコーディングされない、上位ビットがセットされた 8 ビット文字。 quoted-printable 上位ビット文字が =hh (ここで hh はその文字の 16 進表記) に変換された、制御文 字付きのテキスト。行末の = は、ソース行が 2行に分割されたことを表します。 base64 ビットが 6 ビットのグループにエンコーディングされ、US-ASCII 文字 A−Z、 a−z、0−9、+、および / の数値順にレンダリングされる、任意のファイルタイ プ。最後の行は、4 文字の倍数になるよう = 文字でパディングされる場合があり ます。 binary エンコーディングされない 2 進データ。 選択した値は、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]... HP-UX 11i Version 2: December 2007 − 21 − Hewlett-Packard Company 383 elm(1) elm(1) 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 は USASCII です。 application/octet-stream プログラムバイナリ、制御文字または上位ビットがセットされた文字を含むファイル などの、汎用的なタイプです。 application/postscript PostScript 対応のプリンターまたはビューアで表示できるファイルです。 message/rfc822 「用語」の項で説明されているメッセージ形式のファイルです。 image/jpeg, image/gif 表示用プログラムを必要とするピクチャ形式です。 audio/basic 再生用プログラムを必要とするオーディオ形式です。 video/mpeg 再生用プログラムを必要とするオーディオ / ビデオ形式です。 添付ファイル送信メニュー 添付ファイル送信メニューは、送信メニューの a コマンドを使って呼び出します。このメニューでは、メッ セージとともに送信される添付ファイルが、「添付ファイルインデックス」の項で説明した形式の 1行に 1つ ずつのリストで表示されます。 コマンドは、次のとおりです。 a 添付ファイルの追加。添付ファイル設定メニューを呼び出し、ファイル名を尋ねるプ ロンプトを表示します。 384 Hewlett-Packard Company − 22 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) d e 添付ファイルの削除。 添付ファイルの編集。添付ファイルが編集可能な場合、それに関連付けられたエディ ターを呼び出します。 j 現在の添付ファイルポインターを次の添付ファイルに移動します。 k 現在の添付ファイルポインターを前の添付ファイルに移動します。 Ctrl-L スクリーンの再描画。 m 添付ファイルの属性の変更。添付ファイル設定メニューを呼び出します。 p 添付ファイルの表示。メッセージメニューの p (プリント) コマンドを参照してくだ さい。 q s 中止。送信メニューに戻ります。 添付ファイルの保存。メッセージメニューの C (コピー) コマンドを参照してくださ い。 添付ファイル表示メニュー 添付ファイル表示メニューは、送信メニューの v コマンドを使って呼び出します。このメニューでは、フォ ルダメッセージ内の添付ファイルが、「添付ファイルインデックス」の項で説明した形式の 1行に 1つずつの リストで表示されます。 コマンドは、次のとおりです。 Return 現在の添付ファイルを表示します。 j 現在の添付ファイルポインターを次の添付ファイルに移動します。 k 現在の添付ファイルポインターを前の添付ファイルに移動します。 Ctrl-L スクリーンの再描画。 p 添付ファイルの表示。メッセージメニューの p (プリント) コマンドを参照してくだ さい。 q s 中止。前の添付ファイルレベルまたはメッセージメニューに戻ります。 添付ファイルの保存。メッセージメニューの s (保存) コマンドと同様、添付ファイ ルを受信した形式で保存します。 v サブ添付ファイルリスト (もしあれば) を表示します。 添付ファイルインデックス 添付ファイル送信メニューおよび添付ファイル表示メニューでは、一連の添付ファイルは次の形式でリストさ れます。 HP-UX 11i Version 2: December 2007 − 23 − Hewlett-Packard Company 385 elm(1) elm(1) num filename (size) format [encoding] 意味は、次のとおりです。 num 添付ファイルのインデックス番号。 filename 添付ファイルの名前。 size 添付ファイルのサイズ (MB)。ファイルまたはメッセージから計算されます。 type/subtype 添付ファイルのタイプまたはサブタイプ。この値は、Content-Type: ヘッダーに 書き込まれています。 encoding エンコーディングタイプ。この値は、Content-Transfer-Encoding: ヘッダーに 書き込まれています。 ファイルアタッチメント elm は次のような、1つ以上のキーラインを指定する古い形式をまだサポートしています。 [include file contenttype/subtype [encoding]] メールに添付したいファイルがメッセージ本体の中に含まれて、メッセージの一部になります。行 include の前後、またはその間のテキスト行は、別個のアタッチメントになります。 エンコーディングパラメータの指定は必須ではありません。パラメータ contenttype/subtype および encoding の有効な値についての情報は、RFC 1341 を参照してください。 例: ファイル cartoon.gif を base-64 エンコーディングを使用してメッセージに含めるには、次のように指 定します。 [include cartoon.gif image/gif base64] あるいは、ASCII 文字だけで書かれたテキストファイル foo.txt をメッセージに含めるには、次のように指 定します。 [include foo.txt text/plain] 暗号化メッセージ セキュリティとプライバシーを向上させるために、キーライン [encode] と [clear] を使用して、メッ セージを暗号化することができます。 次の送信メッセージを例に説明します。 Hi Tom, How are you doing? [encode] This is a private message!! [clear] Keep in touch. 386 Hewlett-Packard Company − 24 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) - Jerry ここで、行 [clear] は [encode] から始まり [clear] で終わるブロックの暗号化の終端を意味します。 上のメッセージは、エディターで編集中は可読形式ですが、送信待ち状態であることが確認され次第、elm メーラーは次を表示して入力を待ちます。 Enter encryption key: @ ここでは、暗号化キー (連続した8文字以下) を画面にエコーバックしない形式で受け付けます。キーは再入力 が求められます。コピーオプションを有効にしていると、プログラムはメッセージのコピーを暗号化した形式 で保存します。これによりメールアーカイブのプライバシーとセキュリティが向上します。 メーラーが暗号化キーの入力を要求しない場合は、[encode] が行の先頭の8文字としては入力されていませ ん。同様に、暗号化の終端を示すための行 [clear] も、行の先頭の7文字として入力する必要があります。 一方で、メールを受け取る側 (elm を使用しているものとします) では、メールの復号 (暗号解除) キーの入力 を次のように要求されます。 Enter decryption key: @ 入力した復号キーが正しければ、プログラムはメールを復号して、各行を読み取り可能な形式で表示します。 間違った復号キーを入力した場合は、同じメッセージが暗号化された状態で表示されます。 注記: 現在は pipe または print で暗号化されたメールの復号はサポートされていません。 メールアーカイブ この機能により、メッセージの内容がアーカイブすべきものであることを指定することができます (コピーを 有効にしてある場合)。 メッセージの終わりの行をアーカイブしないようにするには、キーライン [nosave] または [no save] を メッセージの本体に含めます。 保存されるメールには、キーライン [nosave] あるいは [no save] 以降の行が含まれなくなりますが、送 信されるメールにはキーライン行以外のすべての行が含まれるようになります。 ヘッダーメニュー ヘッダーメニューは、送信メニューの h コマンドを使って呼び出します。このメニューを使って、メッセー ジの一般的なヘッダーエントリーを追加、変更、および削除できます。一般に、空欄となっているヘッダー は、メッセージには含まれません。 コマンドは、次のとおりです。 Return !command 送信メニューに戻ります。 シェル。 shell 文字列変数で定義されるシェルを使って、 command を実行しま す。 HP-UX 11i Version 2: December 2007 − 25 − Hewlett-Packard Company 387 elm(1) elm(1) 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 In-Reply-To: ヘッダー。文字列を入力してください。 n Precedence: ヘッダー。優先度の名前を入力してください。precedences 文字 列変数がヌル以外に設定されている場合、この名前は、この変数により定義されてい る名前でなければなりません。この名前が優先順位と関連付けられており、かつ Priority: ヘッダーがヌルの場合は、Priority: ヘッダーに優先順位値が挿入さ れます。precedences がヌル、または設定されていない場合には、任意の値を入力 できます。 優先度名が sendmail 設定ファイル /etc/mail/sendmail.cf で定義されている 名前の 1つと一致すれば、それに応じて送信優先順位が変更されます。一致しない場 合は、優先順位は変更されません。 p Priority: ヘッダー。文字列を入力してください。受信したメッセージの中にこの エントリーがある場合、elm はメッセージインデックスの固定ステータスを表す列 に U と表示します。 r Reply-To: ヘッダー。個人用別名または 1つのアドレスを入力してください。この エントリーがある場合、elm およびその他のメーラは、返信用のアドレスを選択す るとき ( メッセージメニューの r ( 応答) コマンド)、From: ヘッダーの代わりにこ のヘッダーを使用します。 s Subject: ヘッダー。文字列を入力してください。 t To: ヘッダー。別名および実アドレスのリストを入力してください。別名は展開さ れ、アドレスおよびユーザー名として表示されます。 388 Hewlett-Packard Company − 26 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) u ユーザー定義のヘッダー。ユーザー独自のヘッダーエントリーを次の形式で定義して ください。 header-name: header-string header-name: には、空白を含めてはいけません。このコマンドを使って、「メッ セージステータス」の項で説明した Sensitivity: ヘッダーエントリーを作成した り、他のヘッダーを作成することもできますが、作成できるヘッダーは 1 つだけで す。ユーザー定義ヘッダーエントリーを含めるためのもう 1 つの方法については、 「ヘッダーファイル」の項を参照してください。 オプションメニュー オプションメニューは、メッセージメニューの o コマンドを使って呼び出します。このメニューは、configoptions 文字列変数 (elm の実行中に変更可能) で定義されるオプションのリストを表示します。該当す る文字 (大文字または小文字) と、その後に右括弧 ()) を入力したら、スクリーンに表示される指示に従ってく ださい。以下に、すべてのオプションプロンプトと対応する変数をリストします。 * というマークが付いて いるのは、デフォルトのオプションです。 A)rrow cursor 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 論理変数。 Y)our full name fullname 文字列変数。 * Z) signature dashes sigdashes 論理変数。 注記 : このメニューでは、定義されたセットの中の最初の screen-height−6 行だけが表示されます。screenHP-UX 11i Version 2: December 2007 − 27 − Hewlett-Packard Company 389 elm(1) elm(1) height は、スクリーン上のテキストの行数です。表示されないオプションは、変更できません。 オプションの変更が終わったら、以下のどれか 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 送信。メッセージを送信します。 フォームメッセージ elm に固有の機能で、フォームメッセージを作成したりフォームメッセージに応答することができます。 390 Hewlett-Packard Company − 28 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) フォームメッセージの作成 • ユーザーの 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 Manager:my manager Department:my department HP-UX 11i Version 2: December 2007 − 29 − Hewlett-Packard Company 391 elm(1) elm(1) 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- で始まる必要があります。そうしないと、 後の段階で同じ名前が他の意味に標準化された場合、ヘッダーとしての使用が無効になる危険性があります。 定義済みのヘッダー 以下のヘッダー名は、RFC 822 および RFC 1521 でメッセージヘッダーとして定義されています。 392 Bcc: (822) Cc: Comments: (822) Content-Description: Hewlett-Packard Company − 30 − (822) (1521) HP-UX 11i Version 2: December 2007 elm(1) elm(1) Content-ID: (1521) Content-Transfer-Encoding: Content-Type: (1521) Date: (822) Encrypted: (822) From: (822) In-Reply-To: (822) Keywords: (822) MIME-Version: (1521) (1521) Message-ID: (822) Received: (822) References: (822) Reply-To: (822) Resent-Bcc: (822) Resent-Cc: (822) Resent-Date: (822) Resent-From: (822) Resent-Message-ID: (822) Resent-Reply-To: (822) Resent-Sender: (822) Resent-To: (822) Return-Path: (822) Sender: (822) Subject: (822) To: (822) X-user-defined: (822) その他によく使われるヘッダー Action: Apparently-To: Content-Disposition: Content-Length: Expires: Mailer: Newsgroups: Precedence: Priority: Sensitivity: Status: X-Mailer: ELM の設定 elm は、 $HOME/.elm/elmrc 設定ファイルを通じて、ユーザーによる設定をサポートしています。設定 ファイルを作成するには、オプションメニューの > コマンドを使用します。このファイルでは、以下に説明 する文字列変数、数値変数、および論理変数をどのように組み合わせて指定してもかまいません。 文字列変数 文字列変数の形式は、次のとおりです。 string-name = string-value 以下の文字列変数が定義されています。 aliassortby 別名メニューの別名インデックスのソート順序。次の値を指定できます。 alias 別名でソート。 name 別名のフルネームでソート (姓が先)。 text 別名テキストファイルでの別名の順序でソート。 この値に reverse- というプレフィックスを付けると、ソート順序が逆 になります。デフォルトは name です。 HP-UX 11i Version 2: December 2007 − 31 − Hewlett-Packard Company 393 elm(1) elm(1) 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 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-7 394 Hewlett-Packard Company − 32 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) ISO-8859-8 ISO-8859-9 KOI8-R Shift_JIS configoptions オプションメニューで設定できるオプションの文字列。一連のオプション を 1 文 字 ず つ、 表 示 し た い 順 序 で 指 定 し て く だ さ い。 デ フォ ル ト は "ˆ_cdefsopyv_am_un" です。デフォルトのオプションは、以下の表では * が付いています。 オプションキャラクタは、次のとおりです。 displaycharset ˆ メニュータイトル。 _ 空白行。 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 論理変数。 ディスプレイでサポートされるキャラクタセット名。これは charset 文 字列変数とは別のものです。metamail が呼び出されるとき、この変数 は MM_CHARSET 環境変数にコピーされます。デフォルトは US-ASCII です。 HP-UX 11i Version 2: December 2007 − 33 − Hewlett-Packard Company 395 elm(1) elm(1) 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 文字列変数も参照してください。デ フォルトはありません。 To: ヘッダー内のアドレスはすべて、ローカルホストを明示的に表すも のでなければなりません。ローカルアドレスとは、elm による別名変換 の後、ドメイン名を含まないアドレスです。すなわち、ユーザー名だけ ( 例 : santaclaus) か、またはユーザー名とローカルホスト名の組み合わ 396 Hewlett-Packard Company − 34 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) せ (例 : 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/send- mail.cf の P 制御行で優先度を定義している場合、それに応じてメッ セージの送信優先順位が調整されます。sendmail(1M) を参照してくださ い。 このエントリーの形式は、次のとおりです。 HP-UX 11i Version 2: December 2007 − 35 − Hewlett-Packard Company 397 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 を指定できます。値を指定しない場合、ユーザーのロ 398 Hewlett-Packard Company − 36 − HP-UX 11i Version 2: December 2007 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 となります。 HP-UX 11i Version 2: December 2007 − 37 − Hewlett-Packard Company 399 elm(1) elm(1) weedout メールを読むとき表示する必要のないヘッダーエントリーのイニシャル文 字列のリスト。このリストは、weed 論理変数を ON に設定することによ り有効となります。 このリストは、必要に応じて何行にも続けることができますが、継続行の 先頭は空白でなければなりません。文字列の中に空白を入れるには、空白 の前後を引用符 (") で囲みます。ユーザーが指定する文字列は通常、以下 のデフォルトのリストに追加されます。 >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_ を指定し、続いてその他に表 400 Hewlett-Packard Company − 38 − HP-UX 11i Version 2: December 2007 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 より大きい値を設定すれば、大きいフォルダを読み込むための時間を短 HP-UX 11i Version 2: December 2007 − 39 − Hewlett-Packard Company 401 elm(1) elm(1) 縮できます。デフォルトは 1 です。 sleepmsg elm が診断メッセージを表示した後、それを消去するまでの待ち時間 ( 秒)。0 または正の整数を指定できます。デフォルトは 2 です。 timeout elm が受信メールボックスで新規メールの有無を再チェックする間隔 ( 秒)。デフォルトは 600 (10 分) です。 userlevel ユーザーの相対的な経験レベル。指定できる値は、次のとおりです。 0 初級ユーザー ( デフォルト)。コマンドメニューは、使用可能なコ マンドの一部を詳細に表示したものになります。 1 中級ユーザー。コマンドメニューは、使用可能なコマンドのより 多くを簡潔に表示したものになります。送信メッセージコマンド では、前に送信を取り消したメッセージを、現在の送信メッセー ジのテキストとして回復できます。 2 上級ユーザー。機能は 1 と同じです。 フォームメッセージを送信するには、レベル 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) 402 Hewlett-Packard Company − 40 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) に対するデフォルトの応答が y (はい) に設定されます。OFF の場合、デ フォルトの応答は n (いいえ) に設定されます。デフォルトは OFF です。 メッセージメニューの q コマンドを参照してください。 arrow ON の場合、メニューインデックスの現在の項目を、矢印 (−>) でマークし ます。OFF の場合、反転表示バーを使用します。プログラムを −a コマ ンド行オプション付きで起動した場合には、arrow は ON に設定されま す。デフォルトは OFF です。 ask ON の場合、メッセージメニューの q ( 中止) コマンドでプログラムを終 了するたびに、(状況に応じて) 次の質問が表示されます。 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 です。 HP-UX 11i Version 2: December 2007 − 41 − Hewlett-Packard Company 403 elm(1) elm(1) confirmfiles ON の場合、メールディレクトリ以外の既存のファイルにメッセージを追 加する前に、確認のプロンプトが表示されます。メールディレクトリ内の ファイルには影響はありません。OFF の場合については、下記の confirmappend および confirmfiles 操作を参照してください。デフォル トは OFF です。 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 メールディレクトリ内のファイルに追加する前に確認 メッセージを表示します。他のディレクトリ内のファイ 404 Hewlett-Packard Company − 42 − HP-UX 11i Version 2: December 2007 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 です。 HP-UX 11i Version 2: December 2007 − 43 − Hewlett-Packard Company 405 elm(1) elm(1) menu OFF の場合、プログラムのすべてのスクリーンでメニューの表示を禁止 します。ON の場合、メニューが表示されます。プログラムを −m コマン ド行オプション付きで起動した場合、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 の場合、最初のメッセージを指します。ど ちらの場合にも、起動時のフォルダが受信用メールボックスでない場合、 406 Hewlett-Packard Company − 44 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) または新規メッセージがない場合には、最初のメッセージを指します。デ フォルトは ON です。 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 です。 HP-UX 11i Version 2: December 2007 − 45 − Hewlett-Packard Company 407 elm(1) elm(1) usetite ON の場合、termcap の ti/te および terminfo の cup カーソルポ ジション エントリーを使用します (terminfo(4) を参照してください。 ) OFF の場合、これらのエントリーを使用しません。プログラムを −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 および ContentTransfer-Encoding を 定 義 す る ヘッ ダー が あ り ま す。 デ フォ ル ト の Content-Type は、 text/plain です。 multipart/digest ; boundary=boundary-string こ れ は、 デ フォ ル ト の Content-Type が、 message/rfc822 の 場 合 を 除 き multi- part/mixed と同様です。 multipart/report ; boundary=boundary-string message/rfc822 メッセージは、標準メッセージ形式の別のメッセージから構成されます。 metamail は、通常の ASCII テキストでは表示不可能なメッセージおよび添付ファイルの表示を管理するた め、elm によって起動されるシステムプログラムです。 metamail は、1 つ以上の mailcap ファイルで定義される他の Content-Type の外部サポートを提供しま す。システム mailcap ファイルは /etc/mail/mailcap です。ユーザー独自のデフォルトの mailcap ファイルを $HOME/.mailcap に定義できます。また、MAILCAPS 環境変数を設定することにより、ユー 408 Hewlett-Packard Company − 46 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) ザー独自の mailcap ファイルのリストを指定することもできます。一連の mailcap ファイルが順に検索さ れ、Content-Type および何らかの条件に一致するエントリーが探し出されます。 最小限の 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 ファイルのデフォルトの検索パスを定義し ます。デフォルトは、次のとおりです。 HP-UX 11i Version 2: December 2007 − 47 − Hewlett-Packard Company 409 elm(1) elm(1) $HOME/.mailcap:/etc/mail/mailcap 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 410 Hewlett-Packard Company − 48 − HP-UX 11i Version 2: December 2007 elm(1) elm(1) 警告 2つの異なるメールプログラムが同じメールファイルに同時にアクセスする (2つの異なるウィンドウから不用 意にアクセスする場合が多い) と、結果は保証されません。 著者 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 ユーザー用の受信メールボックス /var/mail/loginname.lock メールディレクトリのロック モード 660、グループ ID mail でなければならない 参照 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). HP-UX 11i Version 2: December 2007 − 49 − Hewlett-Packard Company 411 elm(1) elm(1) RFC 821 "Simple Mail Transfer Protocol (SMTP)" RFC 822 "Standard for the Format of Internet Text Messages" RFC 1341 "MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies" 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" 412 Hewlett-Packard Company − 50 − HP-UX 11i Version 2: December 2007 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) で説明しています。 別名リスト エントリー用の一つまたは複数の別名リスト。 アドレスリスト エントリー用の一つまたは複数のアドレスリスト。アドレスは、別のエントリーの alias-list からの別名であることができます。 コメント エントリーについての情報を含むフィールド ( オプション)。このフィールドは送信 メールには含まれません。 名前 (firstname) 個人あるいはグループの名前として解釈されるフィールド ( オプション)。 フルネー ムで使用されます。 姓 (lastname) 個人あるいはグループの名前として解釈されるフィールド ( オプション)。 フルネー ムで使用されます。 フルネーム 名前 (firstname) と 姓 (lastname) フィールドから作成される複合値。フォーマット は、 firstname lastname となります。 elmalias は別名として次の3つのタイプを認識します。 個人 アドレスリストに一つのアドレスを持っているデータベースエントリー。 elmalias はこのアドレスを有効なメールアドレスと想定します。 グループ アドレスリストに複数のアドレスを持っているデータベースエントリー。 elmalias はまずこれらアドレスが 個人あるいは グループエントリーへのアドレスと想定しま す。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 413 elmalias(1) elmalias(1) unknown グループエントリーにあるアドレスあるいはデータベースの別名でない alias-namelist にある別名。両方の場合とも、項目は別名とアドレスとしてリポートされます。 オプションまたは引き数がない場合、 elmalias は、2つのデータベースの各別名に対して アドレスリスト フィールドを表示します。エントリーが複数の別名をもつ場合、 アドレスリストフィールドは複数回表示され ます。 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 にある名前がデータベースの別名と一致しない場合は、エラーを返し ます。各不明な名前に対するメッセージを表示し、ゼロでないステータスで終了しま す。 414 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 elmalias(1) elmalias(1) −u を指定していない場合、システムで使用する別名データベースだけが使用されま −s す。 −s を指定していない場合、ユーザーの別名データベースだけが使用されます。 −u 冗長出力フォーマットを使用します。別名の次が アドレスリストその次が フルネー −v ムになるように表示を変更します。この場合、情報は括弧で囲まれて表示されます。 さらに詳しい冗長出力フォーマットを選択します。 −f オプションのフォーマットに −V 従って、次のタイトルを持つ複数行出力フォーマットを選択します。フィールドが空 の場合、タイトルは削除されます。 Alias: Address: Type: Name: Last Name: Comment: 終了ステータス elmalias は、次の終了ステータス値を設定します。 0 <>0 正常終了 An error occurred. エラーが発生しました。次を指定した可能性があります。 • 無効オプション • 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 は、次の出力を作成します。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 415 elmalias(1) elmalias(1) [email protected] host!otherhost!dad 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] Alias: dad Address: host!otherhost!dad Alias: parent@host Address: parent@host Type: Person Type: Person Type: Unknown Alias: brother1 Address: [email protected] Alias: brother2 Address: brother2 Alias: sister Address: sister Type: Person Type: Unknown Type: Unknown 著者 elmalias はHPで開発されました。 ファイル 416 $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 システムのの別名データベース ハッシュテーブル Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 elmalias(1) /var/mail/.elm/aliases.text elmalias(1) システムの別名ソーステキスト 参照 elm(1), newalias(1) HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 417 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 をアクティブ解除し、すべてのログされたジョブをキャンセルします。 418 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 enable(1) enable(1) disable −c snowwhite 警告 制限キャンセルの機能 (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). HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 419 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) 420 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 env(1) env(1) 標準準拠 env: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 421 eucset(1) eucset(1) 名称 eucset − ldterm のコード幅の設定と取得 構文 eucset [-p] eucset [ [-c HP15-codeset] または [-c UTF8] または [-c GB18030] または [cswidth] ] 説明 eucset コマンドは、現在の入力端末で処理される拡張 UNIX コード (EUC) 文字、UCS Transformation Format (UTF8) 文字、および GB18030 文字の符号化幅とディスプレイ幅の設定または取得 (レポート) を行 います。EUC とは、シングルバイトまたはマルチバイトで構成されるコードセットの符号化方式です。これ によって、アプリケーションおよびターミナルハードウェアは、7ビットの US ASCII コードおよび最大3種 類のシングルバイトまたはマルチバイトのコードセットを同時に使用することが可能になります。 オプションなしで eucset コマンドを使用すると、まず4つの HP15 コードセットのどれかを設定しようと します。これに失敗すると、デフォルトコードセットとして7ビット US ASCII が使用されます。その他の EUC コードセットを指定するためには、シングルバイトかマルチバイトかにかかわらず、このコマンドを使 用しなければなりません。cswidth 引き数の値に関する注意事項について、「警告」の項を参照してくださ い。 GB18030 または UTF8 の設定の場合には、−c オプションを指定してください。 オプション eucset コマンドは、以下のオプションと引き数を認識します。 -p -c 端末に対する EUC 文字幅の現在の設定を表示します。 コー ド 幅 と し て、 4 つ の HP15 コー ド セッ ト の 1 つ、 UTF8 コー ド セッ ト、 ま た は GB18030 を設定します。サポートされている HP15 コードセットは、 SJIS 、 CCDC 、 GB、および BIG5 です。 EUC コードセットのクラス EUC では、コードセットを4つのクラスに分類しています。各コードセットには2つの特徴があります。そ れは、コードセット中の文字の符号化に必要なバイト数と、コードセット中の文字を表示するためのディスプ レイカラム数です。あるコードセット中の文字はすべて、同じ特徴を備えています。 • コードセット 0 は、7ビット、シングルバイトのすべて ASCII 文字から構成されています。これ らの各文字の最上位ビットは 0 (ゼロ) です。コードセット 0 中の文字は、符号化に1バイト必要 で、ディスプレイカラムを1個占有します。コードセット 0 ( ゼロ) のこれらの値は変更できませ ん。7ビット US ASCII コードは一次 EUC コードセットで、ユーザーは直接指定しなくても利用 することができます。 • コードセット 1 は補足的 EUC コードセットです。コードセット 1 の各文字には初期バイトがあ り、その最上位ビットは 1 です。コードセット 1 中の文字は、符号化に2バイト以上必要な可能 性があり、ディスプレイカラムも2個以上必要なことがあります。コードセット 1 の特徴を設定す 422 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 eucset(1) eucset(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 環境変数の値を使用します。この変数が 存在しない場合は、代りに以下のデフォルト文字列が使用されます。 1:1,0:0,0:0 このデフォルト文字列は、この環境では、EUC コードセット 1 のフォーマットの文字から成るシングルバイ ト EUC コードセットが使用されることを示しています。コードセット 1 のフォーマットのマルチバイト EUC コードセット、コードセット 2 または 3 のフォーマットのシングルバイトまたはマルチバイト EUC コードセット、またはその両方を使用する場合は、デフォルト設定は使用できません。 多言語化対応 環境変数 LANG 未設定またはヌルのインターナショナル変数に対するデフォルトを提供します。LANG が未指定または空の文字列に設定されている場合は、LANG の代りにデフォルトとして C (lang(5) を参照) が使用されます。インターナショナル変数のいずれかの設定が不適 当な場合には、eucset は、すべてのインターナショナル変数が C に設定されている ものとして動作します。environ(5) を参照してください。 LC_ALL 空でない文字列値に設定されている場合は、他のすべてのインターナショナル変数の値 が無効になり、この値が適用されます。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージおよび標準出力に書き込まれる情報メッセー ジの、フォーマットと内容を制御するために使用すべきロケールを決定します。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 423 eucset(1) eucset(1) 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 については、次のコマンドを入力します。 eucset 2:2,3:2 ko_KR.eucKR については、次のコマンドを入力します。 eucset 2:2 UTF8 文字のコード幅に設定するには、次のように入力します。 eucset -c UTF8 GB18030 文字のコード幅に設定するには、次のように入力します。 eucset -c GB18030 警告 cswidth 引き数のバイト幅の値には、SS2 または SS3 バイトは含まれません。 このコマンドは標準化されておらず、他のベンダーのシステムでは使用できないことがあります。また、将来 のリリースで変更または廃止される可能性があります。 著者 eucset は OSF および HP が開発しました。 424 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 eucset(1) eucset(1) 参照 dtterm(1), ldterm(7) HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 425 ex(1) ex(1) 名称 ex, edit − 行指向の拡張テキストエディター 構文 ex [-] [-l] [-r] [-R] [-t tag] [-v] [-wsize] [-x] [-C] [+command] [ file ...] XPG4 構文 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) を参照) もサポートした行指向のテキストエディター です。 (XPG4 のみ。) 特定のブロックモードの端末には、visual モードや open モードのフルスクリーンエディ ター コマンドのように、完全な ex 定義をサポートするために必要なすべての機能がありません。これらのコ マンドを端末でサポートできないときは、「エディターコマンドではありません」のようなエラーメッセージ も構文エラーのリポートも生成しません。 edit プログラムは ex と同じですが、初心者や一時的なユーザーにエディターを使いやすくするためにエ ディターオプションのデフォルトに一部変更がなされている点が異なります ( 以下の「エディターオプショ ン」を参照)。 オプションと引き数 ex は以下のコマンド行オプションおよび引き数を認識します。 (旧式)対話型のユーザーフィードバックをすべて行わないようにします。これは、エディター - コマンドがスクリプトからとられるときに有効です。 -s (XPG4 のみ)。 対話型のユーザーフィードバックをすべて抑制します。これは、エディターコマンドをスクリ プトから参照するときに使用できます。 TERM の値と処理系ターミナルタイプを無視します。そして、端末が ビジュアルモードをサ ポートできないタイプと仮定します。 426 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ex(1) ex(1) 環境変数 EXINIT の使用と .exrc ファイルの解釈を抑制します。 -l lisp エディターオプションをセットします (以下の「エディターオプション」を参照)。 -r エディターまたはシステムのクラッシュの後、指定された files を回復します。 file の指定が なければ、セーブしたファイルすべてのリストがプリントされます。ファイルを回復するに は、セーブしたファイルの所有者でなければなりません。( スーパーユーザーは、他のユー ザーが所有するファイルを回復することはできません)。 -R 不用意にファイルを上書きするのを防止するために 読み出し専用エディターオプションを設 定します (以下の「エディターオプション」を参照)。 -t tag (XPG4 のみ)。指定した 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 (XPG4 のみ)。 ( 旧式 ) 指定した ex の検索またはジャンプを行う command を実行することによってエ ディットを始めます。 file はエディット対象の単一または複数のファイルを指定します。 file を指定すると、ファイル は与えられた順序で処理されます。 -r オプションも指定すると、ファイルは回復エリアか ら読み出されます。 (XPG4 のみ)。 -t tag と -c command オプションを両方とも指定すると、-t tag を最初に処理します。つ まり、タグを含むファイルが -t で選択され、次にコマンドが実行されます。 定義 カレントファイル 。 ex によってエディットされているファイルを、カレントファイルといいます。カレン トファイル内のテキストはワークエリアに読み込まれ、エディットした変更はすべてこのワークエリアに対し て行われます。変更は、ワークエリアが明示的にファイルに書き戻されるまで元のファイルに影響を与えませ HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 427 ex(1) ex(1) ん。 % 文字をファイル名として使用すると、それはカレントファイル名に置き換えられます。 代替ファイル 。代替ファイルとは、エディターコマンドで直前に表示したファイル名、または直前に表示し たファイルがカレントファイルになる場合にはその前のカレントファイル名です。 # 文字をファイル名とし て使用すると、それは代替ファイル名で置き換えられます。 バッファー 。 a から z までの26個の名前付きバッファーは、編集時にテキストブロックをセーブすること に使用できます。バッファー名を大文字で指定すると、テキストは、既存のバッファーの内容を上書きするの ではなく、これに追加されます。 読み出し専用フラグ 。 読み出し専用フラグは、 noreadonly エディットオプションを設定することによっ てエディターの中からクリアできます (以下のエディットオプションを参照)。 readonly フラグがセットさ れているときでも、別の名前のファイルへの書き出しは許されます。また、書き込みコマンドの後に ! を 使って、書き込みを 読み出し専用ファイルに強制することができます ( 以下の「コマンドの説明」にある write コマンドを参照)。 割込み 。割込みシグナルが受信されると、キーボードからコマンドが与えられている場合には、ex はコマン ドモードに戻ります。エディターコマンドがファイルから得られる場合には、割込みシグナルにより、ex は 打ち切られます。 システムクラッシュ 。内部エラー、または予期しないシグナルのためにシステムがクラッシュ、または ex が中断された場合、書き込んでいない変更があれば、ex ワークエリアを保存しようとします。保存された変 更を読み出すには、 -r コマンド行オプションを使用してください。 コマンドモード / 入力モード 。 ex はコマンドモードで起動し、これはコロン (:) プロンプトによって示 されます。 ex は、append, change, または insert コマンドがあると常に入力モードに切り換わります。 入力モードを終了してコマンドモードに戻るには、行の先頭でピリオド (.) だけをタイプします。 コメント 。引用符で始まる行 (") は無視されます (これはエディタースクリプトにコメントを入れるのに便利 です)。 複数のコマンドは、縦線文字 (|) で区切ることによって1行に結合することができます。ただし、グローバル コマンド、コメント、およびシェルエスケープ コマンドは | 文字で終えることができないため、行の最後の コマンドでなければなりません。 アドレス指定 (XPG4 のみ)。 ex でのアドレス指定は現在の行に対応しています。一般的に、現在の行がコマンドの影響を 受けた最後の行です。現在の行に対する正確な影響は、各コマンドの記述で説明しています。バッファーに1 行もないときは、現在の行は、0に設定さます。 ex は次の行アドレス形式を認識します。 . ドットまたはピリオド (.) は現在の行を参照します。常に、その位置が明示的な移動 コマンドの結果か、または複数の行に影響を与えるコマンドの結果( この場合は、通 常最後に影響を受けた行)となる可能性のある現在の行があります。 428 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ex(1) ex(1) n ワークエリアにおける n 番目の行。行には、行1から始めて連続に番号が付けられま す。 $ ワークエリアにおける最終行。 % 1,$ の省略形で、ワークエリア全体を意味します。 +n, +[+]... 現在の行、または専攻する行指定に相対的なオフセット。 + は前方を意味します。 -n, -[-]... - は逆方向を意味します (たとえば、形式 .+3, +3, および +++ は等価です)。 /re/ パターン re の入っている行で、順方向 (/) または逆方向 (?) に走査します。後ろに ?re? 付ける / または ? は、その行だけが表示される場合は省略可能です。 re を省略す ると、ex は、走査文字列または置換え文字列の最新のセットを使用します( 以下の 「正規表現」を参照)。 ’x 行は、1文字の ASCII 小文字英字を使ってマークできます( 以下の「コマンドの説 明」にある mark コマンドを参照)。 ’x は x でマークされた行を参照します。さら に、前の現在行は非相対移動の前にマークされます。この行は x に ’ を使用して参 照できます (したがって ’’ は前の現在行を参照します)。 (XPG4 のみ)。コマンドには、0個か1個か2個のアドレス指定が必要です。アドレ スを必要としないコマンドは、アドレスがあるとエラーとみなされます。 (XPG4 のみ)。 range の隣接したアドレスは、それぞれをコンマ (,) またはセミコロン (;)で区切ります。セ ミコロンで区切った場合は、現在の行 (.) が最初のアドレスに設定され、2番目のアドレスはそこから算出さ れます。この機能が、常に前方および後方検索の開始行を決定します。2個並んだアドレスのうちの2番目の アドレスは、最初の行に対応しています。最初のアドレスは2番目のアドレス以下のアドレスになります。最 初のアドレスは編集しているバッファーの開始行以上のアドレスになり、最後のアドレスは編集しているバッ ファーの最終行以下のアドレスになります。他の場合はいずれもエラーになります。 コマンドのアドレスは、(上記に従って指定した)一連の行アドレスで構成され、コンマ (,) またはセミコロン (;) で区切ります。このようなアドレスリストは左から右に評価されます。セパレータがセミコロンの場合、 現在の行は、次のアドレスが解釈される前に前のアドレス値に設定されます。コマンドに必要以上のアドレス を与えると、最後の1、2個を除いてすべて無視されます。コマンドに2個のアドレスが必要な場合には、 ワークエリアの中で最初にアドレス指定した行は、2番目にアドレス指定した行より前になければなりませ ん。リスト内のヌル(省略)アドレスのデフォルトは現在の行になります。 正規表現 このエディターでは、常に2種類の正規表現文字列のコピーを保持します。これらは、置換文字列とスキャン 文字列です。置換コマンドは置換文字列を、使用された正規表現に設定します。すべてのコマンドについて、 行アドレス指定 (上記の「アドレス指定」を参照)のグローバルコマンドおよび正規表現の両形式はスキャン文 字列を、使用された正規表現に設定します。これらの文字列は、「アドレス指定」にある global コマン ド、および substitute コマンドのところに説明のあるようにデフォルト正規表現として使用されます。 このエディターは基本正規表現 (regexp(5) を参照)をサポートしますが、以下の変更があります。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 429 ex(1) ex(1) ¥< ¥< は「ワード」の先頭にマッチします。つまり、マッチした文字列の先頭は英字、数 字、またはアンダラインでなければならず、またその文字の前は行頭か、またはそれら 以外の文字でなければなりません。この構文は通常表現 (¥<word のような) の初めにの み使用され、 (word1 ¥<word2) の中では使われません。 ¥> ¥> はワードの終端にマッチします ( 前のパラグラフを参照 ) この構文は通常表現 (word¥> のような) の終わりにのみ使用され、 (word1¥> <word2) の中では使われませ ん。 ˜ 最後の substitute コマンドの置換部分にマッチします。 [string] 基本正規表現によって定義される大かっこ表現内の位置の引用は、大かっこ表現の特殊 文字を引用するためのバックスラッシュ (¥) の使用によって置換されます。 nomagic エディターオプション nomagic がセットされていると、特別な意味を持つ唯一の文字 はパターン先頭の ˆ 、パターン末尾の $ 、および ¥ です。文字 . 、 * 、 [ 、および ˜ は、 ¥ でエスケープしない限りその特殊な意味を失います。 置換文字列 置換文字列内にある文字 & は、置換されるパターンにマッチしたテキストを表します。 nomagic エディ ターオプションをセットしない場合は、 ¥& を使用してください。 文字 ˜ は、前の substitute コマンドの置換部分に置換されます。 nomagic エディターオプションを セットしない場合は、 ¥˜ を使用してください。 n が整数のとき、シーケンス ¥n は、 n 番目のかっこ ¥(および ¥)の組で囲まれるサブパターンにマッチする テキストによって置換されます。 シーケンス ¥u (¥l) により、置換文字列における直後の文字が英字ならば大文字(小文字)に変換します。シー ケンス ¥U (¥L) は、シーケンス ¥E または ¥e に出会うか、またはその置換文字列の終端に達するまで大文字 /小文字の変換をオンにします。 430 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ex(1) ex(1) コマンド名と省略形 以下の表に、行モードのコマンドを要約します。名前がかっこで囲まれているコマンドは、省略形でのみ使用 できます。 コマンド 省略形 コマンド 省略形 コマンド 省略形 abbreviate ab next n tag ta append a number nu # unabbreviate una args ar open o undo u change c pop unmap unm chdir chd cd preserve pre version ve copy co t print p visual vi crypt cr X put pu write w wq delete d quit q xit x edit e ex read r yank ya file f recover rec global g v rewind rew (実行バッファー) * @ insert i set se (行番号) = join j shell sh (左シフト) < list l source so (右シフト) > stop st ˆZ (スクロール) ˆD map mark ma k substitute s sr & ˜ (シェルエスケープ) ! move m suspend su ˆZ (ウィンドウ) z コマンドの説明 以下のコマンドの説明では、頻繁に現れる引き数があります。それらを以下に説明します。 line 上記の「アドレス指定」で説明した任意の形式による1行アドレス。デフォルトは現在の 行です。 range 上記の「アドレス指定」で説明したコンマまたはセミコロンで区切った1行アドレスのペ ア。デフォルトは現在の行です (.,.)。 count コマンドによって影響を受ける行数を指定する正の整数です。デフォルトは1か、または range における行数です。 count を指定すると range は無効になります。かわりに、コマンドの対象とする最初の行 を指示するには1つの行番号だけを指定しなければなりません。 (範囲を指定すると、その 範囲の最後の行がそのコマンドの開始行として解釈されます。) flags #, p, および l のうちの1文字以上の文字です。コマンドの完了後、行のプリントに対応 するコマンドが実行されます。任意個数の + または - 文字もこれらのフラグに与えるこ HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 431 ex(1) ex(1) とができます。デフォルトはフラグなしです。 これらの修飾子は、すべてオプションです。 line または range だけを(ヌルコマンドで)指定するとき、暗黙のコマンドは print です。ヌル行を入力する と、次の行がプリントされます (.+1p と等価です)。 buffer XPG4 の機能 。テキストを保存するいくつかの名前付き領域のひとつです。この名前付き バッファーは、POSIX ロケールの小文字で指定します。 buffer を指定すると、コマンド により影響を受けるテキスト領域を、コマンドにより影響する前のバッファーとして保存 します。この引き数は、put コマンドやビジュアルモードの "put" コマンド (p および P) を使用し、挿入するテキストのバッファーを指定することもできます。 バッファー名を大文字で指定したり、バッファーを変更する場合は、そのバッファーは上 書きされるのではなく追加されます。バッファーを変更しない場合は、バッファー名を大 文字で指定しても小文字で指定しても同じ結果になります。また、バッファーを指定せず にすべてのテキストを削除したり記憶するための格納場所として、名前のないバッファー が1つあります。 ビジュアルモードからのみアクセスできる1から9まで番号付けされたバッファーもあり ます。ビジュアルモードにおいて削除したテキストを名前のないバッファーに入れると き、このテキストはバッファー1にも入り、以前バッファー1に入っていたものはバッ ファー2に、という具合にこれらのバッファーが設定されます。バッファー9のテキスト はなくなります。名前のないバッファーに記憶されたテキストは番号付けられたバッ ファーを変更しません。 s 番と名付けられたバッファーを使ってビジュアルモードの "put" コマンドでテキストを取り出すことは可能ですが、番号付けられたバッファーにテキスト を直接入れることはできません。後述するコマンドのバッファー修飾子を使用しない場合 は、名前のないバッファーはデフォルトの状態になっています。 word XPG4 の機能 。 POSIX ロケールにおいて、word は英字、数字、およびアンダースコ アのシーケンスで構成されています。そして両端は、英字、数字、およびアンダースコア 以外の文字で区切られるか、単語またはファイルの先頭と終端で区切られます。 ! の文 字をコマンドに追加して、各コマンドの詳細説明のとおりに操作を変えることができま す。 count と range の両方を指定したコマンドを使用する場合は、影響する行数は range では なく count の値になります。コマンドの開始行は、指定された範囲の先頭行になります。 line や range だけがコマンドなしで指定された場合は、暗黙的にコマンドは print 、 list、あるいは number (p、 l、あるいは #) のどれかとなります。選択されるコマンド は3つのコマンドのうち最後に使用したものです。範囲や行数を指定せず、コマンド行が 空白行の場合は、現在の行が対象となり、現在の行には .+1 が設定されます。 432 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 ex(1) ex(1) アドレス、行数あるいはコマンド名のすぐ前か後には、0個の文字または空白モードの文 字を指定できます。コマンド名の後ろに指定する (たとえば、buffer 、file)、アルファベッ トで始まるものはすべて、少なくとも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 コマンドの別の省略形で HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 433 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 の中から実行される場合、現在の行はワークエリアの先頭行になりま 434 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 ex(1) ex(1) す。 +line オプションを指定すると、現在の行は指定した位置に設定されます。ただし、 line は数値(または $) にするか、または /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つ、行頭の文字がクローズ小かっこ () の場合にはなし) を与えるように調整されます。行頭にある余分な空白は廃棄されます。 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 435 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 エディターオプションが設定されていない限り変更を廃棄)。引き数リスト は、このコマンド行上で、新しい引き数リストを指定することによって置換することがで 436 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 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 の後に削除または「記憶」した行を入れます。バッファーは指定できます。指定がな ければ、名前のないバッファー (つまり、デフォルトでは削除または記憶したテキストが 入っているバッファー) が復元されます。現在の行は復元した最初の行に設定されます。 HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 437 ex(1) ex(1) quit q[uit][!] エディットを終了させます。最後の書き込み以降にワークエリアが変更された場合には警 告がプリントされ、コマンドは異常終了します。変更を保存せずに強制的に終了するに は、 ! をコマンドに追加してください。 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 を指定すると、現在のオプションの値をすべてプリ ントします。 438 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) 第2および第3の形式は指定オプションの現在の値をプリントします。 ? は論理値のオ プションにのみ必要です。 第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/) と、置換え文字列または走査文字列の最新のセットが使用 されます(上記の「正規表現」を参照)。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 439 ex(1) ex(1) s または & の形式を使用すると、置換えパターンのデフォルトは前の置換え文字列にな り、置換え文字列のデフォルトは、前に使用した置換え文字列になります。 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 440 una[bbreviate] word Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) 省略形のリストから word を削除します(上記の abbreviate コマンドを参照)。 undo u[ndo] 前のエディットコマンドによって行われた変更を取り消します。この目的のために、 global および visual は、単一のコマンドであるものと解釈されます。 write, edit, および 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 はシステムコマンドとして解釈されま す。コマンドインタプリタが呼び出され、指定した行はコマンドへの標準入力として渡さ HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 441 ex(1) ex(1) れます。 コマンド wq は w の後に q を続けることに相当します。 wq! は w! の後に q を続け ることに相当します。また、 wq>> は w>> の後に q を続けることに相当します。 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 からの出力が指定行に置き換わります。 442 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) (shift left) range < count flags 指 定 し た 行 を 左 に 削 除 し ま す。 シ フ ト す る ス ペー ス の 数 は、 エ ディッ ト オ プ ショ ン shiftwidth によって決まります。シフト時に空白( 空白およびタブ) は失われます。そ の他の文字は影響を受けません。最後に変更した行が現在の行になります。 (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) を参照)からターミナルスクリーンの水平および垂直サ イズを取得します。これらの値は、環境変数 UNIX95 を設定して置き換えることができます。この環境変数 は、このコマンドに対して XPG4 の動作を使用するように指定します。 COLUMNS と LINES が環境変数で す。詳細については、以下の window エディターオプションを参照してください。 HP-UX 11i Version 2: December 2007 − 18 − Hewlett-Packard Company 443 ex(1) ex(1) 以下の表に、その他のエディターとは異なるデフォルトを示します。 名前 edit ex デフォルトのエディターオプション nomagic novice noreadonly report=1 showmode noshowmode magic nonovice noreadonly report=5 nomagic novice noreadonly report=1 showmode vi magic nonovice noreadonly report=5 noshowmode view magic nonovice readonly report=5 noshowmode vedit エディターオプションは特記しない限り論理型です。省略形はかっこの中に示されています。 autoindent (ai) 入力モードにおける行を(ブランクとタブを使用して)それぞれ字下げし、前の行と揃う ようにします。字下げは、追加した行の後か、挿入した行または最初に変更した行の前 から始まる。追加字下げは、通常どおり提供できます。継続行は新しい位置合わせまで 自動的に字下げされます。 字下げの縮小は、1回または複数回 ˆD をタイプすることによって行われます。 ˆD を 押すごとに、カーソルは次の shiftwidth 個分のスペースだけ戻されます。 ˆ の後 に ˆD を続けると、一時的に現在の行に対して字下げがすべて削除されます。 0 の後 に ˆD を続けると、字下げがすべて削除。 noautoindent (noai) によって反転します。デフォルトは noautoindent です。 autoprint (ap) 現在の行が、ワークエリアのテキストを変更する各コマンドの後に表示されます (オー ト プ リ ン ト は、 global コ マ ン ド で 行 わ な い よ う に な り ま す ) 。 noauto- print (noap) によって反転します。デフォルトは autoprint です。 autowrite (aw) ワークエリアが変更されており、 next, rewind, または ! コマンドを与えると、ワー クエリアはカレントファイルに書き出されます。 noautowrite (noaw) によって反転 します。デフォルトは noautowrite です。 beautify (bf) 入力テキストから廃棄されるタブ、改行、およびフォームフィード以外のすべての制御 文 字 を 発 生 し ま す。 nobeautify (nobf) に よっ て 反 転 し ま す。 デ フォ ル ト は nobeautify です。 directory=dirname (dir) エディターのワークエリアを入れなければならないディレクトリを指定します。このオ プションは、新しいワークエリアが作成される場合に限って有効になります。コマンド 行で指定したエディットファイルに対するワークエリア ファイルの位置に影響を与える には、これを EXINIT または .exrc に設定してください。デフォルトは /var/tmp です。 444 Hewlett-Packard Company − 19 − HP-UX 11i Version 2: December 2007 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 で す。 HP-UX 11i Version 2: December 2007 − 20 − Hewlett-Packard Company 445 ex(1) ex(1) hardtabs=number (ht) ハードウェアタブ設定値間の間隔と、タブ文字の展開時にシステムで使用するスペース 数を定義します。タブストップは、 number の整数倍に相当する (画面の左端から始ま る)カラム番号ごとに置かれます。デフォルトは hardtabs=8 です。 ignorecase (ic) 正規表現マッチングにおいて、テキストにおける大文字はすべて小文字にマップされま す。また文字クラス指定の場合を除き、正規表現における大文字はすべて小文字にマッ プされます。 noignorecase (noic) によって反転します。デフォルトは noignorecase です。 keyboardedit 設定すると、コマンドモード使用のために初期化時に自動的にロードされるキーボード エディット キーマッピングがすべて使用可能になります。設定しなければ、これらの マッピングは無効です (が、削除されません)。 map コマンドを使用して現在使用可能 なコマンドモード マッピングのリストを取得します。 nokeyboardedit によって反 転します。デフォルトは keyboardedit です。 keyboardedit! 設定すると、input モード使用のために初期化時に自動的にロードされるキーボードエ ディットキー マッピングが使用可能になります。設定されていなければ、これらのマッ ピングは使用不可になっています (が、削除されません)。現在使用可能な入力モードの マッ ピ ン グ を リ ス ト す る に は map! boardedit! コ マ ン ド を 使 用 し て く だ さ い。 nokey- によって反転します。デフォルトは、そのキーボードのエディットキー が HP スタイルのエスケープシーケンスを送る (ESC の後に英字1字) ターミナルでは nokeyboardedit! で す。 そ の 他 の ター ミ ナ ル で は、 デ フォ ル ト は す べ て key- boardedit! です。 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 コマン 446 Hewlett-Packard Company − 21 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) ドが処理された後でエディット制御がユーザーに与えられる前に実行されます。 ex コ マンドの前には、 ex: または vi: のプリフィックスを付けなければなりません。ま た、1行の : で終了しなければなりません。コロン (:) を除いて、任意個数の他の文字 を、埋め込みコマンドの前後に付けることができます。 nomodelines (noml) によっ て反転します。デフォルトは nomodelines です。 novice edit または vedit という初心者に利用可能なエディターのバージョンを使用しま す。 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 ダムターミナル上でインテリジェントターミナルをシミュレートします。入力モードで は、テキストが入力されると行が連続的に再プリントされます。これにより、ターミナ ルへの大量の出力が必要になる可能性があるため、これは高い転送スピードでのみ有効 HP-UX 11i Version 2: December 2007 − 22 − Hewlett-Packard Company 447 ex(1) ex(1) です。 noredraw がセットされていると、入力モードが終了し、削除行が左マージン に @ を付けられているときにのみ、行が再プリントされます。 noredraw によって反 転します。デフォルトは redraw です。 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 です。 448 Hewlett-Packard Company − 23 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) tabstop=n (ts) 入力ファイルにタブを展開するためエディターによって使用されるソフトウェア タブス トップの間隔を設定します。デフォルトは tabstop=8 です。 taglength=n (tl) タグの中で意味のあるものとして扱うべき文字の最大数を設定します。制限を超える文 字は無視されます。値0は、タグ内の文字にはすべて意味があることを示します。デ フォルトは taglength=0 です。 tags=[filename ]... tag コマンドおよび -t コマンド行オプションによって使用されるタグファイルを指 定します。デフォルトは tags=tags /usr/lib/tags で、これはカレントディレク トリにあるファイル、 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 エディターオプションに相違 はありません。いずれか一方を設定すると、両方とも変更される結果になります。 terse 短いエラーメッセージを使用します。 noterse によって反転します。デフォルトは noterse です。 timeout (to) セットされていれば、マクロ名のマッチとして受け付けられるように timeoutlen オ プションによって指定される時間内にマルチキャラクタのマクロ名 (map コマンドの最 初の引き数)のすべての文字を受け取ることを必要とします。セットされていなければ、 マクロ名の完了までに待機する時間の長さについて制限は設定されません。 notimeout (noto) によって反転します。デフォルトは timeout です。 HP-UX 11i Version 2: December 2007 − 24 − Hewlett-Packard Company 449 ex(1) ex(1) timeoutlen=n ミリ秒単位でマクロのタイムアウト期間 (timeout エディターオプションを参照) の長 さを設定します。 timeout がセットされていなければこのオプションは効果がありま せん。 n の値の最小は1です。デフォルトは timeoutlen=500 (0.5 秒)です。 ttytype=termtype (tty) エディターで使用するターミナルのタイプを定義します。詳細については、 term エ ディターオプションを参照してください。 term および ttytype エディターオプ ションに相違はありません。いずれか一方を設定すると、両方とも変更される結果にな ります。 warn ! または shell コマンドエスケープを実行する前に、最後にロードされたか、または ファイルにすべて書き出されて以降にワークエリアに変更があった場合 [No write since last change] というメッセージを表示します。 nowarn によって反転しま す。デフォルトは warn です。 window=lines (wi) ビジュアルモード時におけるテキストウィンドウの行数を設定します。デフォルト値は 使用しているターミナルの画面サイズより1小さい値です ( 画面サイズは、環境変数 LINES の設定値、またはそれが設定されていなければ、使用しているターミナル用の 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 です。 450 Hewlett-Packard Company − 25 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) writeany (wa) その他の書き込みコマンドの前に行われるチェックを行わないようにし、 (システムが 許せば) 任意のファイルへの書き込みを可能にします。 nowriteany (nowa) によって 反転します。デフォルトは nowriteany です。 多言語化対応 環境変数 COLUMNS は、システムが選択した画面の横サイズが設定されます。 LINES は、システムが選択した画面の縦サイズが設定されます。画面の行数やビジュアルモードでの画面の 縦サイズとして使用されます。 PATH は、エディターコマンドで実行するシェルコマンド shell、 read、や write のコマンド検索パスを 設定します。 SHELL は、 !、 shell、 read やその他のコマンドを !string のコマンド形式で解釈させるための変数 です。 shell コマンドに対しては、プログラムは -i という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 は、テンポラリファイルに使用するディレクトリを指定し、デフォ HP-UX 11i Version 2: December 2007 − 26 − Hewlett-Packard Company 451 ex(1) ex(1) ルトディレクトリ /var/tmp に置き換えます。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 非同期イベント (XPG4 のみ) シグナルを受けたときの動作は次のとおりです。 SIGINT 割り込みが発生したときに、 ex は警告メッセージを端末に表示します。現在のエディターコマンド は中止され、 ex はコマンドレベルに戻り、別のコマンドのプロンプトを表示します。標準入力が端 末でない場合は、 ex は割り込み発生時に終了して0以外のステータスを返します。 SIGCONT 画面が再表示されます。 SIGHUP 現在のバッファーが最後の e や w コマンド以降に更新されていた場合、 ex は後から ex -r コマ ンドで現在のファイルを回復できるようにします。 その他のシグナルについての動作は示していません。 拡張説明 (XPG4 のみ) 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度だけ実行されます。プロセス 452 Hewlett-Packard Company − 27 − HP-UX 11i Version 2: December 2007 ex(1) ex(1) の実行 ID と同じユーザー ID で所有される .exrc がなければ、このファイルは読み込まれません。 .exrc ファイルが実行された後、 -c オプションを指定したコマンドが実行されます。 デフォルトで、 ex は ":" プロンプトを表示しているコマンドモードで始まります。 append、 insert、あ るいは change コマンドを入力して入力モードに変えることができます。フルスクリーンで編集できるビ ジュアルモードという別のモードがあります。これは visual コマンドでさらに詳細に記述しています。コ マンド行は縦棒(|)で区切られた複数の ex コマンドで構成されます。入力されたコマンドがその行の最後の コマンドでなければ、この方法で入力されたコマンドの使用は未定義の結果となります。 二重引用符(")で始まるコマンド行は無視されます。これは、エディタースクリプトのコメントとして使用でき ます。 警告 undo コマンドにより、変更されたすべてのマークは行上で失われ、リストアされます。 z コマンドは、物理行ではなく論理行の番号をプリントします。長い行が存在すると、1画面以上の出力が生 じることがあります。 ヌル文字は入力ファイルで廃棄されるため、生成されるファイルに現れることはありません。 一部のシステムでは、 -r オプションによるエディットファイルの回復は、システムの再起動時に特定のシス テム従属動作がとられる場合に限って可能になります。 編集保存ファイルは、それを保存したものと同じHP-UXリリースを実行するシステム上でしか復元できませ ん。保存ファイルは異なるリリース間で復元することができません。 HP ターミナルでは、 map #n ... コマンド経由で指定されるファンクションキーの属性フィールドは、 transmit のデフォルトではなく normal に設定する必要があります。 暗号化されていないファイルをエディットするのに -C オプションを使用しないでください。 -C オプション は、すでに暗号化されているファイルに対してのみ使用することを意図しています。 -C オプションがまだ暗 号化されていないファイルに対して使用されると、おそらくエディットのセッションでの書き込みがファイル を破壊してしまいます。 行長制限、ファイルサイズ制限などの詳細については、 vi(1) の「警告」の項を参照してください。 終了状態 (XPG4 のみ) ex ユーティリティは以下の値のうちのいずれかで終了します。 0 正常終了 >0 異常終了 著者 ex は、カリフォルニア大学バークレイ校で開発されました。 ex に対する16ビット拡張は、部分的に東芝の ソフトウェアに基づいています。 HP-UX 11i Version 2: December 2007 − 28 − Hewlett-Packard Company 453 ex(1) ex(1) ファイル $HOME/.exrc 一次エディター初期化ファイル ./.exrc 二次エディター初期化ファイル /usr/lbin/expreserve 保存コマンド /usr/lbin/exrecover 回復コマンド /usr/share/lib/terminfo/*/* ターミナル機能の記述 /var/preserve 保存ディレクトリ /var/tmp/Exnnnnn 一時的なエディターファイル /var/tmp/Rxnnnnn 名前つきバッファーのテンポラリファイル 参照 ctags(1), ed(1), stty(1), vi(1), write(1), terminfo(4), environ(5), lang(5), regexp(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 454 Hewlett-Packard Company − 29 − HP-UX 11i Version 2: December 2007 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 は、以下のコマンド行オプションおよび引き数を認識します。 -a 結果として生成されるファイルが縮まる場合はつねに、タブ位置の前の2文字以上の スペースを置き換えることによってタブが挿入されます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 455 expand(1) expand(1) −t tablist tablist はタブ位置を指定します。 tablist の形式は2種類あります。それが単一の数 字ならば、タブは各 tablist 文字分のスペースを、間隔を置いて設定されます。 tablist が増加位置のブランクまたはカンマで区切ったリストの場合、タブはそれらの位 置で設定されます。 -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 456 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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社により開発されました。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 457 expr(1) expr(1) 名称 expr − 引き数を式として評価 構文 expr arguments 説明 expr は、 arguments を式として取得して、評価し、標準出力に結果を書き出します。式における項は、ブ ランクで区切らなければなりません。シェルに特有な文字は、エスケープさせなければなりません。ゼロ値を 示すのにヌル文字列ではなく、 0 が戻されることに注意してください。ブランクまたは他の特殊文字のある 文字列は、引用符で囲みます。整数値の引き数の前には、単項マイナス記号を付けられます。内部的には、整 数は32ビットの2の補数として処理されます。 演算子およびキーワードのリストを以下に示します。エスケープさせる必要がある文字の前には、 ¥ が付いて います。リストでは、優先順位の等しい演算子を {} 記号でくくってまとめ、優先順位は順に高くなります。 expr ¥| expr は、第1の expr がヌルでも 0 でもない場合、それを戻します。それ以外の場合、第2の expr を戻します。 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 により与えられる長さだけ取得します。 458 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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) を参照)。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 戻り値 式の評価の副作用として、 expr は以下の終了値を戻します。 0 式がヌルでもゼロでもありません。 1 式がヌルまたはゼロです。 2 無効な式 >2 式を評価する際にエラーが発生しました。 診断 syntax error 演算子またはオペランドエラー non-numeric argument 文字列に対して演算しようとしました。 例 シェル変数 a に1を加えます。 a=‘expr $a + 1‘ $a が /usr/abc/file または file ならばパス名の最後のセグメントを戻します(つまり file) 。 expr は 除算演算子と解釈するため、 / だけの引き数に注意してください (以下の「警告」を参照)。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 459 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 460 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 461 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 を実行していたの と同じ状態に戻します。 462 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 fastbind(1) fastbind(1) 通常は、 fastbind 情報の生成中に fastbind で無効なシンボルが検出されると、 -u fastbind はエラーメッセージを生成するが実行可能ファイルの修正は行いません。し かし、 -u オプションを指定して fastbind を実行すると、未解決シンボルを使用す ることが可能です。 多言語化対応 環境変数 次の多言語化対応変数は、 fastbind の実行に影響を与えます。 LANG LC_ALL およびその他の LC_* 環境変数が指定されていない場合に、母国語のロケールカテ ゴリ、ローカルカスタム、およびコード文字セットを定義します。 が指定されていない場合、または空文字列が指定されている場合、デフォルトの C (lang(5) LANG を参照) が 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 を実行するには、次のように入力します。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 463 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 リンカー & ライブラリー ユーザーズガイド』 464 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 とすると次のようにオリジナルエントリーを変 更できます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 465 fastmail(1) fastmail(1) From: a@b (MrX) −i in-reply-to このオプションを指定すると、文字列の値 in-reply-to を持った In-Reply-To: ヘッダーエントリーを含めることができます。このエントリーは普通リプライする メッセージを特定するために使用されます。 −r replyto こ の オ プ ショ ン を 指 定 す る と、 replyto で 与 え ら れ た 一 つ の ア ド レ ス を 持っ た Reply-To: ヘッダーエントリーを含めることができます。このエントリーは一般に リプライを 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 このオンラインでの実行は次のようになります。 466 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 fastmail(1) fastmail(1) 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 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 コマンド: HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 467 fastmail(1) fastmail(1) batch-mail "Mr. Big" "Warning to all" warning.text は、 warning.text ファイルのコピーを、 person1, person2, person3, person4, に10 秒間隔でメール します。 $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" 468 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 file(1) file(1) 名称 file − ファイルタイプの判別 構文 file [-m mfile ] [-c ] [-f ffile ] [-h ] file ... 説明 file は、分類時にそれぞれの file ごとに一連のテストを行います。 file が ASCII ファイルであると思われる 場合、 file は、最初の512 バイトを検査し、その言語を推定しようとします。 file が実行可能な a.out ファイルである場合、 0より大きいバージョンスタンプがあれば、それをプリントします ( ld(1) の -V オプ ションの説明を参照)。 file は、ファイル /etc/magic を使用してある種の マジックナンバーを持つファイル、つまりそのタイプ を示す数値または文字列定数を持つファイルを識別します。 /etc/magic の先頭にある注釈でフォーマット を示します。 オプション file が認識するオプションは以下のとおりです。 -m mfile -c 別のマジックファイル mfile を使用します。 マジックファイルにフォーマットエラーがないかどうかチェックします。この検査 は、効率を考慮して通常は実行されません。このオプションを指定すると、ファイル 分類は行われません。 -f ffile ffile に調べたいファイルのリストを入れたファイルを指定します。 file は、名前 が ffile に現れる各ファイルを分類します。 -h シンボリックリンクを対象としません。 多言語化対応 環境変数 LC_MESSAGES は、メッセージの表示に使われる言語を指定します。 LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、未指定または空白の各変数 に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定されて いる場合、 LANG の代わりに Cがデフォルトとして使われます( lang(5) を参照)。 国際化変数のどれかが無効な設定を含む場合、 file は全ての国際化変数が"C"に設定されているように振る 舞います。 environ(5) を参照してください。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされますが、非ASCIIテキストファイルは 全て「データ」として認識されます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 469 file(1) file(1) 警告 リリースの file コマンドは、その特定のリリース用のコアファイルを正しく解釈します。異なるリリースで 生成されたコアファイルに file コマンドを使用すると、正しくない結果が報告されます。 参照 ld(1) 標準準拠 file: SVID2, SVID3, XPG2, XPG4 470 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 find(1) find(1) 名称 find − ファイルの検出 構文 find pathname_list [expression] 説明 find コマンドは pathname_list 中のパス名 (すなわち、1つ以上のパス名) ごとにディレクトリ階層を再帰 的に下降し、以下で述べる要素で書かれた論理式 expression に一致するファイルを検出します。デフォルトで は、find はシンボリックリンクは検出の対象としません (UNIX95 の動作については、「多言語化対応」の 項を参照してください)。 論理式は、短絡評価法で評価されます。すなわち、論理演算 (AND または OR) の結果が左側の引き数の評価 によって得られる場合は、右側の引き数は評価されません。 以下の要素の説明では、引き数 n は10進の整数を表します。ただし、+n は n より大きい値、-n は n より小 さい値、また n は n そのものの値をそれぞれ表します。 有効な要素は、次のとおりです。 -depth これは位置に依存しない項で、ディレクトリ階層の下降の際に、ディレクトリのすべてのエ ントリーをディレクトリ自体より先に調べるようにします。これが有効なのは find を cpio(1) と併用する場合で、書き込みパーミッションのないディレクトリ内のファイルを転送 することができます。また、cpio(1) を使用する際に、ディレクトリの修正日付を変更したく ない場合にも利用できます。常に真です。 -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ファイルシステムはトラバースされないの で注意してください。常に真です。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 471 find(1) find(1) -local ファイルが物理的にローカルシステム側にある場合に真になります。これは、検出を物理的 にローカルシステム側にあるファイルだけに制限せず、単にそのようなファイルを一致させ ているだけです。例を参照してください。 −xdev これは位置に依存しない項で、find は、pathname_list に列挙された開始点より下にある ファイルシステムマウントポイントをトラバースしなくなります。この場合、マウントポイ ント自体はアクセスされますが、そのマウントポイントより下にあるエントリーはアクセス されません。常に真です。 -mountstop −xdev と同じです。この要素は、単に過去のシステムとの互換性のために提供されるもの です。したがって、可能な限り −xdev を優先して使用してください。 -name file パターン file が現在のファイル名の最後の構成要素に一致した場合に真になります。パター ンは、ファイル名展開のパターンマッチング表記に従って一致の判定が行われます find を シェルから実行する場合は、シェルがメタキャラクタとして展開しないようにパターンをエ スケープ(バックスラッシュを使用) または引用符で囲んでください。パターンには、追加の コードセットキャラクタを含めることができます。 -path file これは -name と同じですが、ベース名だけでなく、(-print の出力と同じような) 絶対パ ス を 使 用 す る 点 が 異 な り ま す。 な お、 / は 特 殊 文 字 と は み な さ れ ま せ ん。 た と え ば、*/.profile は ./home/fred/.profile に一致します。 -perm [-]mode こ の 要 素 で は、 引 き 数 mode は ファ イ ル の モー ド ビッ ト を 表 し ま す。 こ の 引 き 数 は chmod(1) の mode オペランドと同じフォーマットですが、最初の文字に演算子 - を使用で きない点が異なります。記号形式の mode を使用する場合、指定しないファイルモードビッ トはすべてクリアとして扱われます。 先頭の負符号を省略すると、この要素はファイルパーミッションのビットが mode の値と完 全に一致した場合に真になります。また、記号表現属性 s (set-user-ID、 set-group-ID) ( ユーザー ID のセット、グループ ID のセット) および t (スティッキービット) に対応する ビットは無視されます。 mode の前に負符号を付けると、この要素は mode でオンになっている全ビットがファイル パーミッション ビットでもオンである場合に真になります。この場合、記号表現属性 s お よび t に対応するビットは有効になります。 -fstype FStype ファイルが属するファイルシステムのタイプが FStype (FStype は cdfs, hfs, nfs, vxfs のいずれかで、それぞれ CDFS、HFS、NFS、または JFS (VXFS) の各ファイルシステム タイプに対応) の場合に真になります。 -type c ファイルのタイプが c の場合に真になります。c は以下のいずれかを表します。 f 472 Hewlett-Packard Company 通常のファイル −2− HP-UX 11i Version 2: December 2007 find(1) -links n -user uname find(1) d ディレクトリ b ブロック型特殊ファイル c キャラクタ型特殊ファイル p FIFO (名前付きパイプ) l シンボリックリンク s ソケット n ネットワーク型特殊ファイル M マウントポイント ファイルに n 個のリンクが存在した場合に真になります。 ファ イ ル が ユー ザー uname に 属 し て い る 場 合 に 真 に な り ま す。 uname が 数 値 で /etc/passwd ファイル内にログイン名として存在していない場合、それはユーザーID と みなされます。uname オペランドの前に + または - を付けて、プライマリの比較を変更 することができます。項 n が10進数の整数を表す場合、+n は n より大きいことを意味し、 -n は n より小さいことを意味し、n は n と等しいことを意味します。 -group gname ファ イ ル が グ ルー プ gname に 属 し て い る 場 合 に 真 に な り ま す。 gname が 数 値 で /etc/group ファイル内に存在しない場合、それはグループ ID とみなされます。gname オペランドの前に + または - を付けて、プライマリの比較を変更することができます。項 n が10進数の整数を表す場合、+n は n より大きいことを意味し、-n は n より小さいこと を意味し、n は n と等しいことを意味します。 -nouser ファイルが属するユーザー ID がパスワードデータベース内にリストされていない場合に真 になります。passwd(4) を参照してください。 -nogroup ファイルが属するグループ ID がグループデータベース内にリストされていない場合に真に なります。group(4) を参照してください。 -size n[c] ファイルが n ブロックの長さの場合に真になります (1 ブロックは 512 バイト)。n の後に c があると、サイズは文字単位になります。 -atime n 開始時刻からファイルのアクセス時刻を引いた時間が 24 時間の n-1 倍と n 倍の間にある ( すなわち n 日前にアクセスした) 場合に真になります。開始時刻は、find ユーティリティ の起動時刻と path オペランドで指定されたファイルへの find ユーティリティの実行に よる最初のアクセス時刻との間の時刻です。pathname_list 内のディレクトリのアクセス時 刻は、find 自身が変更します。 -mtime n 開始時刻からファイルの変更時刻を引いた時間が 24 時間の n-1 倍と n 倍の間にある (すな わちn 日前に変更した) 場合に真になります。開始時刻は、find ユーティリティの起動時 刻と path オペランドで指定されたファイルへの find ユーティリティの実行による最初 のアクセス時刻との間の時刻です。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 473 find(1) find(1) -ctime n 開始時刻からファイルのステータス情報の最終変更時刻を引いた時間が 24 時間の n-1 倍と n 倍の間にある (すなわち n 日前にステータス情報を変更した) 場合に真になります。開始 時刻は、find ユーティリティの起動時刻と path オペランドで指定されたファイルへの find ユーティリティの実行による最初のアクセス時刻との間の時刻です。 -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 -inum n ファイルのシリアル番号 (iノード番号) が n の場合に真になります。ただし、ファイルのシ リアル番号は1つのファイルシステム中でのみユニークとなります。したがって、ファイル のシリアル番号のマッチングを行っても、検出範囲を1つのファイルシステムに限定しない 限り、参照されたファイルが同じであるとは限りません。 -linkedto path ファイルが path で指定したファイルと同じ物理ファイルであれば (すなわち、path にリン クされていれば)、真になります。この要素は -inum とほとんど同じですが、複数のファイ ルシステムを対象に検出を行った場合でも、ファイルが path にハードリンクされているこ とを正しく検出します。 -print 現在のパス名に改行文字を付けて出力します。常に真です。 -print0 現在のパス名に null 文字を付けて出力します。常に真です。 -exec cmd 実行した cmd が終了ステータスとしてゼロの値を返す場合に真になります。cmd の後には セミコロン (;) またはプラス記号 (+) を付けなければなりません (セミコロンおよびプラス 記号はシェルでは特別な意味を持つので、エスケープする必要があります)。+ が使用され る場合は、cmd は pathnames のセットを集め、そのセットに対して実行します。最初の {} と + の間のコマンド引き数は無視されます。; より + の方がよい理由は、パフォーマ ンスが非常に向上するからです。コマンド引き数 {} は現在のパス名で置き換えられます。 cmd は、追加コードセットキャラクタを含みます。 474 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 find(1) -ok cmd find(1) −exec と同じですが、生成されたコマンド行の先頭に疑問符を付けて出力し、ユーザーが y と応答した場合に限って実行する点が異なります。肯定の応答の形式は、ロケール依存に なります。たとえば、ロケールが C の場合は、"y"になります。environ(5) の LANG を参照 してください。cmd は、セミコロン (;) で終わらなければなりません。 (セミコロンはシェ ルでは特別な意味を持つので、エスケープする必要があります)。cmd は、補助コードセッ トの文字を含んでも構いません。 -cpio device 現在のファイルを cpio(4) フォーマット (5120バイトレコード) で device に書き込みます。 -cpio を使用した場合は、-depth も指定されているとみなされます。常に真です。 -ncpio -cpio と同じですが、cpio に -c オプションを追加します。-ncpio を使用した場合 は、-depth も指定されているとみなされます。常に真です。 -prune 現在のエントリーがディレクトリの場合、find はそのディレクトリをスキップします。こ の要素は、特定のディレクトリを検出の対象から外す場合、あるいは cpio -p を使用して いる際に再帰的なループを回避する場合に利用することができます。ただし、-depth オプ ションが指定されている場合、-prune は無効になります。詳細は、-only の説明と下記 の 例を参照してください。常に真です。 -only これは -prune とは逆の肯定論理を適用する要素です。-prune は、各ディレクトリに対 する -only の評価が失敗した場合に、実行されます。次の3つのコマンドは、等価になり ます。 find . -fsonly hfs -print find . -print -fstype hfs -only find . -print ! -fstype hfs -prune ただし、-depth オプションが指定されている場合、-only は無効になります。常に真で す。 ( expression ) かっこで囲んだ式が真であれば、真になります。スペースは必須です。かっこは、シェルに 対して特別な意味を持つので、¥( や¥) のように、エスケープする必要があります。 次の演算子を使用して、要素を組み合わせることができます (演算子は優先順位の高い順に示します)。 ! expression 論理 NOT 演算子。expression が真でなければ、真になります。 expression [-a] expression 論理 AND 演算子。2つの expression が両方とも真であれば、真になりま す。 expression -o expression 論理 OR 演算子。2つの expression の一方または両方が真であれば、真に なります。 expression が省略された場合、または -print, -print0, -ok, -exec, -cpio, -ncpio がいずれも指定され ていない場合は、-print が指定されているとみなされます。-user, -group, および -newer プライマリ は、それぞれの引き数の評価を一回行います。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 475 find(1) find(1) HFS アクセス制御リスト -acl 要素を使用すると、HFS アクセス制御リスト (ACL) のエントリーを検出することができます。この要 素は、ファイルのアクセス制御リストがアクセス制御リストパターンに一致する場合、またはそこにオプショ ンのアクセス制御リストエントリーが含まれている場合に真になります (acl(5) を参照)。この要素には、次の 3つの形式があります。 -acl aclpatt アクセス制御リストが aclpatt パターンによって指定されたすべて (0個以上) のパターンエ ントリーを含むすべてのファイルに一致します。 アクセス制御リストが aclpatt パターンによって指定された全部 (0個以上) のパターンエン -acl =aclpatt トリーを含み、同時にそのアクセス制御リスト内のどのエントリーも 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つと一致するファイルと一致します。 476 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 find(1) -aclv opt find(1) オプションのアクセス制御リストエントリーが含まれるすべてのファイルに一致します。 デフォルトでは、-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, -, ? パーミッションの状態を示し、x, -, ? のいずれかです。3番目の文字は実行 のいずれかです。 特殊な例として、aclpatt が opt の場合、この要素はオプションのアクセス制御リストエントリーを持つファ イルに対して真になります。 多言語化対応 環境変数 UNIX95 が設定されていると、find は、リンクの最後にスラッシュがある場合に、pathname_list 中のシン ボリックリンクを検出の対象とします。 使用する言語環境が指定されていない場合、あるいはヌルの場合は、デフォルトとして LANG の値が使用され ます。 LANG が指定されていない場合、あるいはヌルの場合は、デフォルトとして C が使用されます (lang(5) を参 照)。 LC_ALL が空文字列以外の値に設定されている場合、その他のあらゆる言語環境変数よりも優先されます。 いずれかの言語対応変数の設定が不当な場合、すべての言語対応変数に C が設定されているものとみなされ ます (environ(5) を参照)。 LC_CTYPE は、テキストをシングルバイト/マルチバイトのいずれの文字として解釈するか、表示可能な文字 の分類、および正規表現中の文字クラス表現と照合される文字を決定します。 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 477 find(1) find(1) LC_MESSAGES は、標準エラーに書き込む診断メッセージおよび標準出力に書き込む情報メッセージのフォー マットと内容を決めるロケールを指定します。 NLSPATH は LC_MESSAGES の処理に使用するメッセージカタログのパスを指定します。 サポートされるコードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 例 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 を使用している点に注意してください)。 478 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 find(1) find(1) 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 ディレクトリサブツリー内にあるすべての通常ファイルのパーミッションをモード 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ファイルの場合は必ず偽になります。 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 479 find(1) find(1) 警告 相互運用性を確保するために、cpio は 2GB を超えるファイルのアーカイブや 60,000 (60K) を超えるユー ザー/グループ ID を持つファイルはサポートしていません。60K を超えるユーザー/グループ ID を持つファ イルは、現在のプロセスのユーザー/グループ ID でアーカイブされ、復元されます。 著者 find は AT&T および HP で開発されました。 ファイル /etc/group グループ名 /etc/mnttab マウントポイント /etc/passwd ユーザー名 参照 chacl(1), chmod(1), cpio(1), setacl(1), sh(1), test(1), xargs(1), mknod(2), stat(2), cpio(4), group(4), passwd(4), acl(5), aclv(5), environ(5), lang(5), regexp(5) 標準準拠 find: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 480 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 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 は次のコマンド行オプションを認識します。 -a gencat が findmsg の出力を処理できるように、複数の入力ファイルから番号が設定 されたセットを1つに結合します。 -Dsym 記号 sym を定義します。 -Usym 記号 sym の定義を解除します。 -i すべての #ifdefs を入力ファイルからメッセージを抽出するものとみなします。このオプ ションが指定されない場合、オプション -D および -U はプリント指定子を選択するた めに使用されます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 481 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) 482 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 483 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 詳細フォーマットのプリントアウトによるファイルのプリントを抑止します。 強制的に「アイドル」フォーマットで出力します。ログイン名、ターミナル、ログイン時 間、および待ち時間のプリントを除き、短縮フォーマットと同様です。 484 -l 強制的に詳細フォーマットで出力します。 -m ユーザー名に関してのみ引き数を照合します。 -p .plan ファイルのプリントを抑止します。 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 485 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) 486 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 fold(1) fold(1) 名称 fold − 一定幅の出力デバイスのための長い行の折り返し 構文 fold [-b] [-s] [-w width ] [ file ... ] 旧形式 fold [-s] [-width ] [ file ... ] 説明 fold コマンドは、指定ファイルの内容が最大幅 width カラム位置( -b オプションを指定した場合はバイト) となるように行を折り返すフィルターです。 fold コマンドは改行キャラクタの挿入によって行を折り返し、 指定されたカラム位置(バイト)数を越えない範囲で各出力行の幅が最大となるようにします。キャラクタの途 中で行を折り返すことはできません。ファイルを指定しないか、 - の file 名を指定すると、標準入力が使用 されます。 fold コマンドは、印刷可能幅より広い行を折り返さずに切り捨てるラインプリンターに対してテキストファ イルを送る際によく使われます。 バックスペース、タブ、またはキャリッジリターン文字が入力にあって、 -b オプションが指定されていない 場合、以下のように特殊な処理が行われます。 バックスペース 行幅の現在のカウントが1減分されます。ただし、カウントはマイナスにはなりま せん。したがって、 character-backspace-character のような文字の並びは、両方 の文字がそれぞれ単一のカラム位置を占有するものと仮定して、 1つ分のカラム位 置としてカウントされます。 fold は、バックスペースキャラクタの直前あるいは 直後に改行キャラクタを挿入しません。 タブ タブ文字があるごとに、カラム位置ポインターが次のタブストップに進みます。タ ブストップは8カラムごとにカラム位置1,9,17,25,33などで設定されます。 キャリッジリターン ライン幅のカレントカウント値がゼロに設定されます。 fold は、バックスペース キャラクタの直前あるいは直後に改行キャラクタを挿入しません。 fold はファイル中のアンダーラインに影響を与えることがあるので注意してください。 オプション fold コマンドは以下のオプションおよびコマンド行引き数を認識します。 -b カラム位置ではなくバイトで width をカウントします。 -s カラム位置の指定(バイト)数の前にある、最後の空白文字で行を分割します。何も なければ、指定した行の長さで行を分割します。 -w width HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 487 fold(1) fold(1) 最大行長をカラム位置( -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 488 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 ビットコー ド、PA-RISC および Integrity システムをサポートします。また、HP C および C++ コンパイラが生成した コンパイラフットプリントをサポートします。他のコンパイラが生成したコンパイルユニットは、要約に反映 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 489 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: Earliest compiler timestamp: N/A Latest compiler timestamp: N/A Linker timestamp: Total size: 490 51 15-Jul-2006 13:07 UTC 425.8K (text) 24.8K (data) version [A.06.11/ANSI C architecture [ipf32 -O [01 PBO [off 51] -g [off 51] debugopt [off 51] 1] [02 +Ointeger_overflow [moderate 51] +Olit [const 51] +eh [off 51] -fpeval [float 51] -inline [1 -link_type [dynamic 51] -mt [(off) 51] -rodata [cond 51] Hewlett-Packard Company 51] 51] 1] [2 −2− 50] 50] HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 491 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 環境変数は、メッセージの表示言語を決定します。 サポートされるコードセット シングルバイト文字コードセットがサポートされます。 492 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 forder(1) forder(1) 例 以下のコマンドは、画面順序の file1 から始まり、それをキーボード順序に変換してキーボード順序の出力を 並べ換え、それを画面順序に変換し直して出力を file2 にリダイレクトします。 -n は file1 が非ラテンモード で作成されたことを forder に通知するためにあることに注意してください。 forder -n file1 | sort | forder -n > file2 警告 ユーザーが責任を持って LANGOPTS 環境変数がファイルのステータスを正確に反映するようにしてくださ い。 代替番号がある場合、それは常に左から右の向きです。 forder はHP独自のコマンドです。異機種のシステムには移植できません。HP-UXの将来のリリースではサ ポートされません。 著者 forder はHPで開発されました。 参照 environ(5), strord(3C), nljust(1) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 493 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) 494 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 fruled(1) fruled(1) 名称 fruled − アテンション LED (セル、キャビネット、および I/O シャーシのアテンション LED) の点滅/消灯の 切り替え 構文 fruled -c cell [-c cell]... [-f|-o] [-B] [ [ -u username:[passwd] -h IPaddress|hostname ] | [ -g [ passwd] -h IPaddress|hostname ] ] fruled -i I/Ochassis [-i I/Ochassis]... [-f|-o] [-B] [ [ -u username:[passwd] -h IPaddress|hostname ] | [ -g [ passwd] -h IPaddress|hostname ] ] fruled -b cabinet [-b cabinet]... [-f|-o] [ [ -u username:[passwd] -h IPaddress|hostname ] | [ -g [ passwd] -h IPaddress|hostname ] ] fruled -C|-I [-l cabinet] [-l cabinet]... [-f] [ [-u username:[passwd] -h IPaddress|hostname ] | [ -g [ passwd] -h IPaddress|hostname ] ] 説明 fruled コマンドは、ローカルシステムのセルや I/O シャーシのアテンション LED の点滅/消灯の切り替え を行います。このコマンドは、キャビネット番号 LED の点滅を開始または停止することもできます。 -u オ プションまたは -g オプションを指定すると、コマンドの対象は指定されたターゲットシステムになります。 -B オプションを使用すると、セルまたは I/O シャーシのアテンション LED を点滅させる際に、そのセルま たは I/O シャーシを含むキャビネットのキャビネット番号 LED も点滅させることができます。同様に、 -B オプションを使用すると、セルまたは I/O シャーシの LED を消灯した際に、キャビネット番号 LED の点滅 を停止させることができます。 注記: このコマンドは LED 状態の読み取りや表示は行いません。 LED の状態を知るには、ユーザーがハード ウェア自体を観察しなければなりません。 このマンページで使用しているパーティション管理関連の用語の詳細については 『HP システム パーティショ ン ガイド』を参照してください。 オプションおよび引き数 fruled は、以下のコマンド行オプションおよび引き数を認識します。 -f 指定したアテンション LED を消します。これがデフォルトです。 -o 指定したアテンション LED の点滅を行います。 -o オプションを -C または -I とともに使用することはできません。 -f と -o オプショ ンは、互いに排他的です。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 495 fruled(1) -B fruled(1) セルまたは I/O シャーシを含むキャビネットのキャビネット番号 LED の点滅を開始または停 止します。 -B オプションとともに使用できるオプションは、 -c および -i オプションの みです。 -u username:[passwd] ローカルパーティション以外のパーティションにアクセスするために必要な認証を指定します (ローカルパーティションへのループバックアクセスとして使用することもできます)。変更さ れるシステムは、このターゲットパーティションを含んでいるものになります。 このオプションを使用する場合は、 -h オプションも使用する必要があります。 username には、ターゲットパーティション上に構成されたユーザー名を指定します。 passwd には、 username に関連付けられているパスワードを指定します。このフィールドを 指定しないと、パスワードの入力を求められます。 注記: このコマンドは、Web-Based Enterprise Management (WBEM) の Client Application です。 −u オプションでは、Secure Sockets Layer (SSL) 接続を使用して対象パーティショ ンにアクセスします。エラーが発生した場合は、 制約の項に記載されている条件を満たして いることを確認します。 セキュリティ上の警告: コマンド行でパスワードを直接指定するのは、セキュリティ上のリス クがあります。 ps や他のコマンドでは、プロセスのコマンドラインを表示することができ るため、そのシステムで認証されたユーザーは、そのプロセスの実行中にパスワードを見るこ とができます。したがって、コマンド行でパスワードを指定するのではなく、プロンプトに 従ってパスワードを入力することを強く推奨します。 注記: コマンド行で passwd を指定する機能は、将来のリリースではサポートされなくなる予 定です。 -h IPaddress|hostname このオプションは、 「 -u 」または「 -g 」オプションと組み合わせて使用します。 IPaddress|hostname には、ターゲットパーティション (-u) またはシステム (-g) の IP アドレス またはホスト名を指定します。 -g [passwd] -h オプションで指定したシステムへのアクセスを許可します。アクセス先のシステムは、 ターゲットシステムであると判断されます。アクセスには、サービスプロセッサの LAN ポー トが使用されます。 このオプションを使用する場合は、 -h オプションも使用する必要があります。 passwd にはサービスプロセッサの IPMI パスワードを指定します。このフィールドを指定し ないと、パスワードの入力を求められます。 このオプションを使用して接続する際にエラーが発生した場合は、リモートシステムのサービ スプロセッサで IPMI LAN でのアクセスが使用不可になっていないかどうか確認します。 496 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 fruled(1) fruled(1) IPMI LAN でのコンプレックスへのアクセスを使用可能あるいは使用不可にするには、サー ビスプロセッサにログインし Command Menu で SA コマンドを使用します。 -u と -g オプションは、互いに排他的です。 セキュリティ上の警告: コマンド行でパスワードを直接指定するのは、セキュリティ上のリス クがあります。 ps や他のコマンドでは、プロセスのコマンドラインを表示することができる ため、そのシステムで認証されたユーザーは、そのプロセスの実行中にパスワードを見ること ができます。したがって、コマンド行でパスワードを指定するのではなく、プロンプトに従っ てパスワードを入力する事を強く推奨します。 注記: コマンド行で passwd を指定する機能は、将来のリリースではサポートされなくなる予 定です。 -c cell 指定した cell のアテンション LED の点滅/消灯を切り替えます。 cell は、ローカルフォーマット can be specified either in the local (キャビネット番号/スロッ ト番号) またはグローバルフォーマット (セル番号) のどちらかで指定することができます。 たとえば、キャビネット0、スロット4にあるセルは、ローカルフォーマットでは 0/4、グ ローバルフォーマットでは単に4と指定します。 -i I/Ochassis 指定した I/Ochassis のアテンション LED の点滅/消灯を切り替えます。 I/Ochassis は、 キャビネット番号/エンクロージャ番号/シャーシ番号の形式で指定しなく てはなりません。たとえば、キャビネット0、エンクロージャ1、I/O シャーシスロット1の I/O シャーシは、0/1/1 と指定します。 -b cabinet 指定した cabinet のキャビネット番号 LED の点滅を開始または停止します。 -C すべてのセルのアテンション LED を消します。 -I すべての I/O シャーシの LED を消します。 -l cabinet -C または -I オプションの範囲を指定した cabinet に限定します。 グローバルセル番号のローカルセル番号へのマップ コンプレックス内のキャビネットは0から番号付けされています。各キャビネット内のセルスロットも、0か ら番号付けされています。各キャビネットは最大8個のセルを持つことができます。たとえば、キャビネット 0内のセル番号は、グローバル形式では 0, 1, 2, 3, 4, 5, 6, 7 で、ローカル形式では 0/0, 0/1, 0/2, 0/3, 0/4, 0/5, 0/6, 0/7 です。 同様に、キャビネット1内のセル番号は、グローバル形式では 8, 9, 10, 11, 12, 13, 14, 15 で、ローカル形式で は 1/0, 1/1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7 です。 したがって、キャビネット1のスロット0のセル番号は、ローカル形式では 1/0、グローバル形式では8、と して識別されます。 parstatus コマンドでは、このセルは "cab1,cell0" と表示されます。キャビネット1の ス ロッ ト 4 の セ ル 番 号 は、 ロー カ ル 形 式 で は 1/4 、 グ ロー バ ル 形 式 で は 12 、 と し て 識 別 さ れ ま す。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 497 fruled(1) fruled(1) parstatus コマンドでは、このセルは "cab1,cell4" と表示されます。 parstatus(1) を参照してください。 戻り値 fruled コマンドは、以下のいずれかの値で終了します。 0 正常終了 1 エラーが発生しました。 2 指定されたオブジェクトに関連した LED が見つかりません。 例 キャビネット0、スロット4にあるセルのアテンション LED を点滅させ、さらにこのセルが含まれている キャビネットのアテンション LED も点滅させます。 fruled -o -B -c 0/4 キャビネット 0/ スロット4およびキャビネット 0/ スロット6の2つのセルのアテンション LED を消灯しま す。 fruled -f -c 0/4 -c 0/6 警告 HP-UX 11i v2 は、 -u オプションおよび -g オプションで passwd を渡す機能をサポートする最後の HPUX リリースです。コマンド行で passwd を指定する機能は、将来のリリースでサポートされなくなる予定で す。コマンドからパスワードの入力を求めるプロンプトが表示されます。 制約 このコマンドでは、 Web-Based Enterprise Management (WBEM) 製品とその設定を使用します。 −u オプ ションを使用した時に接続エラーが発生した場合は、次の2つの条件が満たされていることを確認してくださ い。 • cimconfig コマンド (WBEM 製品のマニュアルの cimconfig(1M) を参照) を使用して次の2つの変数の 設定を検証します (必要であれば 設定を訂正します)。 • enableRemotePrivilegedUserAccess=true • enableHttpsConnection=true • ローカルパーティションの Trust Store ファイルに、対象パーティションのデジタル認証を追加しておく必 要 が あ り ま す。 nPartition コ マ ン ド で 使 用 さ れ る Trust Store ファ イ ル は /var/opt/wbem/client.pem です。 注記: ローカルパーティションの Trust Store ファイルに、対象パーティションのデジタル認証を追加して お く 必 要 が あ り ま す。 ハー ド ウェ ア パー ティ ショ ン 用 コ マ ン ド の Trust Store ファ イ ル は /var/opt/wbem/client.pem です。このファイルは、WBEM と一緒にインストールされるコマンドで 使用されるため、 WBEM と一緒にインストールされるコマンドで認証を与えたパーティションは、ハー ドウェアパーティション用コマンドでも認証を与えられることになります。 498 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 fruled(1) fruled(1) 詳細については、 参照の項に記載されている WBEM のドキュメントを参照してください。 著者 fruled は HP により開発されました。 参照 parstatus(1), frupower(1M), parcreate(1M), parmgr(1M), parmodify(1M), parremove(1M), parunlock(1M), partition(5) 『HP システム パーティション ガイド』 (http://docs.hp.com/ja) 『HP WBEM Services for HP-UX System Administrator’s Guide』 (http://docs.hp.com) 『 HP WBEM Services for HP-UX 11i v2.0 on Integrity Servers Version A.01.05 Release Notes 』 (http://docs.hp.com) HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 499 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] 説明 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 は、標準入力を読み込んでコピーするパス名のリストとします。ftio は、必要なら ば複数のテープにコピーすることができます。使われる各テープに対して、ftio は テープヘッダーを生成し、そこに現在のテープのボリューム番号、マシンのノード名 とタイプ、オペレーティングシステム名、リリースおよびバージョン番号( これはす 500 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ftio(1) ftio(1) べて 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 が、ファイルリストを作成したと きにファイルがそのボリューム上に格納されると予想したボリュームです。したがっ て、この点で最後のボリュームだけが有効です。 -e extarg アーカイブされるファイルのエクステント属性の処理を指定します。ftio でファイ ルをアーカイブするときはエクステント属性を保存することはできません。extarg に は次のいずれかの値を指定します。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 501 ftio(1) ftio(1) 警告メッセージを出して、エクステント属性なしでファイルをアーカイブ warn します。 エクステント属性付きのファイルはアーカイブされますが、エクステント ignore 属性は保存されず、また警告メッセージも出されません。 エクステント属性つきのファイルはアーカイブされず、警告メッセージが force 出されます。 -e を指定しないと、extarg のデフォルト値は warn となります。 -B blksize テープに書き出されるブロックのサイズを ( バイト単位で ) 指定します。この数値 は、末尾が k の場合は 1024 を乗算することを示します。使用するブロックが大き いほど、一般には性能およびテープ使用効率が向上します。指定可能な最大ブロック サイズは使用するテープドライブによって制限されます。デフォルトは 16 384バイト ですが、その理由は、これがほとんどの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と の互換性」の項を参照)。 -N datefile 502 datefile で指定したファイルよりも新しいファイルだけをテープにコピーします。 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ftio(1) ftio(1) ftio のフェーズがずれている場合、自動的に同期を取り直します。これは、バック -R アップが複数のテープにまたがる場合に、最初のテープ以外のテープから復元する際 に有効です。デフォルトの動作では、ftio は、同期を取り直す必要があるかどうか をユーザーに問い合せます。 -S script 複数のテープにまたがるバックアップで、1本のテープが完了するたびに呼び出すコ マンドを指定します。このコマンドは、script tape_no user_name と引き数を付けて 呼び出されます。ここで script は、-S オプションで指定される文字列引き数 script です。 tape_no は必要なテープ数であり、 user_name は ftio を呼び出したユー ザーです。通常、文字列 script は、テープ変更が必要なことをユーザーに通知するの に使用するシェルスクリプトを指定します。 -T tty /dev/tty の代替を指定します。通常 ftio は、ターミナル対話処理が必要な場 合、/dev/tty をオープンします。 -Z nobufs 2つのプロセス間のバッファースペースとして、メモリーを blksize 単位で何個使用す るかを指定します。ここで、 blksize はテープに書き出されるブロックのサイズで す。メモリーを多く使用すると、通常は性能が向上しますが、一定の量を超えると、 向上が見られなくなり、バッファースペースがメインメモリーからスワップアウトさ れるのに従い、性能が悪化することがあります。 nobufs のデフォルト値は 16 です が、システムの負荷が許せば、32 または 64 を使用すると、性能が向上すると考えら れます。バックアップは、シングルユーザーモードのシステムで行うと、最良の結果 が得られます (shutdown(1M) を参照)。 修飾子 以下の修飾子は、「構文」で示したように特定のオプションと併用できます。 a ファイルをテープにコピーした後、アクセスタイムをリセットして、ファイルが ftio に よってアクセスされなかったように見せます。 c ポータビリティを保つためにヘッダー情報を ASCII 文字形式で書き込みます。 d ファイルを復元する際、必要に応じてディレクトリを作成します。 f patterns に一致するものを除いて、すべてのファイルをテープからファイルシステムへコ ピーします。 h シンボリックリンクが指しているファイルを、通常のファイルまたはディレクトリであるか のように、アーカイブします。デフォルトでは、ftio はリンク自体をアーカイブします。 m ファイルの以前のファイル変更時刻および所有者を保持します。ただし、変更時刻の復元 は、復元対象のディレクトリには適用されません。 p バックアップの最後に、転送したブロック数、合計所要時間 (テープ巻き戻しやリール交換に 要した時間を除く)、およびこれらの値から計算した実際の転送速度をプリントします。p を 2回指定すると、これらの値は各テープの終りにプリントされます。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 503 ftio(1) ftio(1) 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*’ のように) 単一引用符 で囲むことにより、メタキャラクタの展開を防止します。 504 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 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/rmt/c0t0d0BEST にコピーします。 ftio -ox /dev/rmt/c0t0d0BEST / 次の例では、/dev/rmt/c0t0d0BEST 上のファイルをすべて現在のディレクトリからの相対位置に復元しま す。 ftio -idxE /dev/rmt/c0t0d0BEST 次の例では、ftio -o を使って作成されるバックアップセットの内容をリストします。v 修飾子を使用する と詳細なリストが示され、テープヘッダーの内容が表示されます。 ftio -itv /dev/rmt/c0t0d0BEST 次の例では、.ftiorc ファイルの使用方法を示します。 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 505 ftio(1) ftio(1) .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/rmt/c0t0d0BEST /home/my_home /usr/sbin -O オプションを指定すると、ftio は .ftiorc ファイルに追加オプションがないかどうか をチェックします。この場合、文字ヘッダーが生成され、アクセス時刻がリセットされ、コ ピーしたファイルのリストが標準出力にプリントされ、すべてのファイル名が / からの相対 的なパス名で /dev/rmt/c0t0d0BEST にコピーされます。そしてバックアップの完了時 (お よび各テープの交換時)に性能データがプリントされ、バックアップが複数のメディアにまた がる場合は、メディアが1 つ終るたびに、スクリプト /usr/local/bin/ftio.change が ftio によって実行されます。 警告 業界標準に準拠し相互運用性を確保するために、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) を参照) を使って削除できます。 著者 ftio は、HP で開発されました。 参照 cpio(1), find(1), ipcs(1), ipcrm(1), kill(1), ls(1), rmt(1M), mknod(2), prealloc(2), signal(2), uname(2), acl(5), environ(5), lang(5), regexp(5), mt(7) 506 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 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 コマンドを使います。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 507 ftp(1) ftp(1) -B データソケットのバッファーサイズを size 個の 1024 バイトブロックに設定します。 size の 有効な範囲は 1 から 2097151 までの整数です (デフォルトは 56 )。 注記: バッファーサイズを大きくすると、高速リンク (たとえば、FDDI) では 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 ] いったんログインが正しく完了した後、リモートシステムがリソースにアクセスする際に必要となる 補足用のパスワードを提供します。引き数を省略すると、エコーなしの入力モードでアカウントパス ワードを入力するようにプロンプトが送られます。 508 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 はプロンプトを出し HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 509 ftp(1) ftp(1) て、最後の引き数が dir の出力先のターゲットファイルになっているかどうかを確認してきます。拡 張文字は、すべて置き換えられます。 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 のいずれも指定していない場合は、 510 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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 の最終修正時刻を表示します。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 511 ftp(1) ftp(1) mput local-files local-files をローカルシステムからリモートシステムにコピーします。リモートファイル名は、 ntrans および nmap の設定に従って処理されたローカルファイル名と同じになります。拡張機能をオ ンにすると、拡張用のメタキャラクタが置き換えられます。 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. の指定が可能です。 $, [, ], および , の特殊文字としての解釈を避ける場合は、 ¥ を使用します。 512 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 ftp(1) ftp(1) ntrans [ inchars [ outchars ] ] ファイル名に用いられる文字の変換機構を設定、または解除します。引き数を省略すると、ファイル 名文字変換の機構が解除されます。一方、引き数を指定すると、リモートファイル名の文字は、リ モートターゲットファイル名なしで入力された mput コマンドおよび put コマンドの実行中に、変 換されます。また、引き数を指定した場合、ローカルファイル名も、ローカルターゲットファイル名 なしで入力された mget コマンドおよび get コマンドの実行中に、ローカルファイル名の文字が変 換されます。このコマンドは、ファイル名のネーミング規約や用法が異なる UNIX 以外のリモートコ ンピュータに接続している場合に利用することができます。 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 名に割り当てます。 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 513 ftp(1) ftp(1) pwd リモートワークディレクトリの名称を stdout に出力します。 quit bye と同義です。 quote arguments arguments をそのままサーバーホストに送信します。 ftpd(1M) を参照してください。 recv remote-file [ local-file ] get と同義です。 reget remote-file [ local-file ] get とほとんど同じように動作します。ただし、 local-file が存在していて、そのサイズが remotefile より小さい場合、 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 は、シェルコマンドで生成されたローカルファイルには影響を与 えることはありません (下記参照)。デフォルト値は、 オフです。 514 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 ftp(1) ftp(1) send local-file [ remote-file ] put と同義です。 sendport PORT コマンドの使用について、その設定を切り換えます。デフォルトの場合、 ftp は PORT コマン ドを使用して、各データ転送に必要な接続を設定します。 PORT コマンドが正常に実行されない場 合、 ftp はデフォルトのデータポートを使用します。 PORT コマンドの使用を不能にすると、 ftp はデータ転送について 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 がプリントされます。 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 515 ftp(1) ftp(1) 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 が存在すれば許可されたと考えられます。 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 に書きます。 シェルコマンドに空白がある場合は、その引き数を 516 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 ftp(1) ftp(1) "| ls -lt" のように引用符で囲まなければなりません。この機構を使った有用な例を次に示します。 ls . "| more" このコマンドは、現在のディレクトリに存在するファイルの一覧を、ページごとに区切って表示します。 put "| tail -20 loc_file" rem_file このコマンドは、ローカルファイル "loc_file" の末尾20 行を、リモートシステムにファイル "rem_file" と してコピーします。 • これ以外の場合、ファイル名の拡張機能をイネーブルにすると、 ftp は csh(1) で使用する規則に基づい てローカルファイル名を拡張します。下記の glob コマンドを参照してください。 ftp コマンドでロー カルファイルが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) HP-UX 11i Version 2: December 2007 − 11 − Hewlett-Packard Company 517 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) 518 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 519 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 アカウントにコピーしなければなりません。サーバーはこのファイルを定期的にチェックし、いつサーバーが シャットダウンされるかを調べます。 -d min このオプションは disc_offset として使用されます。現在のすべての FTP 接続は シャットダウンの min 分前に切断されます。min のデフォルト値は 5 分です。この 値はユーザーがリセットできます。 -l min このオプションは deny_offset として使用されます。新規の FTP アクセスはシャット ダウンの min 分前に不可能になります。min のデフォルト値は 10 分です。この値 はユーザーがリセットできます。 -V このオプションを指定すると、著作権とバージョンの情報を表示し、その後、終了し ます。 オペランド 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 520 Hewlett-Packard Company システムがシャットダウンされる時刻 −1− HP-UX 11i Version 2: December 2007 ftpshut(1) ftpshut(1) %r 新規の接続が拒否される時刻 %d 現在の接続が切断される時刻 %C 現在のワークディレクトリ %E ftpaccess で定義されているメンテナンス担当者の電子メールアドレス %L ローカルホスト名 %M このクラスで設定可能な最大ユーザー数 %N このクラスの現在のユーザー数 %R リモートホスト名 %T ローカル時刻 (Thu Nov 15 17:12:42 1990 の形式) %U ログイン時に指定されたユーザー名 戻り値 ftpshut は、以下の値を戻します。 0 正常終了 1 異常終了 -1 ftpshut に不正なパラメータが渡されました。 警告 ftpshut に絶対時刻を使用する場合、サーバーをシャットダウンさせることができるのは現在から 23:59 ま での間だけです。 著者 ftpshut はミズーリ州セントルイスのワシントン大学で開発されました。 参照 ftprestart(1), ftpaccess(4) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 521 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) 522 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 gcore(1) gcore(1) 名称 gcore − 実行中のプロセスのコアイメージの取得 構文 gcore [−o filename] process-id... 説明 gcore コマンドは、指定した各プロセスのコアイメージを作成します。デフォルトでは、 process-id のコア イメージファイルの名前は core. process-id になります。コアファイルのプロセス情報は、デバッガを使用し て取得することができます。 指定した各プロセスのコアイメージを gcore コマンドが作成する時には、そのプロセスは一時的に停止され ます。コアイメージの作成が完了するとプロセスは実行を続けます。 オプション -o filename filename. process-id というファイル名でコアファイルを作成します。 process-id の値を複数 指定した場合は、すべてのコアイメージファイルの名前が filename で始まります。「例」の 項を参照してください。 オペランド process-id コアイメージファイルを作成するプロセスの ID 戻り値 完了すると、 gcore は次の値のいずれかで終了します。 0 >0 コアファイルの作成に成功しました。 エラーが発生しました。この場合、コアファイルが作成されるかどうかは保証されません。考 えられるエラー状態には以下のものがあります。 • 指定されたプロセス ID が存在しないか、間違っている。 • 無効なオプションが指定された。 • ダンプファイルのディレクトリ、または gcore を起動したときのディレクトリに、書き 込みパーミッションがない。 • core.<pid> サブディレクトリを持つ filename.<pid> ディレクトリがすでに存在する。 • プロセスの現在の作業ディレクトリがアクセスできない。 • ファイルシステムが満杯である。 例 例1 プロセス 1030 のコアイメージを、ファイル core.1030 にダンプします。 gcore 1030 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 523 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 例5 プロセス 1030 のコアイメージを、既存のディレクトリ /tmp/testgcore.1030 内のファイル core.1030 にダンプします。 gcore -o /tmp/testgcore 1030 警告 gcore の実行中に、コアイメージと同じ名前とディレクトリパスを持つ、通常のファイルでないファイルが 作成された場合の gcore の動作は、定義されていません。 ファイル core. process-id process-id のコアイメージファイル。 著者 gcore は、HP の Chris Bertin によって開発されました。 参照 adb(1), gdb(1), kill(1), ttrace(2), a.out(4), core(4) 524 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 の一部であると解釈されます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 525 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 は、標準エラーに書き込む診断メッセージ、および標準出力に書き込む情報メッセージの 526 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 527 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 を空でない文字列値に設定すると、その他のすべての国際化変数の値をオーバーライドすることにな ります。 528 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 すべてのテーブルをこのディレクトリにインストールしなければ なりません。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 529 genxlt(1) genxlt(1) 参照 dmpxlt(1), iconv(1), iconv(3C) 標準準拠 genxlt: XPG4 530 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 ファイルのバージョン( デルタ) の SCCS 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 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 531 get(1) get(1) −e get は、 delta を以降に使用することによって SCCS ファイルを編集するか、ま たはファイルに変更を加える (デルタ) 目的のためであることを暗示します。 SCCS ファイルの特定バージョンに対して 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 の読み出しパーミッションがなければなりません。 532 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 get(1) get(1) −p SCCS ファイルから読み出されるテキストが標準出力に書き出されます。 g-file は作 成されません。 −s オプションを使用しない限り、通常標準出力に向けられる出力は すべてファイル記述子2(標準エラー)に向けられます。 −s オプションを使用した場 合は消失します。 −s 通常、標準出力に書き出される出力をすべて抑止します。ただし、致命的エラーメッ セージ(常にファイル記述子2に出力される)は影響を受けません。 −m SCCS ファイルから読み出される各テキスト行の前に SCCS ファイルのテキスト行を 挿入したデルタの SID が置かれます。フォーマットは、 SID、次に水平タブ、そし てテキスト行が続きます。 −n 生成されるテキスト行の前に %M% 識別キーワード値( 以下を参照) が置かれます。 フォーマットは、 %M% 値、次に水平タブ、そしてテキスト行が続きます。 −m およ び −n の両方のオプションを使用する際には、フォーマットは %M% 値、次に水平タ ブ、そして −m オプションの生成したフォーマットです。 −g SCCS ファイルからのテキストの実際の読み出しを抑止します。これはおもに l-file を生成するため、または特定の SID の存在を確認するために使用します。 −t 指定したリリース(たとえば −r1)、またはリリースおよびレベル(たとえば −r1.2) に おいて最後に作成した(「最上位の」)デルタにアクセスするのに使われます。 -w string ファイルを取得する際に、 @%M% のすべての条件を string で置き換えます。 −aseq-number 読み出される 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" に続いてリストされます。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 533 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+1) における幹継承 R.L.B.S しない 分岐継承なし R.L.B.S 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) を参照) がファイル内に存在する場合のみ有効で す。 − のエントリーは、「不適切」を意味します。 534 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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(1) 文字列を構成するための略記法 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 535 get(1) get(1) %W%=%Z%%M%horizontal-tab%I% %A% 非 HP-UX システムプログラム ファイル用に what(1) 文字列を構成するための別の略記法 %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(1) を使用してください。 警告 有効ユーザーが 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 です。実際のユーザーだけがカレントディレクト 536 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 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 ファ HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 537 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 538 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 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) に説明があります。 さらに、読み出し専用ファイルシステム上のファイルまたは実行中の共用テキストプログラムの書き込みビッ トはクリアされます。実行ビットは、書き込みオープンされているファイルが共用テキストプログラムである かどうかを確かめることができないため、書き込みオープンされている共用テキストプログラムでオフにされ ません。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 539 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 540 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 getaccess(1) getaccess(1) 作成 getaccess はHPで開発されました。 ファイル /etc/passwd /etc/group 参照 chacl(1), lsacl(1), getaccess(2), glossary(9) HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 541 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の形式は以下のとおりです。 # file: filename # owner: uid # group: gid user:: perm user:uid: perm group:: perm group: gid: perm 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行のみが表示される点に注意してくだ さい。 542 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 getacl(1) getacl(1) ユーザー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 には、実際に与えられているパーミッションのみが示されます。 例 6つのエントリーから構成される ACL を持つ filea ファイルの場合、コマンド $ getacl filea を実行すると、以下の内容がプリントされます。 # file: filea # owner: fletcher # group: us user::rwx user:spy:--user:archer:rw- HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 543 getacl(1) getacl(1) group::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-default:other:--また、この fileb ディレクトリについて、コマンド $ getacl fileb を実行すると、以下の内容がプリントされます。 # file: fileb # owner: fletcher # group: us user::rwx user:spy:--- 544 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 getacl(1) getacl(1) 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 用 参照 acl(2), aclsort(3C), chmod(1), ls(1), setacl(1) HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 545 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をデフォルトとします。仕様と意味については、以下のテー ブルを参照してください。 int long pointer XBS5_ILP32_OFF32 Specification 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) を参照してください。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 546 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 _BC_BASE_MAX BS_SCALE_MAX BC_STRING_MAX CHARCLASS_NAME_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX CLK_TCK COLL_WEIGHTS_MAX CPU_CHIP_TYPE CS_MACHINE_IDENT CS_PARTITION_IDENT CS_PATH CS_MACHINE_SERIAL EXPR_NEST_MAX HW_CPU_SUPP_BITS HW_32_64_CAPABLE INT_MAX INT_MIN IPMI_INTERFACE KERNEL_BITS LINE_MAX LONG_BIT LONG_MAX LONG_MIN MACHINE_IDENT MACHINE_MODEL MACHINE_SERIAL MB_LEN_MAX NGROUPS_MAX NL_ARGMAX NL_LANGMAX NL_MSGMAX NL_NMAX NL_SETMAX NL_TEXTMAX NZERO OPEN_MAX PARTITION_IDENT PATH _POSIX_ARG_MAX _POSIX_JOB_CONTROL HP-UX 11i Version 2: December 2007 −2− BC_DIM_MAX Hewlett-Packard Company 547 getconf(1) getconf(1) _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX _POSIX_SSIZE_MAX _POSIX_STREAM_MAX _POSIX_SAVED_IDS _POSIX_TZNAME_MAX _POSIX_VERSION POSIX_ARG_MAX POSIX_CHILD_MAX POSIX_JOB_CONTROL POSIX_LINK_MAX POSIX_MAX_CANON POSIX_MAX_INPUT POSIX_NAME_MAX POSIX_NGROUPS_MA POSIX_OPEN_MAX POSIX_PATH_MAX POSIX_PIPE_BUF POSIX_SAVED_IDS POSIX_SSIZE_MAX POSIX_STREAM_MAX POSIX_TZNAME_MAX POSIX_VERSION POSIX2_BC_BASE_MAX POSIX2_BC_DIM_MAX POSIX2_BC_SCALE_MAX POSIX2_BC_STRING_MAX POSIX2_C_BIND POSIX2_C_DEV POSIX2_C_VERSION POSIX2_CHAR_TERM POSIX_CHILD_MAX POSIX2_COLL_WEIGHTS_MAX POSIX2_EXPR_NEST_MAX POSIX2_FORT_DEV POSIX2_FORT_RUN POSIX2_LINE_MAX POSIX2_LOCALEDEF POSIX2_RE_DUP_MAX POSIX2_SW_DE POSIX2_UPE POSIX2_VERSION PSET_SUPPORT SC_PASS_MAX SC_XOPEN_VERSION SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX RE_DUP_MAX TMP_MAX TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX WORD_BIT XOPEN_VERSION XOPEN_XCU_VERSION XOPEN_XPG2 XOPEN_XPG3 XOPEN_XPG4 XBS5_ILP32_OFF32_CFLAGS XBS5_ILP32_OFF32_LDFLAGS XBS5_ILP32_OFF32_LIBS XBS5_ILP32_OFF32_LINTFLAGS XBS5_ILP32_OFFBIG_CFLAGS XBS5_ILP32_OFFBIG_LDFLAGS XBS5_ILP32_OFFBIG_LIBS XBS5_ILP32_OFFBIG_LINTFLAGS XBS5_LP64_OFF64_CFLAGS XBS5_LP64_OFF64_LDFLAGS XBS5_LP64_OFF64_LIBS XBS5_LP64_OFF64_LINTFLAGS 第2パラメータを指定しなければならない問い合わせは、次のとおりです。 548 LINK_MAX MAX_CANON MAX_INPUT NAME_MAX PATH_MAX PIPE_BUF _POSIX_CHOWN_RESTRICTED _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NO_TRUNC _POSIX_NAME_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_VDISABLE POSIX_CHOWN_RESTRICTED POSIX_NO_TRUNC POSIX_VDISABLE Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 getconf(1) getconf(1) 注記 getconf でサポートされるすべてのパラメータのリストについては、 sysconf() 、 pathconf() 、およ び confstr() のマンページを参照してください。 著者 getconf はHPおよび POSIX で開発されました。 参照 pathconf(2), sysconf(2), confstr(3C) 標準準拠 getconf: POSIX.2, XPG4 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 549 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 550 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 getopt(1) getopt(1) echo $USAGE exit 2 fi while [ $# -gt 0 ]; do case $1 in -a | -b) FLAG=$1 shift ;; -o) OARG=$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 オプションの引き数として、NULL 文字列、あるいは空白文字を含んだ文字列は使用できません。 参照 getopts(1), sh(1), getopt(3C) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 551 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 は、現在のシェル実行環境に影響を 与えます。 552 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 getopts(1) getopts(1) オペランド 以下のオペランドがサポートされています。 optstring getopts を起動するユーティリティにより認識されるオプション文字を含む文字 列。文字の後にコロン (:) がある場合、オプションには引き数があるものと判断しま す。このオプションの引き数は、別の引き数として指定されます。アプリケーション でオプション文字とそのオプションの引き数を別々の引き数として指定する必要があ ります。 getopts は、引き数を必要とするオプション文字の後の文字を1つの引き 数として解釈します。明示的なヌルオプションの引き数は、 getopts の実行時に独 自の引き数として指定されない場合は認識されません。疑問符 (?) およびコロン (:) 文字は、アプリケーションでオプション文字として使用してはなりません。英数字以 外の他のオプション文字を使用すると、予期せぬ結果を引き起します。オプションの 引き数がオプション文字とは別の引き数として指定されない場合は、 OPTARG の値 からオプション文字およびハイフン (-) が取り除かれます。 optstring の最初の文字 は、未知のオプション文字が指定されたり、あるいはオプションの引き数が指定され なかった場合の getopts の動作を決定します。 name getopts により検索されたオプション文字に設定されるシェル変数の名前 getopts は、デフォルトでは起動するシェルプロシージャに渡される位置パラメータを構文解析します。 args を与える場合、位置パラメータに代わり構文解析します。 多言語化対応 環境変数 以下の環境変数は、 getopts ユーティリティの実行に影響を与えます。 OPTIND 処理する次の引き数のインデックスとして getopts により使用されます。 エラー エラーが検出され、 optstring オペランドの最初の文字がコロン (:) でないときはいつでも、診断メッセージ が不特定のフォーマットで次のような情報とともに標準エラーに書き込まれます。 • 実行するプログラム名がメッセージ中に確認されます。実行するプログラム名は、 getopts ユー ティリティが実行される時のシェル特殊パラメータ0 の値です。以下と等価な名前が使用されま す。 basename "$0" • optstring に指定されていないオプションが発見されると、このエラーが確認され、無効なオプ ション文字がメッセージ中に確認されます。 • オプション引き数を必要とするオプションで、オプション引き数が発見されないと、このエラーが 確認され、無効なオプション文字がメッセージ中に確認されます。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 553 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" "$*" 554 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 getopts(1) getopts(1) 参照 getopt(1), ksh(1), sh-posix(1), sh(1), getopt(3C) 標準準拠 getopts: XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 555 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) 556 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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) は、複数の共有ライブラリのプロファイルをサポートします。 PA-RISC 上で gprof は、単一の共有ライブラリのプロファイルをサポートします。詳細は以下の 「共有ラ イブラリのプロファイリング」の項を参照してください。 プ ロ ファ イ ル 用 の ロー ド モ ジュー ル の シ ン ボ ル テー ブ ル は、 呼 び 出 し グ ラ フ プ ロ ファ イ ル ファ イ ル (gmon.out) から読み取られて関連付けられます。完全な呼び出しグラフを得るには、シンボルテーブルを分 割しないでください。つまり、コンパイル時に -x オプションを使わないでください。複数のプロファイル ファイルを指定すると、gprof 出力は、与えられたプロファイルファイルにおける全プロファイル情報を示 します。 最初に、prof ( prof (1) を参照) によって与えられたのと同様のフラットプロファイルが与えられます。この リストには、プロファイル対象のロードモジュールにおける関数ごとの全実行時間および呼び出しカウント が、降順で示されます。Itaniumベース システムでは、関数が定義されているロードモジュールを示す、各関 数のモジュールインデックスも報告されます。 次に、これらの時間は、呼び出しグラフの辺に沿って伝播されます。gprof は、呼び出しグラフですべての サイクルを発見します。サイクルになったすべての呼び出しは、そのサイクルの時間を共有します。第2のリ ストには、呼び出しグラフ子孫の時間を含む、時間に従ってソートされた関数が示されます。各関数エント リーの下には、その (直接) 呼び出しグラフ子孫とその時間がこの関数に伝播される方法が示されます。この関 数の上の同様のディスプレイには、この関数の時間およびその子孫の時間がその (直接) 呼び出しグラフ親に伝 播される方法が示されます。 サイクルも、サイクル全体のエントリーおよびサイクルのメンバーのリストとともに示され、それぞれ、サイ クルの時間および呼び出しカウントに関連しています。 Itaniumベース システムでは、最後にすべてのモジュールインデックスとモジュール名のマッピングが示され ます。プロファイルされなかったモジュールは、出力の最上部に報告されます。 共有ライブラリのプロファイリング 共有ライブラリの gprof プロファイリングは、32ビットと 64ビットの Itaniumベース システムでサポート されています。PA-RISC では 32ビットの共有ライブラリのプロファイリングのみがサポートされています。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 557 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 静的に宣言された関数の出力を抑止します。このオプションを与えると、 (時間サン プル、他の関数への呼び出し、および他の関数からの呼び出しなどの) 静的な関数に 558 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 文字列に設定さ れている場合、プロファイリング出力は作成されません。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 559 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 560 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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/libc.2 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libc.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 共有ライブラリには次のような制約があります。 • ローカル、静的、隠し関数はプロファイリング対象になりません。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 561 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), crt0(3), monitor(3C), smonitor(3C) 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 オプションを参照)。 562 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 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 各行の先頭に、その行が見つかった位置のブロック番号を付けます。これは、 コンテキストによってディスクのブロック番号を検出する場合に利用できま HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 563 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 引き数全体を単一引用符で囲む (’...’). のが安 564 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 という名前のファイルを検索する場合、 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 565 grep(1) grep(1) Ken 112 Warring St. Judy 387 Bowditch Ann 429 Sixth St. Apt. A Apt. 12 次のコマンドを使用すると、 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 566 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 567 groups(1) groups(1) /etc/passwd 参照 id(1), newgrp(1), getgroups(2), initgroups(3C), cuserid(3S), group(4) 568 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 569 head(1) head(1) 警告 入力行の長さは、 {LINE_MAX} バイト以内に制限されています。 参照 tail(1), cat(1), more(1), pg(1) 標準準拠 head: SVID3, XPG4, POSIX.2 570 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 host(1) host(1) 名称 host − DNS 参照ユーティリティ 構文 host [-aCdlnrTwv] [-c class] [-N ndots] [-R number] [-t type] [-W wait] name server 説明 host は、DNS 参照を行う簡単なユーティリティです。これは普通、名前をIPアドレスに変換したり、その 逆を行ったりします。引き数やオプションが指定されない場合、host はコマンド行引き数やオプションの簡 単なサマリーを出力します。 引き数 name 参照するドメインの名前です。ドットデシマル表記のIPv4 アドレスや、コロン区切りの IPv6アドレスも指定できます。その場合、デフォルトで host は、そのアドレスに対する 逆引きを行います。 server これは省略可能な引き数で、host が照会するネームサーバーの名前かIPアドレスです。 /etc/resolv.conf にあるサーバーの代わりにここで指定したサーバーが使われます。 オプション このオプションは、v オプションを設定し、host に ANY の種類の照会を行わせるよう a 指定するのと等価です。 このオプションが使われた場合、host は、そのゾーンについて権限があるものとして一 C 覧に挙げられているネームサーバーすべてから、name で指定したゾーンのSOAレコード を表示しようとします。ネームサーバーの一覧は、そのゾーンで見つかったNSレコードで 定義されます。 c class このオプションは host に対して、class が指すクラスの照会を行うよう指定します。こ れは、HesiodやChaosnetクラスのリソースレコードを参照するときに使われます。クラス のデフォルト値は、インターネットを示す IN です。 d v このオプションのいずれかが使用された場合、host は詳細な出力を生成します。この2つ のオプションは等価です。これは、以前のバージョンとの互換性のために提供されていま す。前のバージョンでは、d オプションはデバッグ用のトレースをオンにし、v が詳細な 出力を有効にしていました。 l このオプションは一覧のモードを選択します。これは host に、name で指定したゾーン についてのゾーン変換を実行させます。この引き数は古い実装との互換性のために提供さ れています。このオプションは、AXFR という種類の照会を実行するのと等価です。 n このオプションは、IPv6アドレスの逆引きで、RFC1886に定義されているIP6.INTドメイ ンと「ニブル」ラベルを使用することを指定します。デフォルトでは、RFC2874に定義さ れているIP6.ARPAとバイナリラベルを使います。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 571 host(1) host(1) N ndots このオプションは、name で指定した名称が絶対指定であると解釈するために必要なドット の数を指定します。デフォルト値は /etc/resolv.conf に ndots ステートメントで定 義されている値で、それがない場合は1です。ドットの数が不足している名称は相対名と解 釈され、/etc/resolv.conf の search 指令か domain 指令で一覧に挙げられているド メインで検索されます。 R number 参照のためのUDPの再試行回数をこのオプションで変更できます。number は結果を取得 できなかった照会について、host が何度、繰り返すかを指定します。再試行のデフォル ト値は1です。number が0か負の場合、再試行回数はデフォルト値の1に設定されます。 r 非再帰照会をこのオプションで実行できます。このオプションを設定すると、host が実 行する照会の RD (recursion desired: 再帰可能)ビットがクリアされます。これは、照会を 受け取ったネームサーバーが name の名前解決を試みない、ということを示します。 このオプションは、非再帰照会を発行、通常はほかのサーバーに委託する照会の結果を受 け取れるようにすることによって、host が、ネームサーバーの動作を模倣できるように するものです。 T このオプションは、host に、ネームサーバーに照会する際、TCP接続を使うことを指定 します。ゾーン転送(AXFR)要求など、TCPを必要とする照会に対しては、自動的にTCPが 選択されます。デフォルトでは、host が照会する際にはUDPが使用されます。 t type このオプションは、照会の種別を指定するときに使われます。type は、照会として認識さ れる、CNAME、NS、SOA、SIG、KEY、AXFR などのいずれかです。照会の種別が指定さ れない場合、host は自動的に、適切な種別を選択します。デフォルトではA レコードを 検索しますが、 C オプションが指定されると、 SOA レコードが照会されます。また、 name がドットデシマル表記のIPv4 アドレスか、コロン区切りのIPv6 アドレスの場合、 host はPTRレコードを照会します。 W wait 応答を待つ時間は、W オプションで制御できます。このオプションは host が、wait で 指定した秒数だけ待つように指定します。wait が1より小さい場合、待ち時間は1秒に設定 されます。 w このオプションが使われた場合、host は、実質的に永遠に応答を待ちます。応答を待つ 時間は、そのハードウェアにおいてinteger型が持ちうる最大値の秒数に設定されます。 ファイル /etc/resolv.conf 参照 named(1M), resolver(4) 572 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 スクリプトで割り当て、それ以外で変更しては HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 573 hostname(1) hostname(1) いけません。 適切な構成オプションが有効になっている場合に限り、64バイトを超えるホスト名を設定できます。そのよう なホスト名を設定する前に、すべての関連ドキュメントの説明を完全に理解しておくことを強く推奨します。 64バイトより長いホスト名を使用すると、hostname(1) コマンドや gethostname(2) システム関数を使用して その名前にアクセスするアプリケーションで、予期しない動作や不正な動作を引き起こす可能性があります。 著者 hostname は、カリフォルニア大学バークレー校で開発されました。 参照 uname(1), gethostname(2), sethostname(2), uname(2), hostname(5), nodehostnamesize(5) 574 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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 によって生 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 575 hp(1) hp(1) 成された表は、 hp に対する入力が col からパイプで送られない限り垂直行の「足となる部分」を内容とす るテキスト行をしばしば欠落します( col(1) を参照)。 ターミナルによっては上付き数字をサポートしますが、それらを表示する試みは行われません。 参照 col(1), neqn(1), nroff(1), tbl(1) 576 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 hyphen(1) hyphen(1) 名称 hyphen − ハイフン付きのワードの検索 構文 hyphen [ files ] 説明 hyphen は、 files 内の行末のハイフン付きのワードをすべて探し出し、標準出力にプリントします。引き数 を与えなければ、標準入力が使用されます。したがって、 hyphen はフィルターとして使用できます。 例 textfile の nroff のハイフン付き校正ファイルを作成します。 mm textfile | hyphen 警告 hyphen はハイフン付きの italics (つまりアンダーライン付きの)ワードに対処できません。しばしば、完全に ワードを欠落したり、台無しにすることもあります。 hyphen はときどき混乱状態になりますが、派生的な追加出力以外の悪影響は伴いません。 参照 mm(1), nroff(1) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 577 iconv(1) iconv(1) 名称 iconv − コードセット変換 構文 iconv -f fromcode -t tocode [ file ... ] 説明 iconv は、入力ファイルの文字のコード化したものを fromcode コードセットから tocode コードセットに変 換し、その結果を標準出力に書き出します。入力ファイルを与えないと、iconv は標準入力から読み込みま す。入力ファイル名として - が現われると、iconv はその時点で標準入力を読み込みます。- - は、オプ ションの終端を区切るのに使用できます ( getopt(3C) を参照)。 オプション iconv が認識するオプションは以下のとおりです。 -f fromcode オプションの引き数 fromcode に対応するコードセットを、入力の変換前のコード セットとして識別します。 -t tocode オプションの引き数 tocode に対応するコードセットを、入力の変換後のコードセッ トとして識別します。 fromcode および tocode の名前には、 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 はEV標準エラーに書き込まれる診断メッセージと標準出力に書き込まれる情報メッセージの フォーマットと内容を決定するために使用される場所を決定します。 NLSPATH は、LC_MESSAGES を処理するためのメッセージカタログの位置を決定します。 578 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 iconv(1) iconv(1) サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされています。 警告 入力文字に -t オプションにより選択されるコードセット("to"コードセット)に有効な対応がない場合、その 変換用に「 Galley 文字」が定義されていれば、その Galley 文字にマッピングされます ( genxlt(1) と iconv(3C) を参照)。 入力文字が -f オプションにより選択されるコードセット("from"コードセット)に所属しない場合、コマンド は終了します。 例 foo ファイルの内容をコードセット Roman8 から ISO 8859/1 に変換し、ファイル bar に結果を記憶しま す。 iconv -f roman8 -t iso8859_1 foo > bar ファイル /usr/lib/nls/iconv/config.iconv iconv 設定ファイル 著者 iconv はHPで開発されました。 参照 getopt(3C), iconv(3C) 標準準拠 iconv: XPG2, XPG3, XPG4 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 579 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 と同じであるものと仮定されます。選択したユー ザーが、グループデータベース中の2つ以上のグループに属している場合、所属するグループの情報が書き出 されます。 オプション 以下のオプションは、上記の動作を変更します。 -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 プロセスマネージャ」の説明を参照してください。 580 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 581 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 582 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 583 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 584 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 585 ied(1) ied(1) ティリティを対話モードでパイプまたはファイルから駆動することができます。これ は、この区別を行うコマンドのテストに特に有効です。 −k charmap charmap は、256行以下のファイルです。ファイルの行番号は ied による入力その ものの文字の番号であり、その行にある文字は出力として生成される文字です ( ま た、エディト文字として使用されます)。これにより、Dvorak キーボードと同様に ( 通常の) キーを再マッピングすることができます。文字は各行の1カラムから始ま り、1∼4文字とその後のスペースまたは次行の改行文字として表さなければなりま せん。スペースの後の文字は、コメントとして無視されます。1文字のエントリー は、それ自体を表します。最初の文字が脱字符号 (ˆ) である2文字のエントリーで は、2番目の文字を対応する制御文字に変換します。最初の文字がバックスラッシュ (¥) である2文字のシーケンスでは、C 言語規約を使用します。 ¥n newline ¥s ¥¥ escape ¥0 space null ¥r return ¥f form feed ¥t tab ¥v vertical tab ¥b 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モードでエスケープさせる ことはできません。 586 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 ied(1) ied(1) −s size このオプションは、履歴バッファーのサイズを指定します。ied が既存の履歴ファ イルで起動された場合、おおよそ最後の size 行は履歴メカニズムで利用可能です(行 数は、size ちょうどとなるとは保証されません)。ファイルの他の行は、ied がその 履歴ファイルで起動され、サイズが約 4KB を超過するまで保持されます。そして、 その時点で 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 2: December 2007 −3− Hewlett-Packard Company 587 ied(1) ied(1) ESC,*,= (ファイル名の展開) サポートされません。 @ マクロ展開は、サポートされません。 ただし、ksh には、あまり使用しない機能 _ があり、前行からワードを置き換える ことができます (これは、マクロの $_ ではなく、エディターコマンドです)。前の count が与えられた場合、最終行の count 番目のワードを使用します。これは ied で非常に有効です。 emacs/gmacs モード M-*, M-=, M-ESC (ファイル名の展開) サポートされません。 コマンド M-. (および同義語 M-_ )では、vi モードの _ コマンドと同じ機能があ ることに注意してください。 マクロ展開 ˆO サポートされません。 サポートされますが、つねに正しく画面に表示されるとは限りません。 ˆL コマンド は行を再描画するのに使用できます。プロンプトについては、以下を参照してくださ い。 例 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 は準備が整った各 行を出力できます。 588 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 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 2: December 2007 −5− Hewlett-Packard Company 589 insertmsg(1) insertmsg(1) 名称 insertmsg − findstr(1) 出力を使用して catgets(3C) の呼び出しを挿入 構文 insertmsg [-h] [-iamount ] [-nnumber ] [-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 はメッセージ表示の言語を決定します。 590 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 insertmsg(1) insertmsg(1) LC_CTYPE または LC_MESSAGES を環境で指定しない場合、または空の文字列に設定した場合、LANG の値 は、各未指定または空の変数のデフォルトとして使用されます。LANG を指定しない場合、または空の文字列 に設定した場合、LANG の値ではなく、デフォルトの "C" を使用します (lang(5) を参照)。国際変数に無効な 設定値が含まれる場合、insertmsg はすべての国際変数が"C" に設定されているものとして動作します。 environ(5) を参照してください。 サポートされるコードセット シングル/マルチバイトの文字コードセットがサポートされます。 診断 insertmsg exiting : lost in strings file insertmsg は、文字列ファイル内に存在するはずの、始点または終点を示す二重引用符を見つけら れませんでした。コマンドは終了します。文字列ファイルをチェックして、該当する位置の行が変更 されていないことを確認してください。 警告 -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 2: December 2007 −2− Hewlett-Packard Company 591 iostat(1) iostat(1) 名称 iostat − I/O 統計情報のレポート 構文 iostat [-t] [ interval [ count ] ] 説明 iostat は I/O 統計情報をシステム上のアクティブな各ディスクごとに繰り返してレポートします。ディスク データは4段フォーマットで編成されます。 Column Heading device Interpretation デバイス名 bps 秒当たり転送Kバイト sps 秒当たりシーク数 msps 平均シーク当たりミリ秒 2基以上のディスクがある場合、各ディスクごとに、連続する行にレポートされます。この情報を計算するに は、シーク、データ転送の完了、および、転送ワード数を各ディスクごとにカウントします。また、各ディス クの状態も( <sys/param.h> で定義されるように)1秒間に HZ 回ずつ検査され、ディスクがアクティブなら ば計算が行われます。これらの数値は(各装置ごとの平均シーク当たりミリ秒を判定するために)各装置の転送 レートと合わせることができます。 データストライピング(1度のデータ転送で複数のディスクにデータを渡すもの) などの新技術の採用により、 平均シークごとにかかる時間の計算を正確に行うことは難しくなりました。システムのその時点の条件により 大幅に異なる可能性があり、近似値としての意味しか持たなくなっています。このため、この平均シーク当た りミリ秒( msps )の値は、以前のシステムとの互換性を保持するため 1.0に固定されています。 オプション iostat は以下のオプションおよびコマンド行の引き数を認識します。 -t ターミナル統計情報およびディスク統計情報をレポートします。ターミナル統計情報に は以下のようなものがあります。 tin ターミナルから読み出される文字数 tout ターミナルに書き出される文字数 us システム ( アクティブプロセッサ) がユーザーモードに費やした時間のパーセン テージ ni システム (アクティブプロセッサ) が低い優先順位 (nice された) のプロセスを実 行するユーザーモードに費やした時間のパーセンテージ sy システム ( アクティブプロセッサ) がシステムモードに費やした時間のパーセン テージ id システム ( アクティブプロセッサ ) がアイドリングに費やした時間のパーセン テージ 592 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 iostat(1) iostat(1) interval 最後の interval 秒間にわたる要約を連続した行で表示します。レポートされる最初の行 はリブート以降の時間のもので、それより後の各行は最後の間隔のもののみです。 count 統計情報を count 回繰り返します。 例 全ディスクの現在の 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 警告 iostat を使用しているユーザーは、フィールド幅と出力のスペースに関するシステムの数値が若干正確さに 欠けることに注意してください。これらの数値はシステム、HP-UXのリリース番号、表示するデータによって 異なるからです。 著者 iostat はカリフォルニア大学バークレイー校およびHPで開発されました。 ファイル /usr/include/sys/param.h 参照 vmstat(1) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 593 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 594 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 を表示します。 以下のオプションは、情報のソースを再定義します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 595 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 の文字は書き込み パーミッションまたは機能項目の変更パーミッションを示しますが、最後の文字は現 在のところ未使用です。 596 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 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() によるセマフォオペレー ションが最後に完了した時刻。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 597 ipcs(1) ipcs(1) 警告 ipcs は、実際のシステムステータスの近似値を示すにすぎません。その理由は、 ipcs が要求された情報を 収集している間も、システムプロセスは絶えず変化しているからです。 出力のフィールド幅とスペースは、使用中のシステム、HP-UXのリリース、および表示されるデータによって 異なるので、これらに基づいた処理をしてはいけません。 ファイル /dev/kmem カーネル仮想メモリー /etc/group グループ名 /etc/passwd ユーザー名 /stand/vmunix システム ネームリスト 参照 msgop(2), semop(2), shmop(2) 標準準拠 ipcs: SVID2, SVID3 598 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 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 です。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 599 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 オプションを使用した場合、数値ファイル名による競合が発生する可能性 があります。 600 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 join(1) join(1) 著者 join は、OSF と HP が開発しました。 参照 awk(1), comm(1), sort(1), uniq(1) 標準準拠 join: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 601 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 は、マサチューセッツ工科大学で開発されました。 参照 kinit(1), klist(1), kerberos(5) 602 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit 名称 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、MSDOS 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 2: December 2007 −1− Hewlett-Packard Company 603 kermit(1) kermit(1) HP-UX C-Kermit ポートの依頼を行う場合には、その前に必ずこれらの参照情報をすべて調べるようにしてください。 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のファイル転送の最も一般的な手順を示します。他にもたくさんの方法があり、もっと便利なも のも多くありますが、この基本的な手順はあらゆる場合にあてはまります。 604 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit • ローカルコンピュータでKermit を起動し、リモートコンピュータとの接続を確立します。ローカ ルコンピュータ上に C-Kermit がある場合、ダイヤル呼び出しするならば SET MODEM TYPE modem-name 、 SET LINE device-name 、 SET SPEED bits-per-second 、 DIAL phone-number という一連のコマンドを使用してください。直接接続の場合には 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 と通信している状態になります。リモートコンピュータのコマンドプロンプトに戻 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 605 kermit(1) kermit(1) HP-UX C-Kermit るには、EXITと入力してください。リモートコンピュータの使用を終えた場合には、ログアウト し、(必要があれば) エスケープでローカルコンピュータ上の Kermit に戻ります。その後、また別 のコンピュータと接続を確立するか、EXITを入力してローカルKermitプログラムを終了すること ができます。 ファイル転送処理を簡略化するために、すべてのコマンドを一括でクライアントに渡し自動的にサーバーに送 る クライアント/サーバー操作や、リモートの 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 コマンド を使用すると技術サポートの入手方法を知ることができます。 606 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit コマンドの入力 対話型モードのコマンドには大文字と小文字のどちらを使用してもかまいませんが、 UNIXファイル名では大 文字と小文字が区別されることに注意してください。コマンドは、他のコマンドと区別できる範囲内であれば 省略することができます。コマンドの入力時には、以下の編集文字を使用することができます。 削除、バックスペース、ラブアウトは、右端の文字を消去します。 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、復帰文字を表すの HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 607 kermit(1) kermit(1) HP-UX C-Kermit に ¥13、改行文字を表すのに ¥10 を使用できることに注意してください。例えば、C-Kermitがスクリーンに BELLを送信するよう指示するには、次のように入力します。 echo ¥7 コマンドリスト 一般的に使用され初心者に重要と思われるコマンドには、"*"がついています。 プログラム管理 BACK 直前のディレクトリに戻ります。 BROWSE Web ブラウザを起動します。 * CD ディレクトリを変更します。 CHMOD 与えられたファイルのパーミッションを 664 や 775 のような 8 進数のコー 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 608 Hewlett-Packard Company SETパラメータの値を表示します。 −6− HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit * TAKE ファイルからコマンドを実行します。 VERSION C-Kermitプログラムのバージョン番号を表示します。 Z SUSPENDと同義。 * Ctrl-C 進行中のC-Kermitコマンドを中断します。 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 SET PORT シリアル通信装置名を指定します。/dev/cul0p0など。 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 通信の設定値をすべて表示します。 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 609 kermit(1) kermit(1) HP-UX C-Kermit SHOW CONN 現在の接続に関する情報を表示します。 SHOW DIAL SET DIALの値を表示します。 SHOW MODEM モデムのタイプ、シグナル、などを表示します。 SHOW NETWORK ネットワーク関連の項目を表示します。 * 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 * Ctrl-\ SET TERMINALの項目を表示します。 CONNECTモードのエスケープ文字の後に、別の文字を続けます。 C はC-Kermit>プロンプトに戻ります。 B はBREAKシグナルを送信します。 ? は他のオプションを表示します。 ファイル転送 ADD SEND-LIST バイナリファイル パターンリストにパターンを追加します。 ADD TEXT-PATTERNS テキストファイル パターンリストにパターンを追加します。 ASSOCIATE ファイル キャラクタセットを転送キャラクタセットに対応付けます。 LOG SESSION エラー検査を行わずにファイルをダウンロードします。 * SEND MSEND 610 SEND-LISTへファイル詳細を追加します。 ADD BINARY-PATTERNS 1 つまたは複数のファイルを送信します。 多重 SEND - スペースで区切ってファイルリストを指定できます。 MOVE SEND を行った後、成功した場合は送信元のファイルを削除します。 MMOVE 多重 MOVE - スペースで区切ってファイルリストを指定できます。 MAIL 他の Kermit にファイルを SEND し、電子メールとして配信します。 RESEND 終了していない SEND を続行します。 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit PSEND ファイルの一部を送信します。 * RECEIVE 他のKermitから送られてくるファイルを受動的に待ちます。 *R RECEIVEの特殊な省略形。 *S SENDの特殊な省略形。 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 SET TRANSMITの値を表示します。 HP-UX 11i Version 2: December 2007 −9− Hewlett-Packard Company 611 kermit(1) kermit(1) HP-UX C-Kermit * STATISTICS 最新のファイル転送に関する統計値を表示します。 TRANSMIT エラー検査を行わずにファイルを送信します。 XMIT TRANSMITと同義。 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: 612 指定された名前で受信ファイルを保存します。 /BINARY 転送モードが指定されていなければ、バイナリモードで受信します。 /COMMAND: 指定されたコマンドに受信ファイルのデータを送信します。 /EXCEPT: 指定された名前に一致する受信ファイルは受け付けません。 /FILENAMES: 受信ファイル名の扱い方。 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit /FILTER: 受信ファイルデータに対するフィルタープログラム。 /MOVE-TO: 受信成功後、ファイルを移動させる場所。 /PATHNAMES: 受信パス名の扱い方。 /PROTOCOL: 受信に用いるプロトコル (RECEIVE のみ)。 /RENAME-TO: 受信成功後、ファイルに付ける名前。 /QUIET: ファイル転送表示を抑制します。 /TEXT 転送モードが指定されていなければ、テキストモードで受信します。 GET に特有のスイッチ /DELETE 転送成功後、ファイルを削除することをサーバーに指示します。 /RECOVER 中断されたファイル転送を、障害が発生した位置から再開します。 /RECURSIVE ディレクトリツリーの送信をサーバーに指示します。 ファイル管理 * CD ディレクトリを変更します。 * PWD 現在のワーキングディレクトリを表示します。 GREP 指定されたファイルで、指定された文字列やパターンを検索します。 COPY ファイルをコピーします。 * DELETE * DIRECTORY 1つまたは複数のファイルを削除します。 ディレクトリのリストを表示します。 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 エラーパケットを送信します。 HP-UX 11i Version 2: December 2007 − 11 − Hewlett-Packard Company 613 kermit(1) kermit(1) HP-UX C-Kermit ENABLE サーバー操作中、指定した機能をアクセス可能にします。 FINISH リモートKermitサーバーに、終了してもログアウトしないよう指示します。 G GETの特殊な省略形 GET リモートKermitサーバーからファイルを入手します。 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の項目を表示します。 スクリプトプログラミング 614 ASK ユーザーにプロンプトを出し、ユーザーの応答を変数に保存します。 ASKQ ASKと同様ですが、エコーしません (パスワードに適しています)。 Hewlett-Packard Company − 12 − HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit ASSERT 条件を評価し、SUCCESS または FAILURE を設定します。 ASSIGN 評価した文字列を変数またはマクロに割り当てます。 CLEAR 通信装置の入力バッファーまたは他の項目を消去します。 CLOSE 接続、ログファイルまたはその他のファイルをクローズします。 DECLARE 配列を宣言します。 DECREMENT 変数から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 ユーザー定義関数から戻ります。 HP-UX 11i Version 2: December 2007 − 13 − Hewlett-Packard Company 615 kermit(1) kermit(1) HP-UX C-Kermit SCREEN クリア、カーソル位置の指定などのスクリーン操作。 SCRIPT UUCP形式のログインスクリプトを実行します。 SET ALARM IF ALARMで使用するタイマーをセットします。( SHOW ALARM でそれを 表示します。) SET CASE 文字列の比較でのアルファベットの大文字と小文字の処理を指定します。 SET COMMAND バックスラッシュ表記の解釈のオン/オフを引用します。 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と入力すれば、現在のリスト を表示することができます。 616 Hewlett-Packard Company − 14 − HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit \v(argc) 現在のマクロの中の引き数の数。 \v(args) プログラムコマンド行引き数の数。 \v(blockcheck) 現在の SET BLOCK-CHECK タイプ。 \v(browser) 現在の Web ブラウザ。 \v(browsopts) 現在の Web ブラウザオプション。 \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"値(システムエラーの番号)。 HP-UX 11i Version 2: December 2007 − 15 − Hewlett-Packard Company 617 kermit(1) kermit(1) HP-UX C-Kermit 618 \v(errstring) errno に対応するエラーメッセージ文字列。 \v(escape) CONNECT モードのエスケープ文字の 10 進数文字列。 \v(evaluate) 最新のEVALUATEコマンドの結果。 \v(exitstatus) 現在のEXITステータス (0 = 成功, ゼロ以外 = 障害発生)。 \v(filename) 現在転送中のファイルの名前。 \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) (その他の多くのモデムコマンド) Hewlett-Packard Company − 16 − HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit \v(m_sig_xx) モデム信号 xx の値。 \v(name) C-Kermit の呼び出しに使われた名前 (kermit、wermit など)。 \v(ndate) 19930208 (yyyymmdd)の形式の現在の日付。 \v(nday) 数で表した曜日 (0 = 日曜)。 \v(newline) システム固有の改行文字またはシーケンス。 \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 によって内部で使われます。 HP-UX 11i Version 2: December 2007 − 17 − Hewlett-Packard Company 619 kermit(1) kermit(1) HP-UX C-Kermit \v(userid) C-Kermit を実行している人のユーザー ID。 \v(version) 数で表したKermitのバージョン。例えば、501190。 \v(window) 現在のウィンドウのサイズ。(SET WINDOW 値) \v(xferstatus) 最後のファイル転送のステイタス。 \v(xfermsg) 最後の転送が終了したときのエラーメッセージ (ある場合)。 \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 サーバーからリモートファイルを入手します(ワイルドカードは引用符で囲み ます)。 620 -G files -g と同様ですが、標準出力にファイルを送信します。 -a name 代替ファイル名。-s, -r, -gと共に使用します。 Hewlett-Packard Company − 18 − HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX C-Kermit -c 接続します (ファイル転送の前)。-l または -jと共に使用します。 -n 接続します (ファイル転送の後)。-l または -jと共に使用します。 -l line 通信回線装置(シリアル接続を確立します)。 -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にデバッグ情報を記録します。 HP-UX 11i Version 2: December 2007 − 19 − Hewlett-Packard Company 621 kermit(1) kermit(1) HP-UX C-Kermit -S アクションコマンドの実行後に、終了せずにとどまります。 -C "cmds" 間をコンマで区切った対話型モードコマンド。 -z 強制的にフォアグラウンドで動作させます。 -B 強制的なバックグラウンド操作 (バッチ) -h コマンド行オプションのヘルプスクリーンをプリントします。 = 後続のテキストをすべて無視します。 -- = と同義。 コマンド行の例 リモートモードの例(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 ファイル 622 $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"からのマクロ Hewlett-Packard Company − 20 − HP-UX 11i Version 2: December 2007 kermit(1) kermit(1) HP-UX 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 のように個人のネットワークディレクトリに格納する必要があります。詳細については、 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 の Acknowledgements を参照してください。 参照 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によってテストす HP-UX 11i Version 2: December 2007 − 21 − Hewlett-Packard Company 623 kermit(1) kermit(1) HP-UX C-Kermit ることができます。プログラムも、正しい動作で終了すると終了ステータスコード0を戻し、各種動作のいず れかで障害が発生するとゼロ以外の終了ステータスコードを戻します。 バグ バグ、ヒントのリストに関しては、ファイル ckcker.bwr と ckuker.bwr または、ニュースグループ comp.protocols.kermit.* を参照してください。バグレポートはe-mail で [email protected] 宛お送り ください。技術的サポートに関する詳細は、 http://www.columbia.edu/kermit/support.html にア クセスしてください。 問合せ先 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。 624 Hewlett-Packard Company − 22 − HP-UX 11i Version 2: December 2007 keylogin(1) keylogin(1) 名称 keylogin − keyserv によるシークレットキーの復号化および保存 構文 /usr/bin/keylogin [ −r ] 説明 keylogin コマンドは、パスワードを入力要求し、それを使用してユーザーのシークレットキーを復号化しま す。キーは、 /etc/publickey ファイル ( publickey(4) を参照) あるいは ユーザーのホームドメイン内の NIS マップ ‘‘publickey.byname’’ または NIS+ テーブル ‘‘cred.org_dir’’ の中で見つかる可能性があります。こ れらソースおよびその検索順序は、 /etc/nsswitch.conf ファイル ( nsswitch.conf (4) を参照) 内に指定さ れています。ユーザーのシークレットキーは、復号化された後、ローカル キーサーバー プロセスの keyserv(1M) によって保存されます。この保存されたキーは、NIS+ などの任意のセキュア RPC のサービスへの 要求の発行時に使用されます。プログラム keylogout(1) を使用すると、 keyserv によって保存されたキーを 削除することができます。 keylogin は、呼び出したユーザーのキーを取得できない場合、または与えられたパスワードが正しくない場 合には、異常終了します。新規のユーザーまたはホストの場合には、 newkey(1M)、 nisaddcred(1M)、また は nisclient(1M) を使用して、新しいキーを追加することができます。 オプション −r /etc/.rootkey ファイルを更新します。このファイルには、スーパーユーザーの暗号化されていな いシークレットキーが入っています。このオプションを使用できるのは、スーパーユーザーだけで す。これが使用されると、スーパーユーザーとして実行中のプロセスは、管理者がシステムの起動時 にスーパーユーザーとして明示的に keylogin を実行する必要なく、認証された要求を発行すること ができます ( keyserv(1M) を参照)。 publickey データベース内のホストのエントリーが変更されると きには、管理者が −r オプションを使用する必要があり、すると、publickey データベース内に保存 されている実際のキーの対に関して /etc/.rootkey ファイルが最新のものではなくなります。 /etc/.rootkey ファイルのパーミッションは、スーパーユーザーによって読み書き可能ですが、シ ステム上の他のユーザーによってはそうではありません。 著者 keylogin は、Sun Microsystems, Inc. で開発されました。 ファイル /etc/.rootkey スーパーユーザーのシークレットキー 参照 chkey(1), keylogout(1), login(1), keyserv(1M), newkey(1M), nisaddcred(1M), nisclient(1M), publickey(4), nsswitch.conf(4) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 625 keylogout(1) keylogout(1) 名称 keylogout − keyserv により保存されているシークレットキーの削除 構文 /usr/bin/keylogout [ −f ] 説明 keylogout は、キーサービス プロセス keyserv(1M) によって保存されているキーを削除します。これ以 降、削除したキーへのアクセスは取り消されます。ただし、現在のセッションのキーは、満了するかリフレッ シュされるまで有効なままです。 keyserv によって保存されているキーを削除すると、セキュア RPC のサービスを必要とする一部のバック グラウンドジョブまたはスケジューリングされている at(1) ジョブが異常終了します。 1 台のマシン上に保存 されるキーのコピーは 1つだけであるために、このコマンドの呼び出しを .logout ファイル内に入れるのは お勧めできません。同じマシン上の他のセッションに影響を及ぼすからです。 オプション −f 強制的に keylogout にスーパーユーザーのシークレットキーを削除させます。デフォルトでは、 スーパーユーザーによる keylogout は、そのスーパーユーザーが開始したすべての RPC のサービ スを停止するので許可されていません。 著者 keylogout は、Sun Microsystems, Inc. で開発されました。 参照 at(1), chkey(1), login(1), keylogin(1), keyserv(1M), newkey(1M), publickey(4). 626 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 627 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 は別のコマンドの入 力が必要になった時点で、必ずソフトキーラベルに設定したソフトキーコマンドのリストを表示します。これ 628 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 2: December 2007 −3− Hewlett-Packard Company 629 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 コマンドにより削除 することができます。 630 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 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 HP-UX コマンドの変換に関する表示の使用可能/使用不能を切り換えます。 visibles 表示可能のソフトキーコマンドの表示と確認について使用可能/使用不能を切り換えま す。 状態行の項目の選択 画面の下方に表示する状態行には、 kc status_line コマンドによってさまざまな項目を設定することがで きます。次の項目を設定できます。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 631 keysh(1) keysh(1) host_name ホスト名 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 はコーンシェルに置き換わって、状態行を表示した り、カーソルの移動や編集キーの操作を認識するようになります。 632 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 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(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 2: December 2007 −7− Hewlett-Packard Company 633 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 ウィンドウを切り換え ることができます。 634 Hewlett-Packard Company −8− HP-UX 11i Version 2: December 2007 keysh(1) keysh(1) KSH との相違点 keysh は ksh(1) の拡張バージョンですが、 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 2: December 2007 −9− Hewlett-Packard Company 635 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 により、状態行の日付と時間に示す文字列の形式と内容が決定されます。 サポートされるコードセット シングルバイトの文字コードセットがサポートされます。 636 Hewlett-Packard Company − 10 − HP-UX 11i Version 2: December 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 2: December 2007 − 11 − Hewlett-Packard Company 637 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 と一致するような、すべてのプロセ ス (特殊なシステムプロセス以外)。 638 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 kill(1) kill(1) =-1 ユーザーが適切な特権をもつ場合は、すべてのプロセス (特殊なシステムプロセス以外)。もた ない場合は、実ユーザーID または実効ユーザーID が送信元プロセスのユーザーID と一致す るような、すべてのプロセス(特殊なシステムプロセス以外)。 <-1 プロセスグループの ID が pid の絶対値と等しく、その実ユーザーID または実効ユーザーID が送信元プロセスのユーザーと一致するような、すべてのプロセス(特殊なシステムプロセス 以外)。 プロセス番号は、ps コマンド (ps(1) を参照) および一部のシェルで使用可能な jobs 組み込みコマンドを 使って探すことができます。 シグナル名とシグナル番号 次の表に、ターミナルで使用できる一般的なシグナルをいくつか示します。完全なリストと詳しい説明につい ては、ヘッダーファイルの <signal.h> およびマニュアルエントリーの signal(5) を参照してください。 signum signame 名称 0 SIGNULL ヌル pidへのアクセスをチェック 1 SIGHUP ハングアップ 終了、トラップ可能 2 SIGINT 割り込み 終了、トラップ可能 3 SIGQUIT 停止 コアダンプを出力して終了,トラップ可能 9 SIGKILL 強制終了 強制終了、トラップ不能 15 SIGTERM 終了 終了、トラップ可能 24 SIGSTOP ストップ プロセスの休止、トラップ不能 25 SIGTSTP ターミナルストップ プロセスの休止、トラップ可能 26 SIGCONT 継続 ストップしたプロセスの実行 説明 SIGNULL (0) はヌルシグナルで、エラーチェックを起動しますが、シグナルは実際に送信しません。pid が存 在するかどうか、またはその妥当性をテストするために使用できます。 SIGTERM (15) は (デフォルトの) 終了シグナルで、受信側のプロセスがトラップすることによって、受信側は 確実にシャットダウンを実行するか、シグナルを完全に無視することができます。操作を確実にするには、良 い方法です。 SIGKILL (9) は強制終了シグナルで、ただちにプロセスを強制的に終了します。SIGKILL はトラップや無視 ができないため、SIGTERM に対して応答しないプロセスを終了させる際に有効です。 ユーザーが適切な特権をもっていない限り、受信側のプロセスは送信側のプロセスのユーザーに所属していな ければなりません。 唯一の特例として、継続シグナルの SIGCONT は、送信側のプロセスと同じセッションのメンバーであればど のプロセスにも送信できます。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 639 kill(1) kill(1) 戻り値 終了すると、kill は以下の値のいずれかで戻ります。 0 一致するプロセスが pid オペランドごとに少なくとも1つみつかり、指定シグナルは少なくとも 一致するプロセス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 が用意されています。構文や出力はこれらの組み込みコマンドと異なることもあり ます。 640 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 kill(1) kill(1) 参照 csh(1), ksh(1), ps(1), sh(1), sh-posix(1), kill(2), wait(2), signal(5) 標準準拠 kill: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 641 kinit(1) kinit(1) 名称 kinit − Kerberos チケット - 認証チケットの取得とキャッシュ 構文 kinit [-l life_time] [-s start_time] [-v] [-p] [-f] [-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 代理可能なチケットを要求します。 −f 転送可能なチケットを要求します。 -r renewable_life 総有効期限が renewable_life の更新可能なチケットを要求します。renewable_life の値 は、次の区切り文字のいずれかを後に付ける必要があります。 642 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 kinit(1) −R kinit(1) 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。 proxiable ユーザーが代理可能なチケットを持つ場合、この関係を指定します。設定可能な有効 値は: true、false、yes、y、n、on、off。 tkt_lifetime renew_lifetime この関係は取得するチケットの有効期限を指定します。 この関係は取得するチケットの更新可能有効期限を指定します。有効期限の単位は 秒、分、時間、日のいずれかです。 注意 DCE 操作では、/opt/dce/bin/kinit を使用します。 外部影響 環境変数 kinit は、次の環境変数を使用します。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 643 kinit(1) KRB5CCNAME kinit(1) 証明書チケットキャッシュの位置 ファイル /tmp/krb5cc_{uid} デフォルトの証明書キャッシュ ({uid} は、ユーザーの 10進数の UID) /etc/krb5.keytab ローカルホストの keytab ファイルのデフォルト位置 著者 kinit は、マサチューセッツ工科大学で開発されました。 参照 kdestroy(1), klist(1), libkrb5(3), kerberos(5) 644 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 klist(1) klist(1) 名称 klist − キャッシュされた Kerberos チケットのリスト 構文 klist [-e] [[-c] [-f] [-s] [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 ハードウェア認証 klist 出力なしで実行しますが、証明書キャッシュが見つかったかどうかに従って、終了状態を 設定します。klist が証明書を見つけた場合、終了状態は ‘0’ で、見つからなかった場合には ‘1’ になります。 −k −t keytab ファイルに保持されたキーをリストします。 keytab ファイルの各 keytab エントリーについて、タイムエントリーのタイムスタンプを表示しま す。 −K keytab ファイル内の keytab エントリーの暗号化キーの値を表示します。 cache_filename や keytab_filename を省略すると、klist は、デフォルトの証明書キャッシュまたは keytab ファイル内の証明書を表示します。KRB5CCNAME 環境変数を設定すると、その値はデフォルトのチケット キャッシュの指定として使用されます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 645 klist(1) klist(1) 注意 DCE 操作では、/opt/dce/bin/klist を使用します。 外部影響 環境変数 klist は、次の環境変数を使用します。 KRB5CCNAME 証明書 (チケット) キャッシュの位置 著者 klist は、マサチューセッツ工科大学で開発されました。 ファイル /tmp/krb5cc_{uid} デフォルトの証明書キャッシュ ({uid} は、ユーザーの 10進数のユーザーID) /etc/krb5.keytab keytab ファイルのデフォルト位置 参照 kdestroy(1), kinit(1), kerberos(5). 646 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 に置き換えます。 ファイル /etc/krb5.conf Kerberos の構成ファイル 著者 kpasswd は、マサチューセッツ工科大学で開発されました。 参照 krb5.conf(4), kerberos(5) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 647 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) を参照) によって次のコマンドの標準入力に連結されます。各コマンドは別個 648 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 649 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 ) list を別個の環境で実行します。ネストするために2つの左かっこを隣接させる必要がある場 合には、算術評価 (後述) を避けるためにスペースを挿入しなければなりません。 { 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 [[ ]] コメント # で始まるワードを記述すると、そのワードおよび改行までのすべての後続の文字が無視されます。 エイリアス化 各コマンドの最初のワードは、そのワードにエイリアスが定義されていると、そのエイリアスのテキストに置 き換えられます。エイリアス名 は任意の個数の文字から構成され、メタキャラクタ、引用符となる文字、 ファイル拡張子文字、パラメータ置換文字とコマンド置換文字、および = を除く文字が使用できます。置換 650 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 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 ファイルの中のユーザー名と一致 するかどうかチェックされます。一致するものが見つかると、˜ および一致したログイン名は、一致したユー ザーのログインディレクトリに置き換えられます。これをティルドの置換と呼びます。一致するものが見つか HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 651 ksh(1) ksh(1) らなければ、元のテキストは変更されません。単独の ˜、あるいは / の前の ˜ は、HOME パラメータの値に 置き換えられます。˜ の後に + または - が続く場合、 ˜ はそれぞれパラメータ PWD および OLDPWD の値 に置き換えられます。また、パラメータに割り当てる値が ˜ で始まる場合にも、ティルドの置換が実行され ます。 コマンドの置換 コマンドを、前にドル符号を付けた小かっこ ( $(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 の後にパラメー タ名の一部と解釈してはならない英字、数字、またはアンダースコアが続く場 652 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) 合、または名称付きパラメータに添え字が付いている場合には、中かっこが必 要となります。parameter が1つまたは複数の数字である場合、それは位置パ ラメータです。2個以上の数字の位置パラメータは中かっこで囲まなければな りません。parameter が * または @ の場合には、$1 以降のすべての位置パ ラメータに置き換えられます (各位置パラメータはフィールド分離文字で区切ら れます)。添え字として * または @ を伴った配列 identifier を指定した場合に は、その配列の各要素の値に置き換えられます (各値はフィールド分離文字で区 切られます ) 。シェルは、 ${ から対応する } まで間のすべての文字を、中 かっこやメタキャラクタが中に含まれている場合でも、同じワードの一部分と して読み取ります。 ${# parameter} parameter が * または @ の場合には、位置パラメータの数に置き換えられま す。これ以外の場合には、parameter の値の長さに置き換えられます。 ${#identifier[*]} 配列 identifier の要素の数に置き換えられます。 ${ parameter:-word} 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 の形式の場合には、最大のマッチ ングパターンが削除されます。 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 653 ksh(1) ksh(1) ${ parameter% pattern} ${ parameter%% pattern} pattern が parameter の値の最後の部分と一致した場合には、その parameter の値から一致した部分を削除した値に置き換えられます。それ以外の場合に は、parameter の値に置き換えられます。第 1 の形式の場合には、最小のマッ チングパターンが削除され、第 2 の形式の場合には、最大のマッチングパター ンが削除されます。 上記の場合、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 の値をアップデートします。 654 OLDPWD cd コマンドが設定した前のワーキングディレクトリ OPTARG getopts 特殊コマンドが処理した最後のオプション引き数の値 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) OPTIND getopts 特殊コマンドが処理した最後のオプション引き数のインデックス PPID シェルの親プロセスのプロセス番号 PWD cd コマンドが設定した現在のワーキングディレクトリ RANDOM このパラメータが評価されるたびに、0 から 32767 の間に一様分布する整数の乱数が 生成されます。RANDOM に数値を割り当てれば、乱数のシーケンスを初期化できま す。 REPLY このパラメータは、select 文によって、また引き数の指定がない場合の read 特 殊コマンドによって設定されます。 SECONDS このパラメータが参照されるたびに、シェルの実行後に経過した秒数が戻されます。 このパラメータに値が割り当てられている場合には、このパラメータの参照時に戻さ れる値は、割り当てられた値に、割り当て後の経過秒数を加えた数値になります。 以下のパラメータはシェルによって使用されます。 CDPATH EDITOR cd コマンド用の捜索パス この変数の値が emacs, gmacs, または vi で終わっており、しかも VISUAL 変数が 設定されていない場合には、対応するオプションがオンになります (後述の「特殊コ マンド」の項の set を参照)。 ENV このパラメータが設定されている場合には、その値に対して置換を実行することによ り、シェルの起動時に実行するスクリプトのパス名を生成します (後述の「ksh の実 行」の項を参照)。通常、このスクリプトファイルは、エイリアスや関数を定義する ために使用されるものです。 FCEDIT FPATH fc コマンド用のデフォルトエディター名 関数定義用の検索パスです。-u 属性を持つ関数が参照されたとき、およびコマンド が見つからないときにこのパスが検索されます。実行可能ファイルが見つかった場 合、そのファイルは現在の環境内で読み取られて実行されます。 IFS 内部的なフィールド分離文字で、通常は、スペース、タブ、および 改行です。これ は、コマンドやパラメータの置換で生成されたコマンドワードを区切ったり、特殊コ マンド read による入力行をワードに分割するために使用されます。IFS パラメー タの最初の文字は、"$*" の置換で引き数を区切るために使用されます (後述の「引 用」の項を参照)。 HISTFILE シェルの起動時にこのパラメータを設定すると、このパラメータの値は、コマンドの 履 歴 の 保 存 に 使 用 さ れ る ファ イ ル の パ ス 名 と な り ま す。 デ フォ ル ト 値 は $HOME/.sh_history です。ユーザーが適切な特権を持ち、HISTFILE が設定され ていない場合には、ヒストリファイルは使用されません ( 後述の「コマンドの再入 力」の項を参照)。 HISTSIZE シェルの起動時にこのパラメータを設定すると、前に入力したコマンドがこのパラ メータの値以上の個数だけ保存され、このシェルでアクセス可能となります。デフォ ルト値は 128 です。 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 655 ksh(1) ksh(1) HOME MAIL cd コマンドのデフォルト引き数 (ホームディレクトリ) このパラメータにメールファイル名が設定され、MAILPATH パラメータは設定され ていない場合、シェルは指定されたファイルへのメールの到着をユーザーに通知しま す。 MAILCHECK この変数は、MAILPATH または MAIL パラメータで指定された全ファイルの変更時 刻の変化をシェルがチェックする頻度 (秒単位) を指定します。デフォルト値は 600 秒です。指定された時間が経過すると、シェルは次のプロンプトを表示する前にこの チェックを実行します。 MAILPATH これは、コロン (:) で区切ったファイル名のリストです。このパラメータが設定され ている場合、シェルは、ここで指定されたファイルに対して直前の MAILCHECK 秒内 に行われた変更をすべてユーザーに通知します。各ファイル名の後には ? およびプ リントするメッセージを続けることができます。その場合、このメッセージに対して はパラメータ置換とコマンド置換が実行され、パラメータ $_ は、変更されたファイ ルの名称に置き換えられます。デフォルトのメッセージは you have mail in $_ です。 PATH コマンドの捜索パスです (後述の「実行」の項を参照)。rksh を実行している場合に は、.profile ファイル以外の場所で PATH を変更することはできません。 PS1 このパラメータの値は、パラメータの置換で展開され、1次プロンプト文字列 ( デ フォルトはスペース文字が後続する $) を規定します。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, SHELL, および MAIL は、login(1) が設定します。 656 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 ksh(1) ksh(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) 指定されたパターン以外の任意のものと一致します。 クォーテーションの使用 前述の メタキャラクタ (「定義」の項を参照) はそれぞれシェルにとって特殊な意味があり、引用符で囲まな い限り、ワードを終了させます。文字の前に ¥ を記述することにより、その文字を引用する (文字自体の本来 の意味を表現させる) ことができます。 ¥new-line という文字ペアは無視されます。1組のシングルクォー テーションマーク (’ ’) で囲んだ文字はすべて引用されます。シングルクォーテーションの中にシングル クォーテーションを入れることはできません。ダブルクォーテーションマーク (" ") の中では、パラメータの 置換とコマンドの置換が実行され、¥ によって、文字 ¥, `, ", および $ が引用されます。$* および $@ の意 味は、引用されていない場合あるいはパラメータへの割り当て値やファイル名として使用された場合には、同 一となります。しかし、コマンド引き数として使用すると、"$*" は "$1d $2d ..." (ただし d は IFS パラ メータの最初の文字) と同等になるのに対して、 "$@" は "$1" "$2" と同等になります。バッククォーテー ションマーク (` `) の中では、¥ によって、文字 ¥, `, および $ が引用されます。ダブルクォーテーションの 中にバッククォーテーションが存在する場合には、¥ 文字 " は ¥ で引用しなければなりません。 キーワードやエイリアスの特殊な意味は、キーワードの任意の文字を引用することによって取り除くことがで きます。ただし、後述の項でリストされている関数名と特殊コマンド名については、引用しても別の意味に認 識させることはできません。 算術式の評価 整数演算は、特殊コマンド let によって実行することができます。評価は long型の算術演算を用いて実行さ れます。定数は [ base# ]n の形式で、base は算術演算基数を表す 2 から 36 までの 10進数、n はその基数表 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 657 ksh(1) ksh(1) 現での数値です。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 file が存在し、現在のプロセスによって読み取り可能であれば、真となります。 -s file file が存在し、サイズがゼロより大きければ、真となります。 -t fildes fildes が示す番号のファイル記述子がオープンしており、ターミナルデバイスに 関連づけられていれば、真となります。 658 -u file file が存在し、その setuid ビットがセットされていれば、真となります。 -w file file が存在し、現在のプロセスによって書き込み可能であれば、真となります。 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) -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 が両者とも真であれば、真となり ます。 expression1 || expression2 expression1 と expression2 のいずれか一方が真であれば、真 となります。 入力/出力 コマンドの実行前に、シェルによって解釈される特殊な表記法を用いて、コマンドの入力と出力をリダイレク トすることができます。以下に示す各表記は、単純コマンド内の任意の位置、またはコマンドの前後に記述す HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 659 ksh(1) ksh(1) ることが可能ですが、起動したコマンドには渡されません。コマンドの置換とパラメータの置換は、以下で特 に注記されている場合を除き、word または digit が使用される前に実行されます。ファイル名の生成は、パ ターンが単一のファイルに一致した場合に限って実行されます。空白の解釈は行われません。 <word >word ファイル word を標準入力 (ファイル記述子 0) として使用します。 ファイル word を標準出力 (ファイル記述子 1) として使用します。ファイルが存在し ない場合は作成されます。ファイルが存在し、しかも noclobber オプションがオン の場合には、エラーとなります。オフの場合には、ファイルは切り捨てられて長さが ゼロとなります。 >|word >>word noclobber オプションを無効にすることを除き、> と同じです。 ファイル word を標準出力として使用します。ファイルが存在する場合には、出力を ファイルの末尾に追加します (まずエンドオブファイルを捜します)。ファイルが存在 しない場合は作成されます。 <>word 標準入力として読み書きするため、ファイル word をオープンします。ファイルが存 在しない場合は作成されます。 <<[ - ]word word と一致する行またはエンドオブファイルまで、シェル入力が読み取られます。 word に対しては、パラメータの置換、コマンドの置換、ファイル名の生成は、いず れも実行されません。生成されたドキュメントは、ヒアドキュメントと呼ばれるもの で、標準入力になります。word のいずれかの文字が引用されている場合、ドキュメ ントの文字は解釈されません。それ以外の場合には、ドキュメントに対してパラメー タの置換とコマンドの置換が実行されて、 ¥new-line は無視され、さらに ¥ を用い て文字 ¥, $, `, および word の最初の文字を引用する必要があります。- を <<, の後 に指定すると、先行するタブがすべて word とドキュメントから除去されます。 <&digit 標準入力がファイル記述子 digit から複写されます (dup(2) を参照)。 >&digit 標準出力がファイル記述子 digit に複写されます (dup(2) を参照)。 <&- 標準入力がクローズされます。 >&- 標準出力がクローズされます。 <&p コプロセスからの入力を標準入力に移します。 >&p コプロセスへの出力を標準出力に移します。 上記のいずれかの表記の前に数字を指定すると、参照されるファイル記述子の番号は、(デフォルトの 0 また は 1 ではなく) その数字によって指定された番号になります。たとえば、 ... 2>&1 と指定すると、ファイル記述子 2 がファイル記述子 1 の複製として書き込みのためにオープンされます。 リダイレクトの順序は重要です。シェルは、評価の際に、指定ファイル記述子に対応する現在オープンされて 660 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(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 と (export TERM; TERM=450; cmd args) とは、上記の cmd の実行に関する限り、同等です (ただし、後述の項にリストしたパーセント符号が前に付く 特殊コマンドを除く)。 -k オプションを設定すると、すべてのパラメータ割り当て引き数は、コマンド名の後に指定されていても環 境内に取り込まれます。次の最初のエコー文は a=b c をプリントしますが、-k オプションが設定された後 の、2番目のエコー文は c のみをプリントします。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 661 ksh(1) ksh(1) echo a=b c set -k echo a=b c この機能は、シェルの初期バージョン用に作成されたスクリプトでの使用を目的としたものなので、新しいス クリプトでこの機能を使用することは避けてください。この機能は、将来廃止される可能性があります。 関数 前述の「コマンド」の項で説明した function キーワードは、シェル関数を定義するために使用します。 シェル関数が読み取られると、内部に保存されます。エイリアス名は、関数が読み取られたときに解決されま す。関数はコマンドと同様に実行され、引き数は位置パラメータとして渡されます (後述の「実行」の項を参 照)。 関数は、呼び出し側と同じプロセスで実行されますが、関数のコマンド置換によって新しいプロセスが生成さ れる点が異なります。関数は、すべてのファイルと現在のワーキングディレクトリを呼び出し側と共用しま す。呼び出し側がキャッチしたトラップは、関数内ではそのデフォルトのアクションが行われません。関数が キャッチしない、または無視するトラップ条件が発生すると、関数の実行は終了し、その条件は呼び出し側に 渡されます。関数内部で EXIT に対して設定されたトラップは、関数の終了後に呼び出し側の環境の中で実行 されます。通常の場合、変数は呼び出しプログラムと関数の間で共用されます。ただし、関数内で typeset 特殊コマンドを使用して定義した変数は、現在の関数および現在の関数が呼び出す全関数を有効範囲とする ローカル変数となります。 関数呼び出しから戻るには、特殊コマンド return を使用します。関数内でエラーが発生すると、制御は呼 び出し側に戻ります。 関数識別子は typeset 特殊コマンドの +f オプションを用いてリストすることができます。対話型で使って いるときは、-f オプションを用いて関数識別子とその関数の関連テキストをリストすることができます。 ksh では、関数定義を履歴ファイルに格納しています。このため、履歴ファイルがなくなっていたり、関数を 読み込む時に nolog オプションがオンになっていたりすると、関数定義は表示されません。関数の定義を解 除するには、unset 特殊コマンドの -f オプションを使用します。 通常、シェルがシェルスクリプトを実行すると、関数は設定が解除されます。typeset コマンドの -xf オ プションにより、実行するスクリプトに対して、シェルを再実行せずに関数をエクスポートすることができま す。シェルの起動ごとに共通に定義する必要がある関数は ENV ファイルに入れておく必要があります。 ジョブ set コマンドの monitor オプションがオンの場合、対話型シェルはジョブを各パイプラインに関連づけま す。対話型シェルは、現在のジョブのテーブル (jobs コマンドでプリントされるテーブル) を管理し、各ジョ ブに小さな整数値を割り当てます。ジョブが & によって非同期に開始されると、シェルは次のような行をプ リントします。 [1] 1234 これは、ジョブ番号 1 が非同期に開始され、プロセス ID が 1234 のプロセスが、トップレベルのプロセスと 662 Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) して実行されたことを示します。 ジョブの実行中に別の操作を行いたい場合には、一時停止文字 (通常は ˆ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回目の警告は行わず、停止し ていたジョブは終了します。 シグナル 実行中のコマンドに対する INT および QUIT シグナルは、コマンドの後に & が指定され、しかも monitor オプションがオフの場合には無視されます。それ以外の場合、シグナルの値は、シグナル 11 の場合を除い て、シェルが親プロセスから継承した値となります (ただし、後述の trap コマンドも参照)。 実行 置換は、コマンドが実行されるたびに行われます。コマンド名が後述の項にリストされた特殊なコマンド の1 つと一致した場合、そのコマンドは現在のシェルプロセスの中で実行されます。次に、ksh は、コマンド名が ユーザー定義関数のいずれかと一致するかどうか調べます。一致した場合、ksh は位置パラメータをいったん HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 663 ksh(1) ksh(1) セーブし、代わりにその関数呼び出しの引き数を設定します。位置パラメータ 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 を使用しているすべての対話型シェルのコマンドにアクセスすることができます。特殊コマンド fc を使用す れば、このファイルの一部をリストまたはエディットできます。ファイルの中のエディットまたはリストした い部分の選択は、番号によって、またはコマンドの最初の文字 (複数可) の指定によって行うことができます。 単一のコマンドまたはある範囲のコマンドのいずれの指定も可能です。fc コマンドの引き数としてエディ タープログラムを指定しない場合には、パラメータ FCEDIT の値が使用されます。FCEDIT が定義されてい ない場合には、/usr/bin/ed が使用されます。エディットしたコマンドはプリントされ、エディターの終了 時に再実行されます。エディター名として - を使用すると、エディット操作の段階をスキップしてコマンド を再実行することができます。この場合、 old=new という形式の置換パラメータを使用すれば、実行前にコ マンドを修正できます。たとえば、r が fc -e - のエイリアスである場合に、r bad=good c と入力する と、英字 c で始まるコマンドのうち最後に実行されたものを再実行し、最初に検出した文字列 bad を、文字 列 good に置き換えます。 664 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) 以下の条件のすべてが発生する場合に、ヒストリファイルはトリミングされます。 ヒストリファイルのサイズが4キロバイトを超える。 ヒストリファイル内のコマンド数が HISTSIZE を超える。 ファイルが 10 分前から変更されていない。 ユーザーが、ヒストリファイルが格納されているディレクトリの書き込みパーミッションを持ってい る。 上記の条件のいずれか1つでも発生しない場合には、ヒストリファイルはトリミングされません。ヒストリ ファイルがトリミングされるときに、そのヒストリファイル内で最新の HISTSIZE コマンドが使用できま す。 特殊コマンド 以下に示す単純コマンドは、シェルプロセスの中で実行されます。これらのコマンドでは、入出力のリダイレ クトが可能です。特に指定されない限り、ファイル記述子 1 はデフォルトの出力先となり、exit ステータス は、構文エラーがなければゼロとなります。 % または %% が前に付記されているコマンドは、次のように特 別に処理されます。 1. コマンドの前にある変数割り当てリストは、コマンドの実行が完了しても有効です。 2. I/O のリダイレクトは、変数割り当ての後に実行されます。 3. ある特定のエラーが発生すると、そのエラーが存在するスクリプトは打ち切られます。 4. %% が前に付記されたコマンドの後に示されている、変数割り当ての形式の各ワードは、それぞ れ変数割り当ての場合と同じ規則によって展開されます。つまり、ティルドの置換は = 符号の後 で実行され、ワードの分割とファイル名の生成は実行されないことになります。 % : [ arg ... ] このコマンドは、パラメータの展開のみを実行します。ゼロの exit コードが戻されます。 % . file [ arg ... ] file からコマンドを読み取って実行してから、制御を戻します。コマンドは現在のシェル環境 内で実行されます。file が存在するディレクトリの検索は、PATH で指定された検索パスを使 用して実行されます。引き数 arg が指定された場合、その引き数が位置パラメータになりま す。指定されなかった場合には、位置パラメータは変更されません。exit ステータスは、最 後に実行されたコマンドの exit ステータスです。file に対して実行パーミッションビットを セットする必要はありません。 %% alias [ -tx ] [ name[=value ] ... ] alias を引き数なしで実行すると、エイリアスリストが name=value の形式で標準出力にプ リントされます。エイリアスは、value が指定された名称それぞれに対して定義されます。 value 最後がスペースであると、次のワードでエイリアス置換のチェックが行われます。-t オプションは、パス名をトラックされたエイリアスの設定とリストのために使用します。パス 名をトラックされたエイリアスの値は、指定された name に対応する絶対パス名です。パス 名をトラックされたエイリアスの値は、 PATH の値がリセットされると未定義になります が、そのエイリアスはパス名をトラックされた状態を維持します。-t オプションを指定しな HP-UX 11i Version 2: December 2007 − 18 − Hewlett-Packard Company 665 ksh(1) ksh(1) い場合には、引き数リスト内で value の指定がない各 name について、名称と値がプリント されます。-x オプションは、エクスポートされたエイリアスの設定またはプリントに使用し ます。エクスポートされたエイリアスは、複数のサブシェル環境に共通に定義されます。 alias は、エイリアスが定義されていない name が指定された場合以外は、真を戻します。 bg [ job ... ] 指定された job をバックグラウンドに移動します。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) を参照してください。 第 2 の形式の cd は、現在のディレクトリの名称 PWD の値の中の文字列 old を、文字列 new に置き換え、この新しいディレクトリへの移動を実行します。 cd コマンドは rksh では実行できません。 echo [ arg ... ] このコマンドの使用法と説明については、echo(1) を参照してください。 % eval [ arg ... ] 引き数をシェルへの入力として読み取り、その結果として生成されたコマンドを実行します。 % exec [ arg ... ] コマンドの実行終了後も、パラメータ割り当てはそのまま有効です。arg を指定すると、この 引き数で指定したコマンドがこのシェルの代わりに実行されます (新しいプロセスは生成され ません)。入出力引き数を指定して、現在のプロセスの設定を変更することもできます。引き 666 Hewlett-Packard Company − 19 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) 数を指定しない場合には、このコマンドの実行の結果、入出力先変更 (リダイレクト) リスト の指定に従ってファイル記述子が変更されます。この場合、このメカニズムによってオープン された 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 の指定形式については「ジョブ」の項を参照してくだ さい。 getopts optstring name [ arg ...] arg を有効なオプションと照合して調べます。arg を省略すると、位置パラメータが使用され ます。オプション引き数は、それぞれ + または − で始まります。+ または - で始まらな いオプション、または引き数 - - によって、オプションは終了します。 optstring には、 getopts に認識する文字を指定します。文字の後に : を付記すると、そのオプションは引き 数を取るものと解釈されます。オプションと引き数とは空白によって分離することができま す。 HP-UX 11i Version 2: December 2007 − 20 − Hewlett-Packard Company 667 ksh(1) ksh(1) 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 となります。 % newgrp [ arg ... ] exec newgrp arg .... と同じです。 print[ -Rnprsu[ n ] ] [ arg ... ] シェルの出力メカニズムです。オプションを指定しない場合、あるいはオプション - または - - を指定した場合には、echo(1) と同様に、引き数が標準出力にプリントされます。−R ま たは −r で raw モードを指定すると、echo のエスケープ規約は無視されます。−R オプショ ンは、後続のすべての引き数と −n 以外のすべてのオプションをプリントします。-p オプ ションを指定すると、標準出力ではなく、|& によって生成されたプロセスのパイプに引き数 が書き込まれます。-s オプションを指定すると、標準出力ではなくヒストリファイルに引き 668 Hewlett-Packard Company − 21 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) 数が書き込まれます。-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) を参照してください。 %% readonly [ name[ =value ] ... ] 指定された name が読み出し専用としてマークされ、以後、その名称を割り当てによって変 更できなくなります。 % return [ n ] このコマンドの実行により、シェル関数 (function) から呼び出し側スクリプトに戻り、n で指定されたリターンステータスが戻されます。n を省略すると、リターンステータスは最後 に実行されたコマンドのリターンステータスになります。呼び出し側に戻されるのは、n の下 位 8 ビットのみです。return を、関数を実行していないとき、あるいは . (ドット) 組み 込みコマンドでスクリプトを実行しているあいだに起動すると、exit コマンドの実行と同 じ結果になります。 HP-UX 11i Version 2: December 2007 − 22 − Hewlett-Packard Company 669 ksh(1) ksh(1) 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 と同じです。 emacs コマンド入力のために emacs形式の行エディターに入ります。 gmacs コマンド入力のために gmacs形式の行エディターに入ります。 ignoreeof エンドオブファイルではシェルが終了しない設定にします。シェ ルを終了させるには、コマンド exit を使用することになりま す。 keyword -k と同じです。 markdirs ファイル名生成によって生成されたすべてのディレクトリ名の後 に、/ が付加されます。 monitor -m と同じです。 noclobber > によるリダイレクトで、既存のファイルの内容を初期化しな いようにします。このオプションがオンの場合にファイルの内容 670 Hewlett-Packard Company − 23 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) を初期化するには、>| を使用する必要があります。 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 に - で始まる値を設定するのに有用です。こ のオプションの後に引き数が何も指定されていない場合には、位置パラメータの内容 が消去されます。 - の代わりに + をオプションの前に指定すると、オプションはオフになります。これらのオ プションは、シェルの起動時にも使用できます。オプションの現在の設定は、$- を使用して 調べることができます。 -A が指定された場合を除き、残った arg 引き数は位置パラメータで、順番に $1, $2, ... に 割り当てられます。引き数もオプションも指定しなかった場合には、すべての名称の値が標準 出力にプリントされます。 % shift [ n ] $n+1 ... 以降の位置パラメータの名称が $1 ... に変更されます。n のデフォルトは 1 です。 パラメータ n には、$# 以下の負でない数に評価される任意の式を指定できます。 test [ expr ] 条件式 expr を評価します。使用法と説明については、test(1) を参照してください。算術比較 演算子は整数以外にも使用可能で、任意の算術式に使用できます。それ以外に、以下の4つの HP-UX 11i Version 2: December 2007 − 24 − Hewlett-Packard Company 671 ksh(1) ksh(1) 基本式が使用できます。 -L file file がシンボリックリンクならば真となります。 file1 -nt file2 file1 が file2 より新しいファイルならば真となります。 file1 -ot file2 file1 が file2 より古いファイルならば真となります。 file1 -ef file2 file1 と file2 のデバイスと i ノード番号が同一であれば真となり ます。 % times シェルとこのシェルから実行されたプロセスについて、ユーザー時間とシステム時間を積算し た結果をプリントします。 % 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 の新しいインスタンスが作成されます。パラメータの値と型は、関数 が終了すると復元されます。以下にリストした属性を指定することができます。 -L value を左詰め処理して、先行する空白を削除します。n にゼロ以外を指定すると、 フィールド幅がその値に定義されます。それ以外の場合には、最初のパラメータ割り 当ての値の幅によってフィールド幅が決定されます。name への割り当てでは、必要 に応じて値の右側への空白の追加や文字の切り捨てを行い、フィールド幅に合うよう に調整されます。-Z オプションも設定すると、先行するゼロが削除されます。-R オプションはオフになります。 -R 右詰め処理して、前に空白を詰めます。n にゼロ以外を指定すると、フィールド幅が その値に定義されます。それ以外の場合には、最初のパラメータ割り当ての値の幅に よってフィールド幅が決定されます。パラメータの再割り当てが行われた場合には、 フィールドは左側への空白挿入または右端からの切り捨てによって調整されます。-L オプションはオフになります。 672 Hewlett-Packard Company − 25 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) -Z 右詰め処理を行い、最初の非空白文字が数字で -L オプションがオフであれば、前に ゼロを詰めます。n にゼロ以外を指定すると、フィールド幅がその値に定義されま す。それ以外の場合には、最初のパラメータ割り当ての値の幅によってフィールド幅 が決定されます。 -f name を、パラメータ名ではなく関数を示す名称として解釈します。typeset 文に よって宣言したこの name には割り当てを実行できません。ほかに指定できるオプ ションは、-t (この関数の実行トレース機能をオンにします) と、-x (同一のプロセ ス環境内で実行されるどのシェルプロシージャでもこの関数が有効となります) の2 つだけです。 -i パラメータは整数です。このフラグは算術演算を高速化します。n にゼロ以外を指定 すると、出力の演算基数がその値に定義されます。それ以外の場合には、最初の割り 当てで出力の基数が決定されます。 -l -r 大文字をすべて小文字に変換します。大文字オプションの -u はオフになります。 指定された name がすべて「読み出し専用」としてマークされ、以後の割り当てに よって変更できなくなります。 -t 指定されたパラメータにタグを付けます。タグはユーザー定義可能で、シェルに対し ては特殊な意味を持ちません。 -u -x 小文字をすべて大文字に変換します。小文字オプションの -l はオフになります。 指定されたすべての name に自動エクスポートのマークを付け、以後実行されるコマ ンドの環境に自動的にエクスポートされるようにします。 - の代わりに + を使用すると、オプションはオフになります。name 引き数を指定 せずにオプションを指定すると、そのオプションが設定されているパラメータの名称 (およびオプションでその値) のリストがプリントされます。- の代わりに + を使用 すると、プリントされた値は保持されます。名称もオプションも指定しない場合に は、すべてのパラメータの名称と属性がプリントされます。 ulimit [−HSacdfst] [limit] リソースの上限値を設定または表示します。指定されたリソースの上限値は、limit の指定時 に設定されます。 limit の値は、各リソースで指定されている単位の数値か、 unlimited キーワードです。 −H フラグと −S フラグは、指定したリソースにハード上限値 (−H) を設定するのか、ソフト 上限値 (−S) を選定するのかを指定します。一度設定すると、ハード上限値を増加させること はできません。ソフト上限値は、ハード上限値まで増加させることができます。−H と −S のどちらも指定しないと、両方の上限値に適用されます。 limit を省略すると、現在のリソース上限値が表示されます。この場合、−H を指定しなけれ ば、ソフト上限値が表示されます。複数のリソースを指定した場合、値の前に上限値名と単位 HP-UX 11i Version 2: December 2007 − 26 − Hewlett-Packard Company 673 ksh(1) ksh(1) が表示されます。 オプションを指定しないと、−f として扱われます。ulimit のオプションは、次のとおり です。 −a 現在のリソース上限値をすべてリストします。 −c コアダンプサイズの 512 バイトブロックの数をリストまたは設定します。 −d データ領域サイズのキロバイト数をリストまたは設定します。 −f 子プロセスが書き込むファイルの 512 バイトブロックの数をリストまたは設定します (任意のサイズのファイルを読み取れます)。 −s スタック領域サイズのキロバイト数をリストまたは設定します。 −t 各プロセスが使う秒数をリストまたは設定します。 umask [ mask ] ユーザーのファイル生成マスクとして 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 は、現在アク ティブなすべての子プロセスの終了または停止を待ちます。このコマンドが戻す終了ステータ スは、最後のプロセスの終了ステータスです。job の指定形式については、「ジョブ」の項を 参照してください。 whence [ -pv ] name ... 各 name について、コマンド名として使用された場合にどのように解釈されるかを示しま す。-v オプションを指定すると、さらに詳細な報告が表示されます。-p オプションを指定 すると、name がエイリアス、関数、または予約語の場合でも、パスの検索を実行して name を捜します。 674 Hewlett-Packard Company − 27 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) 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 を起動してそのコマンドを実行します。した がって、エンドユーザーは、使用可能なコマンドという点では制限されていますが、実際にはシェルプロシー ジャを使うことによって標準シェルの全機能にアクセスすることができます。この方式は、エンドユーザーが 同じディレクトリで書き込みパーミッションと実行パーミッションを同時には持っていないことを前提として います。 シェルプロシージャが rksh から呼び出されると、#! マジックで指定されたシェルインタプリタが rksh で指定された制限付きの機能をすべて継承します。したがって、すべての標準のシェル機能が使用できるよう HP-UX 11i Version 2: December 2007 − 28 − Hewlett-Packard Company 675 ksh(1) ksh(1) にすることを目的として、 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 を表します。これは、CTRL (コントロール) キーを押したまま、f キーを押すことによって入力しま す。SHIFT キーは押しません。ˆ? という表記は DEL (削除) キーを示します。 エスケープシーケンスの表記は、M- の後に文字を続ける形式で行います。たとえば、 M-f (メタエフと読み ます) は、ESC (ASCII の 033 ) キーを押した後、f キーを押すことによって入力します。 M-F は、ESC の 後に SHIFT (大文字の) F が続くことを示す表記です)。 676 Hewlett-Packard Company − 29 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) すべてのエディットコマンドは、行の任意の位置 (行頭以外でも可) から実行できます。特に注記されている場 合を除き、 "RETURN" キーと "LINE FEED" キーのいずれもエディットコマンドの後には入力しないでくだ さい。 ˆF カーソルを1文字順方向 (右) に移動させます。 M-f カーソルを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 現在の文字を大文字にします。 M-c 現在のワードを大文字にします。 M-l 現在のワードを小文字にします。 ˆK カーソルから行末まで削除します。このコマンドの前にカーソルの現在の位置より小さな値の 数値パラメータを指定すると、指定された位置からカーソルまで削除されます。カーソルの現 在の位置より大きな値の数値パラメータを指定すると、カーソルから指定された位置まで削除 されます。 ˆW カーソルからマークまで削除します。 M-p カーソルからマークまでの範囲をスタックにプッシュします。 kill (stty(1) コマンドで定義されたユーザー定義の行消去文字で、通常は ˆG または @ です)。現 在の行全体を削除します。2個の kill 文字を続けて入力すると、以降の連続するすべての行 消去文字は改行を実行します (ペーパーターミナルを使用するときに便利です)。 ˆY 行から最後に削除した項目を復元します (記憶していた項目を行に戻します)。 ˆL 改行してから、現在の行をプリントします。 HP-UX 11i Version 2: December 2007 − 30 − Hewlett-Packard Company 677 ksh(1) ksh(1) ˆ@ (ヌル文字) マークを設定します。 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 です。 M-letter ソフトキー。ユーザーのエイリアスリストの中で、 _letter という名称のエイリアスを捜しま す。その名称のエイリアスが定義されている場合には、そのエイリアスの値を入力キューに挿 入します。この letter に上述のメタ機能は指定できません。 M-. 前のコマンドの最後のワードが行に挿入されます。前に数値パラメータを指定すると、挿入さ れるワードはこのパラメータの値によって決定されます (最後のワードとは限りません)。 M-_ M-. と同じ機能です。 M-* 現在のワードに対してファイル名の生成を実行します。 M-ESC ファイル名の補完を実行します。現在のワードを、現在のワードにアスタリスクを付加した表 記に一致するすべてのファイル名に共通する部分のうち最長のものに置き換えます。一致する ものが1個だけの場合、そのファイルがディレクトリならば / が後ろに付加され、ディレク トリでなければ空白が後ろに付加されます。 M-= 現在のワードの後にアスタリスクを付加した場合と同様の解釈で、現在のワードのパターンに 一致するファイルをリストします。 ˆU 次のコマンドのパラメータを4倍します。 次の文字をエスケープします。この ¥ を前に指定することにより、各種のエディット文字、 ¥ ユーザー定義の消去文字、行消去文字および割り込み文字 (通常は ˆ?) をコマンド行や検索 文字列の中に入力することができます。¥ は、次の文字にエディット機能があれば、その機 能を抑止します。 ˆV 678 シェルのバージョンを表示します。 Hewlett-Packard Company − 31 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) M-# 行頭に # を挿入し、その行を実行します。このコマンドにより、コメントがヒストリファイ ルに挿入されます。 vi エディットモード vi のエディットモードには2つの入力モードがあります。コマンドを入力すると、入力モードに入ります。エ ディットするには、ESC をタイプして制御モードに入り、修正が必要な位置にカーソルを移動してから、文字 や語句を挿入したり削除したりします。ほとんどの制御コマンドでは、コマンドの前に反復回数 count をオプ ションとして指定できます。 ほとんどのシステムの vi モードでは、まず最初に一文字ごとの処理が可能となり、速度が 1200 ボー以上で、 コマンドにいずれかの制御文字が含まれている場合、またはプロンプト表示後の経過時間が1秒未満の場合に は、コマンドが再度エコーされます。ESC 文字は、コマンドの残りの部分についての一文字ごとの処理を終了 させるので、その後、ユーザーはコマンド行の修正が可能となります。この方式には、raw モードのタイプア ヘッドエコーを用いながら一文字ごとの処理を実行できるという利点があります。 viraw オプションの設定により、ターミナル上で一文字ごとの処理をつねに抑止することができます。この モードは、2つの代替用行末デリミタをサポートしないシステムでは、暗黙裏に設定され、また一部のターミ ナルではこのモードが有用です。 入力用編集コマンド デフォルトでは、エディターは入力モードとなっています。 erase 前の文字を削除します。 (erase は stty(1) コマンドで定義されたユーザー定義の消去文字で、 通常は ˆ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ワード逆方向に移動させます。 HP-UX 11i Version 2: December 2007 − 32 − Hewlett-Packard Company 679 ksh(1) ksh(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つ前の コマンドがアクセスされます。 [count][count]j k と同じです。 次のコマンドを取り出します。j を入力するたびに、ヒストリリストの1つ後の コマンドがアクセスされます。 [count]+ j と同じです。 [count]G 番号が count のコマンドを取り出します。デフォルトは、ヒストリリストの最初 のコマンドです。 /string ヒストリを逆方向に調べ、 string を含んでいる以前のコマンドを捜します。 string は "RETURN" または "NEW-LINE" で終わります。string の前に ˆ を指 定すると、一致するのは string で始まる行のみになります。 string がヌルの場合 には、前に指定した文字列が使用されます。 ?string / と同じ機能ですが、検索が順方向に行われます。 n / または ? コマンドで最後に指定されたパターンと一致する次の候補を検索し ます。 N / または ? コマンドで最後に指定されたパターンと一致する次の候補を検索し ますが、検索は逆方向に行われます。ヒストリを調べて、前の / コマンドで入力 された string を捜します。 テキスト変更用編集コマンド 以下のコマンドは行を修正します。 a 入力モードに入り、現在の文字の次にテキストを追加します。 A 行末にテキストを追加します。$a と同じです。 [count]cmotion 680 Hewlett-Packard Company − 33 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) 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 カーソルの後に以前のテキスト修正部分を挿入します。 R 入力モードに入り、入力した文字でスクリーン上の文字を置き換えます。 [count]rc 現在の文字を c で置き換えます。 [count]x 現在の文字を削除します。 [count]X 前の文字を削除します。 [count]. 以前のテキスト修正コマンドを繰り返します。 [count]˜ 現在の文字の大文字/小文字を逆転させ、カーソルを1文字前進させます。 [count]_ 以前のコマンドの count 個のワードを現在のカーソル位置の後に付加し、付加し たテキストの終端の位置で、エディターを入力モードにします。count を省略す ると、最後のワードが使用されます。 * 現在のワードの後に * を付加し、ファイル名生成を実行します。一致するものが ない場合には、ベルを鳴らします。一致するものが見つかると、ワードは一致し た文字列に置き換えられ、エディターが入力モード入ります。 ESC ¥ 現在のワードに対して、ファイル名の補完を実行します。現在のワードを、現在 のワードにアスタリスクを付加した表記に一致するすべてのファイル名に共通す る部分のうち最長のものに置き換えます。一致するものが1個だけの場合、その ファイルがディレクトリならば / が後ろに付加され、ディレクトリでなければ空 白が後ろに付加されます。 HP-UX 11i Version 2: December 2007 − 34 − Hewlett-Packard Company 681 ksh(1) ksh(1) その他の編集コマンド [count]ymotion y[count]motion 現在の文字から motion によってカーソルが移動する文字までを記憶し削除用に バッファーに入れます。テキストとカーソル位置は変化しません。 Y 現在のカーソル位置から行末までを記憶します。y$ と同じです。 u 直前のテキスト変更コマンドを取り消します。 U その行に対して実行されたテキスト変更コマンドをすべて取り消します。 [count]v コマンド fc -e ${VISUAL:-${EDITOR:-vi}} count を入力バッファーに戻し ます。count の結果を省略すると、現在の行が使用されます。 ˆL 改行してから、現在の行をプリントします。制御モードのみで有効です。 ˆJ (改行) モードと無関係に、現在の行を実行します。 ˆM (Return) モードと無関係に、現在の行を実行します。 # I# の後に Return があるのと同じです。行の先頭と改行の後ろに # を挿入し た後、その行を送ります。これは、現在のコマンド行を、実行せずにヒストリリ ストに挿入するのに有用です。 = 現在のワードの後にアスタリスクを付加した場合と同様の解釈で、現在のワード と一致するファイル名をリストします。 @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) の規約に準拠しま 682 Hewlett-Packard Company − 35 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) す。反対に、KSH_QUOTEMC が環境に定義されていない場合は、従来型の Korn シェル規約に準拠した処理と なります。 サポートされるコードセット シングルバイトの文字コードセットがサポートされます。 戻り値 シェルは、エラー (たとえば構文エラー) を検出すると、ゼロ以外の exit ステータスを戻します。それ以外の 場合、シェルは最後に実行したコマンドの exit ステータスを戻します (前述の exit コマンドも参照)。シェ ルを非対話形式で使用している場合には、シェルファイルの実行はできません。シェルが検出した実行時エ ラーは、コマンド名または関数名とエラー状態の表示によって通知されます。エラーが発生した行の番号が 1 より大きい場合には、行番号もコマンド名または関数名の後に大かっこ ([]) で囲んでプリントされます。 警告 ファイル記述子 10 および 54 から 60 までは、Korn シェル内部で使用します。この範囲の記述子を使用しサ ブシェルをフォークするアプリケーションは、記述子がサブシェルまたはその子孫でも生き残るものと考える ことはできません。 パス名をトラックされたエイリアス となっているコマンドを実行した場合に、同じ名称のコマンドを、元の コマンドがあるディレクトリより検索パスの中で前にあるディレクトリにインストールしても、シェルはやは り元のコマンドをロードして実行します。この状態を回避するには、alias コマンドの −t オプションを使 用してください。 現在のディレクトリ、またはその上位ディレクトリを移動または名称変更した場合、pwd が正しく応答しない ことがあります。この状態を回避するには、絶対パス名を用いて cd コマンドを実行してください。 かなり古いシェルスクリプトの一部では、パイプ文字 (|) の同義語としてハットマーク (ˆ) が使用されている ことがあります。しかし、ksh はハットマークをパイプ文字としては認識しないので注意してください。 コマンドがシェルコマンドにパイプされている場合、コマンドが終了すると、シェルコマンド内で設定された すべての変数が失われます。 複合コマンド中で fc 組み込みコマンドを使用すると、そのコマンド全体がヒストリファイルから消去されま す。 組み込みコマンド . file は、あらゆるコマンドの実行前に全ファイルを読み取ります。したがって、ファイル の中に記述された alias コマンドと unalias コマンドは、そのファイルに定義されているどの関数にも適 用されません。 シェルがフォアグラウンドジョブを待っている間、トラップは処理されません。したがって、CHLD に対して 設定されたトラップは、フォアグラウンドジョブが終了するまで実行されません。 export 組み込みコマンドは、配列を正しく処理できません。環境にエクスポートされるのは配列の最初の要 素だけです。 非対話型シェルから開始されたバックグラウンドジョブに、ジョブ制御コマンドを用いてアクセスすることは HP-UX 11i Version 2: December 2007 − 36 − Hewlett-Packard Company 683 ksh(1) ksh(1) できません。 国際環境の場合、文字の順序は、マシンの照合順序に従った文字の値のバイナリ順ではなく、 LC_COLLATE の設定によって決定されます。その場合、文字の順序に関連した操作に危険が伴うことがあり、特にファイル 名生成パターンの中で範囲を表す式を用いるときに問題となります。たとえば、コマンド rm [a-z]* は、通常なら小文字の英字で始まるすべてのファイル名と一致するはずです。しかし、 LC_COLLATE によっ て辞書順が指定されている場合には、大文字で始まるファイル名 (およびアクセント記号付きの文字で始まる ファイル名) にも一致してしまいます。逆に、デンマーク語やノルウェー語などの言語で、 国際環境で、特定の文字クラスに正しく (そして安全に) 一致させる方法は、 rm [[:lower:]]* のような形式のパターンを使用することです。これは、 LC_CTYPE を用いて文字クラスを判定しており、サ ポートされているすべての言語とコードセットについて、その動作を予測可能です。国際化対応していないシ ステム上で作成された (または上記の危険性を考慮せずに作成された) シェルスクリプトについては、NLS (母 国語サポート) 環境でない環境で実行することをお奨めします。そのためには、 LANG, LC_COLLATE, などの 環境変数を "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), 684 Hewlett-Packard Company − 37 − HP-UX 11i Version 2: December 2007 ksh(1) ksh(1) environ(5), lang(5), regexp(5), signal(5) HP-UX 11i Version 2: December 2007 − 38 − Hewlett-Packard Company 685 ktutil(1) ktutil(1) 名称 ktutil − Kerberos keytab ファイルのメンテナンスユーティリティ 構文 ktutil 説明 ktutil コマンドは、管理者がKerberos V5 keytab または V4 srvtabファイルのエントリーを読み取り、書 き込み、または編集できるサブシェルを起動します。 ktutil コマンド 現在の キーリスト を表示します (別名: l)。 list 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) 686 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 kvno(1) kvno(1) 名称 kvno − Kerberos プリンシパルのキーバージョン番号の表示 構文 kvno [−e etype] service1, [service2, ...] 説明 kvno は、指定されたKerberos プリンシパルのサービスチケットを取得し、各プリンシパルのキーバージョ ン番号を表示します。 オプション −e etype コマンド行で指定したすべてのサービスのセッションキーに必要な暗号化タイプを指定します。こ れは、以前のバージョンとの互換性が必要なときに役立ちます。 etype の値は、DES-CBC-CRC、 DES-CBC-RAW、または DES-CBC-MD4 のいずれかです。 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 2: December 2007 −1− Hewlett-Packard Company 687 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 -R を last および lastb と併用すると、ユーザーのホスト名が、 /var/adm/wtmps と /var/adm/btmps にそれぞれ格納された状態のまま表示されます。ホスト名は、tty名 とユーザーのログイン名の間に表示されます。 -number レポートの行数を number 行に指定します。 -f file file を、 /var/adm/wtmp または /var/adm/btmp の代わりに、アカウントファイルの 名前として使用します。 688 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 689 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) 690 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ld(1) ld(1) 名称 ld − リンクエディター 構文 特記事項 Itanium®ベース システムでは ld_ia(1) を、PA-RISC システムでは ld_pa(1) をそれぞれ参照してください。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Itaniumベース システムで、それ以外の値であれば PA-RISC システムです。 参照 ld_ia(1), ld_pa(1), uname(1) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 691 ld_ia(1) ld_ia(1) Integrity システム専用 名称 ld_ia: ld − リンクエディター 構文 リンクエディター ld [−bdmnqrstvwxzEGINOPQSTVZ] [−a search] [−c filename] [−dynamic] [−e epsym] [−emit_relocs] [−h symbol]... [−k filename] [−lx file]... [−l: library] [−m] [−nbucket] [bucketsizetype] [−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] [+[no]concatrpath] [+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 は、入力として単一または複数のオブジェクトファイル、またはライブラリをとり、それらを結合して単 一の (通常実行可能な) ファイルを生成します。これを行う際に、外部シンボルへの参照の解決、最後のアドレ スのプロシージャや変数への割り当て、新しいアドレスを反映するためのコードおよびデータの修正 (「再配 置」というプロセス)、およびシンボリックデバッグ情報がファイルに存在するときには、そのアップデートを 行います。 692 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 デフォルトでは、ld は HP-UX のローダー exec() ( exec(2) を参照) によって実行できる実行可能ファイル を生成します。また、このリンカーは、ld によるこれ以降の処理に適した再配置可能なファイルを生成でき ます (以下の -r を参照)。また、共有ライブラリも生成できます (以下の -b を参照)。シンボルが重複して いる場合、または未解決の外部参照が残る場合には、リンカーは出力ファイルを実行不能としてマークしま す。 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 を実行 したときに、共有ライブラリの依存関係リストに記録されているパスに存在する、サポートされている共有ラ HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 693 ld_ia(1) ld_ia(1) Integrity システム専用 イブラリが見つからない場合、および共有ライブラリが作成されたときに −l 引き数が使用された結果存在す る依存関係が見つかった場合には、ld は、ライブラリを検索するように指定されたすべてのディレクトリ (−L および LPATH を参照) を探して、−l で指定されたライブラリを見つけます。 オプション -a search -l オプションで共有ライブラリとアーカイブライブラリのどちらを検索するかを指 定 し ま す。 search の 値 は、 archive 、 shared 、 archive_shared 、 shared_archive 、または default のどれかでなければなりません。このオプ ションは、ライブラリごとの検索を制御するために、-l オプションと混在させて複 数回指定することができます。デフォルトでは、ライブラリの共有バージョンが利用 できれば使用し、利用できなければアーカイブバージョンを使用します。 archive または shared のどちらかがアクティブならば、指定したライブラリタ イプだけが受け付けられます。 archive_shared がアクティブな場合、アーカイブ形式が優先しますが、共有形式 も認められます。 shared_archive がアクティブな場合、共有形式が優先しますが、アーカイブ形式 も認められます。 静 的 に バ イ ン ド さ れ た プ ロ グ ラ ム を 作 成 す る に は、 -a archive で は な く、 −noshared オプションを使います。 -b 通常の実行可能ファイルではなく共有ライブラリを作成します。このオプションで処 理されるオブジェクトファイルは、コンパイラがデフォルトで生成する positionindependent code (PIC) でなければなりません。 cc(1)、aCC(1)、f90(1)、as(1)、および 『HP-UX リンカー & ライブラリー オンラ イン ユーザーズガイド』で PIC (position-independent code) の説明を参照してくだ さい。 -c filename ld のオプションをファイルから読み込みます。各行には、空白で区切った引き数が0 個以上あります。ファイル内の各行は、最後の行も含めて、改行文字で終わっていな ければなりません。# 文字は、そこから行末までコメントであることを示します。# 文字をエスケープさせるには、シーケンス ## を使用します。 -d 強制的に「共通」シンボルの定義を行います。つまり、-r 出力に対してアドレスと サイズを割り当てます。またこのオプションは、出力からCOMDAT 情報を削除しま す。 -dynamic このオプションは、デフォルトです。このオプションにより、リンカーは共有ライブ ラリを使用できる、ダイナミックリンクされた実行可能プログラムを作成します。こ のオプションは、-noshared の反対です。 694 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 共有ライブラリがリンクされていない場合、リンカーはダイナミックリンクされた実 行可能プログラムを構築します。ただし、+compat オプションを使う PA-RISC 32 ビットモードでは、共有ライブラリがリンクされていない場合、リンカーは静的にバ インドされた実行可能プログラム ( アーカイブバインドされた実行可能プログラム) を構築します。 ダイナミックリンクされた実行可能プログラムでは、プログラムが共有ライブラリに リンクされているかどうかにかかわらず、ダイナミックローダーが実行可能プログラ ムのロード処理を行います。-noshared ( 静的にバインドされた) プログラムの場 合、制御はダイナミックローダーには渡されません。詳細については、dld.so(5) を参 照してください。 -e epsym 出力ファイルのデフォルトのエントリーポイント アドレスを、シンボル epsym のエ ントリーポイント アドレスに設定します (このオプションは実行可能ファイルだけに 適用されます)。 -emit_relocs コンパイラの生成した再配置可能セクションを出力ファイルに保存します。 -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 がユーザーの環境に存在する場合、検索するディレクトリをコロン で区切ったリストが設定されていなければなりません。これらのディレクトリは、デ HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 695 ld_ia(1) ld_ia(1) Integrity システム専用 フォルトディレクトリの代わりに検索されますが、その場合でも -L オプションは有 効です。 プログラムが共有ライブラリを使用する場合、 32 ビット用ダイナミックローダー /usr/lib/hpux32/dld.so ま た は 64 ビッ ト 用 ダ イ ナ ミッ ク ロー ダー /usr/lib/hpux64/dld.so は、リンク時に各ライブラリと同じディレクトリから 各ライブラリをロードしようとします (+s および +b オプションを参照)。 -l: library 指定したライブラリを検索します。-l オプションと類似していますが、-a オプ ションの現在の状態に依存しない点が異なります。ライブラリ名には、有効なファイ ル名であれば任意の名前を指定できます。 -m 標準出力上にロードマップを生成します。 -n このオプションは無視されます。 -nbucket bucketsizetype ハッシュテーブルのサイズ (ハッシュバケットの数) を最適化するために、bucketsizetype を指定します。bucketsizetype の値として指定できる値は次のとおりで す。 pow2 ハッシュバケットの数として、ライブラリにあるダイナミックシンボル の数より小さい範囲で最大の2のべき乗を設定します。 prime ハッシュバケットの数として、ライブラリにあるダイナミックシンボル の数より小さい範囲で最大の素数を設定します。 default ハッシュバケットの数として、デフォルトのサイズを設定します (現在 のデフォルトサイズは、ライブラリにあるダイナミックシンボル数の半 分になっています)。 -noshared リンカーに、完全にアーカイブバインドのプログラム (静的にバインドされた実行可 能プログラムともいう) を強制的に作成させます。 このオプションを使うときは、ld のコマンド行で /usr/ccs/lib/hpux32/crt0.o または /usr/ccs/lib/hpux64/crt0.o (また は同等の起動コード) を指定します。 このオプションは、−dynamic の反対です。 ダイナミックリンクされた実行可能プログラムでは、プログラムが共有ライブラリに リンクされているかどうかにかかわらず、ダイナミックローダーが実行可能プログラ ムのロード処理を行います。静的にリンクされたプログラムの場合、制御はダイナ ミックローダーには渡されません。 696 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ld_ia(1) Integrity システム専用 ld_ia(1) -noshared_dynamic 共有ライブラリがリンクされている場合、ダイナミックリンクされたプログラムを作 成します。共有ライブラリがリンクされていない場合、リンカーは完全にアーカイブ バインドのプログラムを作成します。このオプションは、互換モード (+compat) オ プションではデフォルトです。−dynamic オプションと −noshared オプションも 参照してください。 -o outfile outfile (-o outfile を指定しなければ a.out) という名前の出力オブジェクトファイル を生成します。 -q -r このオプションは無視されます。 次の再リンクのために、出力ファイルに再配置情報を保持します。ld コマンドは未 定義シンボルをレポートしません。このオプションは、共有ライブラリの作成時 (-b) または -s、-x、または +ild インクリメンタルリンクオプションと一緒には使用で きません。 -s 出力ファイルからすべてのシンボルテーブル、再配置、およびデバッグサポート情報 を削除します (この情報は strip(1) コマンドでも削除できます)。このオプションは、 -r オプションおよび +ild オプションと同時に指定することはできません。 注記: -s オプションを使うと、生成されたプログラムに対してシンボリックデバッ ガが使えなくなります。 -symbolic symbol 共有ライブラリを構築するときに、指定したシンボルへのすべての参照を、リンカー がライブラリ内に定義されているシンボルで解決するように指示します。このオプ ションは -B symbolic と似ていますが、シンボルごとに指示することができま す。 複数のオプションシンボルペアをコマンド行で使って、symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、-symbolic オプションを付加し なければなりません。 symbol は、複数のシンボル名に一致する正規表現にすることもできます。正規表現 については regexp(5) で説明しています。 -t -u symbol ld が各入力ファイルを処理するたびに、トレースを (標準出力に) プリントします。 シンボルテーブルの未定義シンボルとして symbol を入力します。未解決の参照が生 成されますが、これは、プログラムをライブラリ内のオブジェクトファイルだけとリ ンクする場合に便利です。 複数のオプションシンボルペアをコマンド行で使って、symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、-u オプションを付加しなければ なりません。 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 697 ld_ia(1) ld_ia(1) Integrity システム専用 -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 プログラム起動時ではなく最初の参照でアドレスをバインドします ( デフォルト)。 group 共有ライブラリをマークして、dlopen() に RTLD_GROUP フラグ を指定してロードしたかのように動作させます。これは、依存共有 ライブラリには影響しません。 698 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 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 共有ライブラリを生成するときにのみ使用します。このオプション は、可能な場合は、ライブラリ内のすべてのシンボルが内部で解決 されるようにします。内部解決されたシンボルも、外部から参照で きます。 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 699 ld_ia(1) ld_ia(1) Integrity システム専用 デフォルト (-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) しても削除されません。 700 -Fl アーカイブライブラリのロードを強制します。+forceload と同じです。 -Fw このオプションは無視され、警告が出力されます。 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 -Fz -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 がリンカーに渡 されます。 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 701 ld_ia(1) ld_ia(1) Integrity システム専用 このオプションは、+ild オプションと併用できません。 リンカーの最適化に関する詳細は、 +help オプションを使うか、『 HP-UX リン カー & ライブラリー ユーザーズガイド』を参照してください。 -P 計測機能付きプログラム (-I オプションを参照) によって生成されるプロファイル データベースファイルを検査して、コードに対してプロファイルベースの最適化を行 います。このオプションは、+ild オプションと一緒に使用しないでください。 -Pd デバッグ可能な関数を並べ換えます。このオプションは、デフォルトで有効になって います。 デフォルトでは、並べ換えは、flow.data から作成されたリンクオーダーファイル を基に実行されます。-PF オプションを指定すると、リンカーは flow.data の代 わりに、指定したリンクオーダーファイルを使用して並べ換えます。 このオプションは、+ild オプションと同時に使うことはできません。 -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 が優先 702 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 します。 +allowdups 複数シンボル定義を許可します。デフォルトでは、再配置可能なオブジェクト間で複 数シンボル定義を行うと、致命的エラーの状態になります。このオプションでは、エ ラー状態を抑制し、最初のシンボル定義を使用することができます。 +[no]allowunsats 未解決シンボルのエラー報告を制御します。+allowunsats は、出力ファイルに未 解決シンボルがある場合でもエラーのフラグをつけません。これは再配置可能リンク および共有ライブラリ生成でのデフォルトです。+noallowunsats は、出力ファイ ルに未解決シンボルがある場合はエラーのフラグをつけます。これはプログラムファ イルでのデフォルトです。 +as mode カー ネ ル が 使 用 す る ア ド レ ス ス ペー ス モ デ ル を 制 御 し ま す。 モ デ ル の 値 は、 default, share_magic, exec_magic, shmem_magic, mpas のいずれかです。現 在のデフォルトは share_magic です。デフォルト以外のモデル値に設定するに は、テキストセグメントとデータセグメントが連続領域に配置されるように、-N コ ンパイラオプションを付けて実行ファイルを作成する必要があります。 +b path_list -l または -l: オプションのいずれかで指定した、実行可能出力ファイルに必要な 共有ライブラリをプログラム実行時に検索するディレクトリをコロンで区切ったリス トで指定します。このディレクトリリストは、埋め込みパスになります。+b オプ ションを複数個指定すると、特に変えない限り、最後に指定したものが記録されま す。このデフォルトの動作を変更するには、+[no]concatrpath を使います。 +b を指定しないか、引き数がコロン (:) だけの場合、ld は -L オプションおよび LPATH 環境変数 (+s オプションを参照) によって指定されるすべてのディレクトリ を使って、埋め込みパスを構築します。 +cdp oldpath:newpath このオプションは無視されます。 +compat リンカーの互換モードをオンにします。これは、PA-RISC の 32ビットリンクを模倣 する動作です。 +[no]concatrpath +b path_list を使って指定した検索パスの連結を [無効] 有効にします。 +[no]copyobjdebug +noobjdebug リンカーオプションを使うと、+objdebug コンパイラオプションの 効果が無効になります。リンカーは、デバッグ情報の出力ファイルへのコピーを省略 し、オブジェクトファイルからの +objdebug 情報の取り出しも省略します。ただ し、以前の -r リンクの結果として作成されたオブジェクトファイルがある場合、こ れらのファイルの +objdebug 情報は取り除かれません。+nocopyobjdebug オプ HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 703 ld_ia(1) Integrity システム専用 ld_ia(1) ションを +noobjdebug オプションと一緒に使うと、-r オプションで生成された オブジェクトを含め、リンカーは、すべてのオブジェクトファイルから強制的に +objdebug 情報を取り除きます。デフォルトは、+copyobjdebug です。 +[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 オプションを付加しなければ 704 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 なりません。 +ee symbol このオプションは、シンボルをエクスポートする点で +e オプションに似ています。 しかし、+e オプションとは異なり、+ee オプションはファイル内の他のどのシンボ ルの可視性も変更しません。+compat モードの実行可能プログラムを構築する場 合、ld はデフォルトで、リンク時に見える共有ライブラリが実際に参照しているシ ンボルだけをエクスポートします。 +ee オプションと +compat オプションを一緒に指定すると、デフォルトでエクス ポートされているシンボルを隠すことなく、指定したシンボルがエクスポートされま す。 +std モードのリンクでは、全シンボルがデフォルトでエクスポートされるので、シ ンボルを可視にするために +ee は必要ありません。しかし、シンボルの必要性を判 断する際に別の副作用があり、デッドコード削除 (+Oprocelim) を使用してもデッド コードが除去されません。+ee オプションは、+hideallsymbols のようなオプ ションが同時に指定されたときも、エクスポートの動作は変わりません。 複数のオプションシンボルペアをコマンド行で使って、symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、+ee オプションを付加しなければ なりません。 +fb リンカーで生成された実行可能ファイルに対して fastbind ツールを実行するよう に、リンカーに指示します。実行可能ファイルは共有ライブラリとリンクされます。 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 ターミネータ関数を指定します。コマンド行上では、起動される順に左から右へ指定 します。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 705 ld_ia(1) ld_ia(1) Integrity システム専用 複数のオプションシンボルペアをコマンド行で使って、ターミネータ関数を複数指定 することができます。つまり、指定する各関数の前に、+fini オプションを付加し なければなりません。 +[no]forceload デフォルトは、+noforceload です。+forceload オプションは、アーカイブラ イブラリからすべてのオブジェクトファイルをロードします。+noforceload は、 アーカイブライブラリから必要なオブジェクトファイルだけをロードします。モード は明示的に、あるいはデフォルトで選択でき、変更されるまでそのモードのままで す。 +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 オペレーティングシステムに付属のヘルプブラウザ ユーティリティ 『HPUX リンカー & ライブラリー オンライン ユーザーズガイド』を表示します。詳細 は、『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 706 Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 +hideallsymbols +e で明示的にエクスポートしない限り、すべてのシンボルのエクスポートを禁止し ます。このオプションを使うと、すべてのシンボルがシンボルテーブル内で「ローカ ル」とマークされます。-h オプションと +e オプションも参照してください。 +ild インクリメンタルリンクを指定します。 出力ファイルが存在しないか、出力ファイルが +ild オプションなしで作成されてい る場合、リンカーは初期インクリメンタルリンクを実行します。作成された出力ファ イルは、以降のインクリメンタルリンクで使用できます。インクリメンタルリンクオ プションは、実行可能プログラムと共有ライブラリのどちらのリンクにも有効です。 次のオプションは、+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 のどちらも指定していない場合、このオプションは無視されます。 HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 707 ld_ia(1) ld_ia(1) Integrity システム専用 +ildrelink 出力ロードモジュールの状態にかかわらず、初期インクリメンタルリンクを実行しま す。 状況によっては (たとえば、内部パディングスペースの不足)、インクリメンタルリン カー は 初 期 イ ン ク リ メ ン タ ル リ ン ク を 強 制 的 に 実 行 す る こ と が あ り ま す。 +ildrelink オプションを使用して定期的に出力ファイルを再構築することによ り、このような予期しない初期インクリメンタルリンクが発生するのを防ぐことがで きます。 +init function_name イニシャライザ関数を指定します。コマンド行では、呼び出しの逆順に (右から左へ) この関数を指定します。 複数のオプションシンボルペアをコマンド行で使って、イニシャライザ関数を複数指 定することができます。つまり、指定する各イニシャライザ関数の前に、+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 リンク中にエラーがまったく発生しなかったときだけ実行可能ファイルを作成するよ う、リンカーに指示します。 ( システムエラーや参照未解決 ) エラーが発生した場 合、出力ファイルは削除されます。 708 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 +[no]lazyload 共有ライブラリの遅延ローディングを有効 [ 無効] にします。+lazyload ライブラ リのロードは、実行中にそのライブラリが参照されるまで遅延されます。 +lazyload と +nolazyload オプションの両方を、リンク時のコマンド行で同時に指定 しても構いません。指定されたモード ( 明示的でもデフォルトでも) は、リンクのコ マンド行で、次にこの2つのオプションのいずれかが指定されるまで、後続のすべて のライブラリに対して有効です。 次の条件を1つ以上を満たすライブラリでは、lazy ローディングは無効です。 • フィルターライブラリ • 他のモジュールからデータ参照でアクセスされる • 間接的な関数コールでアクセスされる リンカーは、このようなライブラリを暗黙的に +nolazyload ライブラリに変換し ます。 +lazyload 共有ライブラリの依存ライブラリは、リンク行上に明示的に指定されて いない限り、リンク時には処理されません。 LD_NOLAZYLOAD 環境変数を設定することにより、実行中に遅延ローディングを無 効にすることができます。 +mergeseg 実行可能ファイルにフラグを設定して、そのファイルがダイナミックローダーによっ て起動されるときにロード対象共有ライブラリのすべてのデータセグメントが1ブ ロックにマージされるようにします。動的にロードされる各共有ライブラリのデータ セグメントは、依存ライブラリのデータセグメントともマージされます。このように マージすれば、カーネルで大きなページテーブルエントリーを使うことが可能にな り、実行時の性能が向上します。 +mmap mmap を使って出力データを書き出ことができます。これはデフォルトの機能です。 mmap が有効となったリンカーは高速になります。 +n リンカーが、アーカイブライブラリや共有ライブラリを検索する前に、オブジェクト モジュールをすべてロードするようにします。それからリンカーは、コマンド行に指 定されたアーカイブライブラリと共有ライブラリを左から右の順に検索します。コマ ンド行のライブラリの左から右への検索は、未解決シンボルがなくなるか、検索で新 しい定義が追加されなくなるまで繰り返されます。このオプションは、互いに依存す るシンボルを持った2つのライブラリを指定する場合に有効です。 +nobss データセグメントをゼロでパディングし、実行時に mmap を1回呼び出すだけでデー タセグメントをマッピングできるようにします。通常、データセグメントのマッピン グでは、ファイルバック記憶領域に対して1回の mmap 呼び出し、bss (blank static storage) に対して2回目の mmap 呼び出しが必要です。このオプションを使用する HP-UX 11i Version 2: December 2007 − 18 − Hewlett-Packard Company 709 ld_ia(1) ld_ia(1) Integrity システム専用 と出力ファイルのサイズが大きくなります。 +nodefaultmap デフォルトのメモリーマップを使わないようにします。-k リンカーオプションに よってマップファイルを指定する必要があります。 +nodynhash +gst オプションでの実行可能プログラムまたは共有ライブラリの .dynhash セク ションの作成に関する、デフォルトのリンカー動作を無効にします。ライブラリまた は実行可能プログラムのグローバルシンボルテーブルを事前に作成しても、検索機能 で使用されることがほとんどない場合、または事前にハッシュ値を計算して格納する ためのオーバーヘッドが高すぎる場合に、このオプションを使用して、それらの計算 済みのハッシュテーブル情報を生成しないようにします。このオプションは、-r オ プションとともに使用すると効果がなくなります。 +noenvvar ダ イ ナ ミッ ク ロー ダー が 実 行 時 に ダ イ ナ ミッ ク パ ス 検 索 用 環 境 変 数 LD_LIBRARY_PATH、SHLIB_PATH および $ORIGIN を無視するようにします。デ フォルトまたは +std オプションを指定した場合、ダイナミックローダーはこの環境 変数を探します。つまり、この環境変数が有効になります。+compat オプションま たは +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 を削除しないで ください。このオプションは非表示シンボルとエクスポートされたシンボルに使えま す。 710 Hewlett-Packard Company − 19 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 コマンド行で、オプションとシンボルのペアを複数使用して、symbol を複数指定す ることができます。この場合、指定する各 symbol の前に、+noprocelim_sym オ プションを付加しなければなりません。 +nosectionmerge -r オプションとともに使用して、プロシージャが個別に配置されるようにします。 デフォルトでは、プロシージャはすべて単一のセクションにマージされます。 +nosmartbind このオプションは無視されます。 +nosrcpos コンパイラオプションの +srcpos がデフォルトです。-g コンパイラオプションを 指定しなくても、+srcpos はコンパイラがデバッグ情報部を作成するようにしま す。デフォルトの +srcpos オプションは、いつでも実行可能プログラムにデバッグ 情報部をコピーするため、実行可能プログラムが大きくなります。+srcpos を使う と、-g コンパイラオプションを指定しなくても、cxperf、caliper、および sin などのツールでプログラムのプロファイリングを行うことができます。 +nosrcpos リンカーオプションを使うと、デフォルトの +srcpos コンパイラオプ ションが無効になり、リンク時にデバッグ情報が削除されます。 +nosrcpos は -g +objdebug と一緒に使うこともでき、+objdebug モードを完全に強制するこ とができます (オブジェクトファイルからデバッグ情報をコピーしません)。 +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 を追加し、出力モジュー HP-UX 11i Version 2: December 2007 − 20 − Hewlett-Packard Company 711 ld_ia(1) ld_ia(1) Integrity システム専用 ルに 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 ミスが減ります。このオプショ ンを使うと、出力ファイルのサイズが大きくなります。 +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 オプショ ンを参照してください。 712 Hewlett-Packard Company − 21 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 +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 (埋め込みパス) というデフォルトの検索順序を変更します。 +std このオプションはデフォルトです。リンカーの標準モードをオンにします。このオプ ションは、+compat オプションの反対です。このオプションを指定したときに設定 されるオプションは、−dynamic です。このオプションを指定したときにオフにな るか、無視されるオプションは、+compat、+noenvvar、-noshared です。 +stripunwind アンワインドテーブルを出力しません。このオプションにより、実行可能ファイルの サイズが小さくなります。デバッグや aC++ の例外処理にアンワインドテーブルが不 要であれば、このオプションを使ってください。 注記: +stripunwind オプションを使うと、生成されたプログラムに対してシンボ リックデバッガが使えなくなることがあります。 +tools このオプションは無視されます。 HP-UX 11i Version 2: December 2007 − 22 − Hewlett-Packard Company 713 ld_ia(1) ld_ia(1) Integrity システム専用 +vallcompatwarnings このオプションは無視されます。 +v[no]compatwarnings このオプションは無視されます。 +v[no]shlibunsats 共有ライブラリが使用する未解決シンボルのリストのプリントを有効 [無効] にしま す。デフォルトの動作は、共有ライブラリのビルドが +vnoshlibunsats で、実行 可能形式のビルドが +vshlibunsats です。リンカーから報告される未解決シンボ ルの中には、シンボルを参照するモジュールが使用されていないため実行時に不要な ものもあります。 +vtype type リンク動作について冗長な情報を出力します。type には、次の値を指定します。 +vtype オプションのすべての情報を出力します。 -v と同じで all す。 files ロードされた各オブジェクトファイルの情報を出力します。 heap リンクで使用されたヒープのサイズの情報を出力します。 libraries 検索されたライブラリの情報を出力します。 procelim +Oprocelim オプションで削除されたセクションの情報を出力しま す。 sections symbols 出力ファイルに追加された各入力セクションの情報を出力します。 入力ファイルに定義されていた、または入力ファイルから参照され たグローバルシンボルの情報を出力します。 +FP flags プログラム起動時に浮動小数点演算の環境をどのように初期化するかを指定します。 デフォルトでは、モードは IEEE 浮動小数点標準として指定されます。すなわち、ト ラップはすべて無効、段階的なアンダーフロー、最も近い値への丸めです。+FP オ プションでは、以下のモードがサポートされます (大文字のフラグは有効、小文字の フラグは無効を表します)。 D (d) 非正規化値の突発的なアンダーフロー ( 急にゼロになります) を有効にし ます。 I (i) N (n) 不正確な結果を生成する浮動小数点演算をトラップします。 非正規化 (Denormal|Unnormal) オペランドの浮動小数点演算をトラップ します。 O (o) 714 Hewlett-Packard Company 浮動小数点オーバーフローをトラップします。 − 23 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 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 リンカー & ライブラリー ユーザーズガイ ド』を参照してください。 +O[no]fastaccess このオプションは、無視されます。 +O[no]procelim アプリケーションから参照されていないプロシージャおよびデータの削除を有効 [無 効] にします。デフォルトは +Onoprocelim です。 プロシージャおよびデータの削除は、レベル 0 の場合も含めて、すべての最適化レベ ルで実行されます。削除はセクション単位で行われます。セクションの削除は、その セクション内のすべてのプロシージャ/データが参照されていない場合にのみ行われま HP-UX 11i Version 2: December 2007 − 24 − Hewlett-Packard Company 715 ld_ia(1) ld_ia(1) Integrity システム専用 す。詳細については、+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 デバッガがオ ブジェクトファイルにアクセスできなければなりません。 (-r オプションで構築したオブジェクトファイル の場合、個々のオブジェクトファイルがデバッガから利用できなければなりません。 ) オブジェクトファイル を移動した場合は、HP WDB の objdir コマンドを使って、オブジェクトファイルの位置を指定する必要が あります。 +noobjdebug コンパイラオプションを使うと、デバッグ情報が出力ファイルにコピーされます。コンパイル 時のデフォルトは、+objdebug です。 716 Hewlett-Packard Company − 25 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 リンカーは +objdebug オプションでコンパイルされたオブジェクトファイルを検出すると、デバッグ情報を それらのファイル内に残します。+objdebug でコンパイルされていないオブジェクトファイルについては、 デバッグ情報が出力ファイルにコピーされます。 リンク時に +noobjdebug オプションを使うと、一部のオブジェクトが +objdebug でコンパイルされてい ても、デバッグ情報を出力ファイルにコピーすることができます。 インクリメンタルリンク リンク時間は、編集、コンパイル、リンク、デバッグの開発サイクルで大きなウエートを占めます。インクリ メンタルリンカー (+ild オプションと +ildrelink オプションで利用可能) は、以前のバージョンのプログ ラムの大半は再利用できること、未変更のオブジェクトファイルは処理が不要だということを利用して、リン ク時間を短くします。インクリメンタルリンカーを使用すると、未変更のオブジェクトファイルを再リンクす ることなく、以前に作成した出力ファイル (実行可能ファイルまたは共有ライブラリ) にオブジェクトコードを 挿入できます。初期インクリメンタルリンク後の再リンクに必要な時間は、変更したモジュールの数に従って 変化します。 リンカーには、次のリンクモードがあります。 • 通常リンク: リンカーがすべてのモジュールをリンクする、デフォルトの動作モード。 • 初期インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作 成した出力モジュールが存在しないか、存在してもインクリメンタルリンカーがインクリメンタルアップ デートを実行できない場合に開始されるモード。 • インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作成し た出力モジュールが存在し、インクリメンタルリンカーが初期インクリメンタルリンクを必要としない場合 に開始されるモード。 一般的に、インクリメンタルリンクは通常リンクよりもかなり高速です。初回のリンクの場合、インクリメン タルリンクは通常のリンク処理と同じ時間を必要としますが、以後のインクリメンタルリンクは通常リンクよ りもかなり高速になります。 中規模のリンク (ファイル数十個、合計数メガバイト) でオブジェクト1つの変更では、通常の ld リンクよ りも一般的に 10 倍程度速くなります。インクリメンタルリンカーは、割り当てられているパディングスペー スや他の制約が許す限り、インクリメンタルリンクを実行します。リンク時間が短くなる代わりに、実行可能 ファイルまたは共有ライブラリのサイズが大きくなります。 インクリメンタルリンカーは、出力ファイルのすべての構成要素に対してパディングスペースを割り当てま す。パディングによりモジュールは、ld でリンクされたモジュールよりも大きくなります。以後のインクリ メンタルリンクでオブジェクトファイルのサイズが大きくなると、インクリメンタルリンカーは利用可能なパ ディングを使い尽くしてしまう可能性があります。このような状態になると、リンカーは警告メッセージを表 示し、モジュールの初期インクリメンタルリンクを完全に行います。 初期インクリメンタルリンクでは、リンカーは入力のオブジェクトファイルおよびライブラリを、通常リンク と同じ方法で処理します。通常リンクの処理の他に、インクリメンタルリンカーはオブジェクトファイル、グ HP-UX 11i Version 2: December 2007 − 26 − Hewlett-Packard Company 717 ld_ia(1) ld_ia(1) Integrity システム専用 ローバルシンボル、および再配置についての情報を保存し、出力ファイル内に拡張用のセクションをパディン グします。以後のインクリメンタルリンクでは、リンカーはタイムスタンプを使用してどのオブジェクトファ イルが変更されたかを調べ、そのモジュールをアップデートします。 状況によっては、インクリメンタルリンカーはインクリメンタルリンクを実行できません。このような状態に なると、インクリメンタルリンカーは自動的に初期インクリメンタルリンクを実行し、インクリメンタルリン クが可能な状態にします。以下の状況で、リンカーは自動的に出力ファイルの初期インクリメンタルリンクを 実行します。 • リンカーのコマンド行が変更された場合。つまり、リンカーのコマンド行が出力ファイルに格納されている コマンド行と異なる場合 (冗長オプションとトレースオプションを除く)。 • いずれかのパディングスペースを使い尽くした場合。 • モジュールが、ld -s オプションまたは ld -x オプションで、またはツール (strip(1) など) で変更され た場合。 • インクリメンタルリンカーのバージョンに互換性がない場合。つまり、古いバージョンのリンカーで作成さ れた実行可能ファイルに対して新しいバージョンのインクリメンタルリンカーを実行した場合。 • 作業ディレクトリが新しい場合。現在のディレクトリを変更すると、インクリメンタルリンカーは初期イン クリメンタルリンクを実行します。 • アーカイブまたは共有ライブラリがリンカーコマンド行に追加されたり、リンカーコマンド行から削除され た場合。 • オブジェクトファイルがリンカーコマンド行から削除された場合。 詳細については、+help オプションを使うか、『HP-UX リンカー & ライブラリー ユーザーズガイド』を参 照してください。 アーカイブライブラリの処理 未解決のシンボルがある場合、インクリメンタルリンカーはアーカイブライブラリを検索します。リンカーは 未解決のシンボルに対応するすべてのアーカイブメンバーを抽出し、それらのメンバーを新しいオブジェクト ファイルとして処理します。アーカイブライブラリが変更された場合、リンカーは修正後のアーカイブライブ ラリに置き換えます。 以前のリンクでアーカイブライブラリから抽出されたオブジェクトファイルは、そのオブジェクトファイル内 で定義されているシンボルへの参照がすべて削除されても、出力ロードモジュールに残ります。リンカーは、 次回の初期インクリメンタルリンクの実行時にこれらのオブジェクトファイルを削除します。 共有ライブラリの処理 初期インクリメンタルリンクでは、リンカーは共有ライブラリのシンボルテーブルを走査し、未解決のシンボ ルを通常のリンクと同様に解決します。インクリメンタルリンクでは、リンカーは共有ライブラリおよびその シンボルテーブルを処理せず、共有ライブラリの未解決シンボルは報告しません。この未解決シンボルは、ダ 718 Hewlett-Packard Company − 27 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 イナミックローダーが検出します。コマンド行上の共有ライブラリに変更されたものがあれば、リンカーは、 初期インクリメンタルリンクを実行し直します。 性能 オブジェクトファイルの大半を変更した場合は、インクリメンタルリンカーによる性能の向上は期待できませ ん。 小規模なプログラムでは、インクリメンタルリンカーでリンクの速度が改善されないことがあり、大規模なプ ログラムに比べ実行可能ファイルのサイズが増加する割合が大きくなります。 最終の製品モジュールを作成する場合は、インクリメンタルリンカーを使用しないでください。インクリメン タルリンカーはパディングスペースを余分に予約するため、インクリメンタルリンカーで作成したモジュール は通常のリンカーで作成したモジュールよりもかなり大きくなります。 セキュリティに関する制限 きめ細かい特権をサポートするシステムでは、プロセスがバイナリの拡張属性から何らかの特権を得た場合、 動的パス検索が無効になります。同じように、コンパートメントをサポートするシステムでは、バイナリの拡 張属性が設定されているためにプロセスがコンパートメントを変更した場合、動的パス検索が無効になりま す。 バイナリに拡張属性を設定する方法については、setfilexsec(1M) を参照してください。特権とコンパートメン トについての詳細は、privileges(5) と compartments(5) を参照してください。 セキュアプログラムのリンク セキュアプログラムとは、通常 root などの特権を持つユーザーによって実行されるプログラム、または、 setuid または setgid 保護により引き上げられた特権で実行されるプログラムです。共有ライブラリを使 用するセキュアプログラムをリンクする際は、特に注意が必要です。リンカーのデフォルトの動作は、セキュ ア PA-RISC 32 ビッ ト ア プ リ ケー ショ ン に は 十 分 で あっ て も、 PA-RISC 64 ビッ ト ア プ リ ケー ショ ン や Integrity システムアプリケーションには十分でないことがあります。 セキュアプログラムでは、+noenvvar オプションを用いてリンクして、共有ライブラリの依存対象を探すた めに SHLIB_PATH や LD_LIBRARY_PATH を使用しないようにする必要があります。また、セキュアプログ ラムでは +nodefaultrpath を用いてリンクして、-L オプションで指定した検索ディレクトリに基づいて 埋め込み検索パスを自動的に構築しないようにする必要があります。リンク時に検索されるディレクトリのほ とんどは、実行時に検索する必要はありません。また、これらのディレクトリが相対パスとして指定されてい る場合、プログラムは SHLIB_PATH や LD_LIBRARY_PATH を用いた場合と同じセキュリティ上のリスクに さらされることになります。 +compat で構築したプログラムは、+noenvvar および +nodefaultrpath が指定された場合と同じよう にリンクされます。ただし、加えて PA-RISC 32 ビットの互換性機能も、+compat によって有効になりま す。 SHLIB_PATH または LD_LIBRARY_PATH で指定したディレクトリにのみ存在するライブラリに依存する通 常のプログラムは、+noenvvar ではリンクしないでください。+compat を使用する場合は、+s も使用し HP-UX 11i Version 2: December 2007 − 28 − Hewlett-Packard Company 719 ld_ia(1) ld_ia(1) Integrity システム専用 て、 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 の値を取得し、その内容をコマンド行の引き数の前に置きます。 LPATH ライブラリファイルを検索するデフォルトディレクトリを指定します。-l オプションを参 照してください。 LD_LIBRARY_PATH と SHLIB_PATH 実行時にライブラリファイルを検索するディレクトリを指定します。詳細については -s オ プションと、+help オプションで 『HP-UX リンカー & ライブラリー オンライン ユー ザーズガイド』を参照してください。 以下の多言語化対応変数は、ld の処理内容に影響します。 LANG LC_ALL および他の LC_* 環境変数が指定されていない場合に、母国語のロケールカテゴ リ、ローカルカスタム、およびコード文字セットを定義します。LANG が指定されていない 場合、または空文字列が指定されている場合、デフォルトの C (lang(5) を参照) が LANG の代わりに使用されます。 LC_ALL すべてのロケールカテゴリの値を定義し、LANG および他の LC_* 環境変数よりも優先的に 使用されます。 LC_MESSAGES 標準エラーに書き込まれる診断メッセージのフォーマットと内容を変更するために使用する ロケールを定義します。 LC_NUMERIC 数値フォーマティングのためのロケールカテゴリを定義します。 LC_CTYPE 文字操作関数のロケールカテゴリを定義します。 NLSPATH LC_MESSAGES の処理を行うために、メッセージカタログの位置を定義します。 多言語化対応変数のいずれかの設定が不適当な場合には、ld はすべての多言語化対応変数が C に設定されて いるものとして動作します。environ(5) を参照してください。 720 Hewlett-Packard Company − 29 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 さらに、以下の環境変数は ld の処理内容に影響します。 TMPDIR 一時ファイル (tmpnam(3S) を参照) 用のディレクトリを指定します。 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 +h を使用しない場合、共有ライブラリは内部名を持ちません。リンカーは、.so がシンボリックリンクであ るかどうかはチェックしません。内部名がない場合は、リンカーは自分が参照しているライブラリ名を記録し ます。 HP-UX 11i Version 2: December 2007 − 30 − Hewlett-Packard Company 721 ld_ia(1) ld_ia(1) Integrity システム専用 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 オプションも指定した場 合にのみ出力されます。 「オプション」の項で説明したように、このリリースのリンカーではサポートされなくなったオプションがあ ります。 リンカーは以下のオプションを受け付け、警告メッセージを出力します。 • -A name • -C n • -Fw • -S 722 Hewlett-Packard Company − 31 − HP-UX 11i Version 2: December 2007 ld_ia(1) ld_ia(1) Integrity システム専用 • +cg pathname • +Oreusedir=dir • +OselectiveO3 • +Oselectivesize size 以下のオプションは、互換性のためにサポートされています。これらのオプションは受け付けられますが、無 視されます。 • -n • -q • -Fz • -N • -Q • -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ビットのダイナミックローダー /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ビットのミリコードライブラリ HP-UX 11i Version 2: December 2007 − 32 − Hewlett-Packard Company 723 ld_ia(1) ld_ia(1) Integrity システム専用 埋め込みシステムで ld が自動的に検索する、64ビットのミリ /usr/lib/hpux64/millikern.a コードライブラリ /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) オブジェクトファイルから、シンボルおよび行番号情報を削除 その他 a.out(4) アセンブラ、コンパイラ、およびリンカーの出力 ar(4) アーカイブ形式 setfilexsec(1M) crt0(3) 724 起動ルーチンを実行 Hewlett-Packard Company − 33 − HP-UX 11i Version 2: December 2007 ld_ia(1) Integrity システム専用 ld_ia(1) compartments(5) privileges(5) dld.so(5) ダイナミックローダー end(3C) プログラムの最後の位置のシンボル uld.so(5) マイクロローダー テキストとチュートリアル 『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (+help オプションを使用) 『HP-UX リンカー & ライブラリー ユーザーズガイド』 標準準拠 ld: SVID2、SVID3、XPG2、XPG4 HP-UX 11i Version 2: December 2007 − 34 − Hewlett-Packard Company 725 ld_pa(1) ld_pa(1) PA-RISC システム専用 名称 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ビット (SOM) オプション 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ビット (ELF) オプション ld [-emit_relocs] [-w] [-k filename] [-nbucket bucketsizetype] [-symbolic symbol]... [+alloc_hidden_symbols] [+allowrorelocs] [+[no]allowunsats] [+[no]concatrpath] [+[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 は、入力として単一または複数のオブジェクトファイル、またはライブラリをとり、それらを結合して単 一の (通常実行可能な) ファイルを生成します。これを行う際に、外部シンボルへの参照の解決、最後のアドレ スのプロシージャや変数への割り当て、新しいアドレスを反映するためのコードおよびデータの修正 (「再配 置」というプロセス)、およびシンボリックデバッグ情報がファイルに存在するときには、そのアップデートを 726 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 行います。 デフォルトでは、ld は HP-UX ローダー exec() (exec(2) を参照) によって実行できる実行可能ファイルを 生成します。また、このリンカーは、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 を実行 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 727 ld_pa(1) ld_pa(1) PA-RISC システム専用 したときに、共有ライブラリの依存関係リストに記録されているパスに存在する、サポートされている共有ラ イブラリが見つからない場合、および共有ライブラリが作成されたときに −l 引き数が使用された結果存在す る依存関係が見つかった場合には、ld は、あらゆるディレクトリを探して、−l (−L および LPATH を参照) で指定したライブラリを見つけます。 環境変数 引き数は、LDOPTS 環境変数を通じて、およびコマンド行でリンカーに渡すことができます。リンカーは、 LDOPTS の値を取得して、その内容をコマンド行の引き数の前に入れます。 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 個以上あります。ファイル内の各行は、最後の行も含めて、改行文字で終わっていな 728 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 ければなりません。# 文字は、そこから行末までコメントであることを示します。# 文字をエスケープさせるには、シーケンス ## を使用します。 -d 強制的に「共通」記憶領域の定義を行います。つまり、-r 出力に対してアドレスと サイズを割り当てます。またこのオプションは、-r 出力からCOMDAT 情報を削除 します。 -dynamic 共有ライブラリを使用するプログラムをリンカーが作成できるようにします。 +compat を使用しない場合、64 ビットのリンクではこれがデフォルトです。32 ビット モードでは、リンク行に共有ライブラリがなければ、リンカーは静的な実行可能ファ イルを作成します。 -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 を HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 729 ld_pa(1) ld_pa(1) PA-RISC システム専用 入れ、.a または .sl のサフィックスで終わらなければなりませんでした)。 -m このオプションは標準出力上にロードマップを生成します。 -n このオプションは 64ビット ld では無効ですが、それ以外には有効です。ファイル タイプ SHARE_MAGIC の実行可能出力ファイルを生成します (デフォルト)。このオ プションには、-N および -q との互換性はありません。 -noshared リンカーに、完全アーカイブ結合のプログラムを強制的に作成させます。 -o outfile -o outfile (outfile を指定しなければ a.out) という名前の出力オブジェクトファイ ルを生成します。 -q このオプションは 64 ビットリンクでは無効です。ファイルタイプ DEMAND_MAGIC の実行可能出力ファイルを生成します。このオプションには、−n、−N、および −Q との互換性はありません。 −r 次の再リンクのために、出力ファイルに再配置情報を保持します。ld コマンドは未 定義シンボルをレポートしません。このオプションは、共有ライブラリの作成時 (-b) または -A または +ild インクリメンタルリンクオプションと一緒には使用できま せん。 -s 出力ファイルからすべてのシンボルテーブル、再配置、およびデバッグサポート情報 を削除します。これにより、生成されるプログラム上でシンボリックデバッガやプロ ファイラの機能が一部、またはすべて使用できなくなることがあります。このオプ ションには、-r との互換性はありません (strip(1) コマンドもこの情報を削除しま す)。このオプションは、+ild と同時に指定することはできません。 (インクリメン タルリンクは、-s オプションで削除される出力ロードモジュールの一部を必要とし ます。) -t -u symbol ld が各入力ファイルを処理するたびに、トレースを (標準出力に) プリントします。 シンボルテーブルの未定義シンボルとして symbol を入力します。未解決の参照が生 成されますが、これは、ライブラリのオブジェクトファイルだけからのプログラムを リンクする場合に便利です。複数の symbol を指定できますが、各シンボルの前に -u を付けなければなりません。 -v リンク時に詳細なメッセージを表示します。32ビットシステムでは、ロードされるモ ジュールごとに、リンカーは、どのシンボルによってそのモジュールがロードされた かを表示します。64 ビットシステムでは、リンカーは、アーカイブライブラリから ロードされるモジュールに対してのみ、この情報を表示します。 -x 出力ファイルからローカルシンボルを削除します。これはオブジェクトファイルユー ティリティの機能を損なわずに出力ファイルのサイズを縮小します。このオプション は、-r オプションとの互換性はありません。このオプションは、+ild オプション と同時に指定することはできません。インクリメンタルリンクは、-x オプションで 730 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 削除される出力ロードモジュールの一部を必要とします。 注記: -x の使用はデバッガやプロファイラの使用に影響を与えることがあります。 -y symbol symbol が現れる各ファイルを示します。symbol は複数指定できますが、各シンボル の前に -y を付けなければなりません。 -z null ポインターの実行時参照が SIGSEGV シグナルを生成するようにします (これは -Z オプションの補足です)。 -B bind 共有ライブラリを使っているプログラムの実行時バインディング動作を選択したり、 共有ライブラリの生成に必要なバインディング方法を選択します。bind の最も一般 的な値は、以下のとおりです。 direct シンボルの解決中に解決された共有ライブラリ名を記録することに より、シンボル参照と共有ライブラリの間に直接リンクを作成しま す。この情報は、実行時に、ロードされているすべてのライブラリ を検索することなく迅速にシンボルを解決する目的で使用されま す。 -B direct では、シンボリックバインディングは無条件にオンに なり (-B symbolic を参照してください)、依存共有ライブラリの 処理は無効になります。 実行時に直接バインディングを無効にするには、 LD_NODIRECTBIND 環境変数を設定します。 deferred プログラム起動時ではなく最初の参照でアドレスをバインドします ( デフォルト)。 group 共有ライブラリをマークして、dlopen() に RTLD_GROUP フラグ を指定してロードしたかのように動作させます。これは、依存共有 ライブラリには影響しません。 注記: -B group バインディングモードは、現在は 64 ビットアプ リケーションでのみサポートされています。 immediate ライブラリのロード時に、すべてのシンボルのアドレスを即座にバ インドします。通常、この後に -B nonfatal を指定すると、プロ グラム起動時に解決できないプロシージャ呼び出しを、最初の参照 で解決できます。 -B nonfatal は、解決できないシンボルに関するメッセージを表 示しないので、それらのメッセージを表示するには -B verbose を指定します。 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 731 ld_pa(1) ld_pa(1) PA-RISC システム専用 以下の例を参照してください。 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 共有ライブラリを生成するときのみに (-b オプションを指定) 使用 されます。このオプションは、可能な場合は、ライブラリ内のすべ ての未解決のシンボルが内部で解決されるようにします。デフォル トでは、未解決のシンボルはライブラリの中かライブラリの外の最 も近接した定義で解決されます。 注記: Integrity システムで aC++ 共有ライブラリを構築する際に は、このオプションを使用しないでください。aC++ オプション -B protected_def を使用してください。 verbose -B nonfatal を指定した場合以外には、デフォルトで、シンボル をバインドするときに冗長メッセージを表示します。-B nonfatal を指定した場合、メッセージを表示するには、-B verbose を明示 的に指定しなければなりません。 732 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 バインディングモードの使用法についての詳細は、+help オプションまたは 『HPUX リンカー & ライブラリー ユーザーズガイド』を参照してください。 -D offset データセグメントの原点 (16 進数) を設定します。 +ild オプションと共に使用した場合、初期インクリメンタルリンク後にオフセット を変更すると、リンカーは自動的に初期インクリメンタルリンクを実行します。 -E 共有ライブラリにエクスポートするためにプログラムで定義したシンボルをすべて マークします。32ビットリンクまたは +compat モードの 64ビットリンクでは、ld は、リンクの対象共有ライブラリから実際に参照されているシンボルだけをマークし ます。64ビットの +std リンクでは、すべてのシンボルがデフォルトでエクスポー トされるので、シンボルが見えるように -E を指定する必要はありません。一方、こ のオプションを指定すると、エクスポートされるシンボルは副作用ですべて必要と見 なされるため、デッドコードの削除を指定 (+Oprocelim) しても削除されません。 -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 命令および不要な手順の除去が含まれま す。 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 733 ld_pa(1) ld_pa(1) PA-RISC システム専用 +O4 コンパイラオプションが選択されると、-O は、コンパイラによってリンカーに 渡されます。 このオプションは、+ild オプションと併用できません。 リンカーの最適化に関する詳細は、+help オプションまたは 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 -P 組み込まれたプログラム (-I オプションを参照) によって生成されるデータファイル を検査して、コードに対してプロファイルベースの最適化を行います。このオプショ ンは、-A オプションや +ild オプションとともに使用しないでください。 -Q 64ビットリンクでは無効です。実行可能出力ファイルを生成します。ファイルタイプ は、 -N を指定すれば EXEC_MAGIC 、 -n を指定すれば SHARE_MAGIC になりま す。このオプションはデフォルトで指定されます。このオプションには、-q との互 換性はありません。 -R offset テキスト (つまりコード) セグメントの原点 (16 進数) を設定します。 +ild オプションと共に使用した場合、初期インクリメンタルリンク後にオフセット を変更すると、リンカーは自動的に初期インクリメンタルリンクを実行します。 -T 32 ビットモードでは、リンク時にメモリーではなく、テンポラリファイルにロード データおよび再配置情報をセーブします。このオプションにより、リンカーの仮想記 憶の要件は軽減します。TMPDIR 環境変数が設定されると、テンポラリファイルは、 /var/tmp ではなく、指定ディレクトリで作成されます。 64ビットモードではこのオプションは +nommap オプションと同じです。 -V 使用している ld のバージョンに関する情報が含まれたメッセージを出力します。 -Z null ポインターの実行時参照を可能にします。cc(1) で -Z および pointers の説明を 参照してください (これは -z オプションの補足です)。 -Pd デバッグ可能な関数を並べ換えます。通常、-P は、.o ファイルの関数をデバッグ 情報とともに並べ換えることはありません。並べ換えるとデバッグできなくなるため です。このオプションはそれよりも優先され、関数を並べ換えます。デフォルトで は、並べ換えは、flow.data から作成されたリンクオーダーファイルを基に実行さ れます。-PF オプションを指定すると、リンカーは flow.data の代わりに、指定 したリンクオーダーファイルを使用して並べ換えます。このオプションは、+ild オ プションと同時に使うことはできません。 -PD filename -P オプションを用いてリンクした際に fdp が生成したリンクオーダー ファイルを ユーザー指定ファイルに保存します。このオプションは、+ild オプションと一緒に 使用することはできません。 734 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 -PF filename リンカーに対して、/usr/ccs/bin/fdp を用いてファイルを生成せず、指定された ファイルをリンカーファイルとして用いるよう指示します。このオプションには、 +ild オプションと一緒に使用することはできません。 +afs func_sym_x=func_sym_y ... 共有ライブラリおよび実行可能ファイルのリンクで、リンカーに対して、関数シンボ ルを代替関数シンボルに置き換えるよう指示します。 +afs オプションは、関数シンボルの別名をサポートします。ユーザープログラムの 関数は、最適化されたライブラリ内の異なる名前の関数と機能が同一であることがよ くあります。これらのユーザー定義関数は、通常はプログラムの中で頻繁に呼び出さ れます。+afs オプションを使用すると、リンク時にユーザー定義関数への参照をす べて、チューニング済みのライブラリ関数への参照に置き換えることができるので、 これらの関数は再リンクするだけで最適化され、性能を大幅に向上させることができ ます。 どちらの関数も、同じ数とタイプのパラメータを定義し、同じタイプの値を返す必要 があります。一致しない場合、結果は予測できず、リンカーは警告メッセージを生成 しません。 例: $ ld ... +afs func_sym1=func_sym2 ... この例では、リンカーは関数シンボル func_sym1 への参照をすべて、func_sym2 へ の参照に置き換えます。func_sym2 シンボルは、別名でない通常の関数でなければな りません。これは、他の +afs オプションの "=" 記号の左側に置くことはできませ ん。 コマンド行で、オプションとシンボルのペアを複数使用して、関数シンボルの別名を 複数指定することができます。この場合、指定する各シンボルペアの前に、+afs オ プションを付加しなければなりません。 +allowdups 複数シンボル定義を許可します。デフォルトでは、再配置可能なオブジェクト間で複 数シンボル定義を行うと、致命的エラーの状態になります。このオプションでは、エ ラー状態を抑制し、最初のシンボル定義を使用することができます。 +b path_list -l または -l: オプションのいずれかで指定した、実行可能出力ファイルに必要な 共有ライブラリをプログラム実行時に検索するディレクトリ (埋め込みパス) をコロ ンで区切ったリストで指定します。 引き数がコロン (:) だけであれば、-L オプションおよび LPATH 環境変数 (+s オプ ションを参照) によって指定されるすべてのディレクトリを使って、ld によってリ ストを構築する必要があることを示します。 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 735 ld_pa(1) PA-RISC システム専用 ld_pa(1) 32ビットのリンクでは、リンク行に複数の +b オプションがある場合、「最初に」指 定されたものが記録されます。また、2つのコロン (::) は、リンク時にライブラリ があった位置として解釈されます。 64ビットのリンクでは、特に変えない限り、複数の +b オプションのうち「最後の」 も の が 出 力 ファ イ ル に 記 録 さ れ ま す。 こ の デ フォ ル ト の 動 作 を 変 更 す る に は、 +[no]concatrpath を使います。2つのコロン (::) には、特別な意味はありませ ん (NULL エントリーとして扱われます)。 +compat このオプションは、32 ビットリンクでは無視されます。このオプションは、64 ビッ トリンクを 32ビットリンクのように動作させる互換モードをオンにします。 +copyobjdebug objdebug スペースをコピーします。 +df file -P オプションと併用すると、このオプションは、file をプロファイルデータベース ファイルとして使用するように指定します。デフォルト値は flow.data です。 FLOW_DATA 環境変数の説明を参照してください。このオプションは、+ild オプ ションと一緒に指定することはできません。 +e symbol 共有ライブラリまたはプログラムを構築する際、ダイナミックローダーにエクスポー トするシンボルをマークします。明示的にマークしたシンボルだけがエクスポートさ れます。共有ライブラリを構築する際、エクスポートされないシンボルへの呼び出し が内部解決されます。 +ee symbol このオプションは、シンボルをエクスポートする点で +e オプションに似ています。 しかし、 +e オプションとは異なり、 +ee はファイル内の他のどのシンボルの可視 性も変更しません。 32ビットリンクまたは +compat モードの 64ビットリンクでは、デフォルトでエク スポートされるシンボルのどれも隠さないで指定のシンボルをエクスポートすると影 響がでます。64ビット +std リンクでは、全シンボルがデフォルトでエクスポート されるので、 +ee はシンボルを可視にする必要がありません。しかし、シンボルを 必要と識別することによる別の副作用があり、そのためデッドコード削除 (+Oprocelim) を使用しても除去されません。 +ee は当然、 +hideallsymbols のよう なオプションが指定されたときも、エクスポートでのふるまいは同じです。 +fb リンカーで生成された実行可能ファイル上で fastbind ツールを実行するよう、リン カーに指示します。実行可能ファイルは共有ライブラリとリンクされます。詳細は、 fastbind(1)、+help オプション、または 『HP-UX リンカー & ライブラリー ユー ザーズガイド』を参照してください。このオプションは、+ild オプションと一緒に 指定することはできません。 736 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 +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() を呼び出した場合は呼び出されません。 +fini は、-r オプションとともに使用しないでください (リンカーは +fini オプ ションを無視します)。 コマンド行で、オプションとシンボルのペアを複数使用して、ターミネータ関数を複 数指定することができます。この場合、指定する各関数の前に、+fini オプション を付加しなければなりません。 ターミネータ関数についての詳細は、+help オプションを使うか、または 『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +gst シンボルのインポート/ エクスポートエントリーの値を検索するために使用する、グ ローバルシンボルテーブルのハッシュメカニズムを有効にします。+gst と、これに 関連するオプションを使用すると、エクスポートされたシンボルの検索を高速化する グローバルシンボルテーブルが利用され、性能が向上します。詳細は dld.sl(5) と 『 HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』を参照してくださ い。 +gstsize size グローバルシンボルテーブルのハッシュメカニズムに使用するハッシュ配列のサイズ を指定します。デフォルト値は 1103 です。この値は、実行時に _HP_DLDOPTS 環 境変数へ値 -symtab_size prime number を設定することで変更できます。この値 HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 737 ld_pa(1) ld_pa(1) PA-RISC システム専用 は、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 リ ンカー & ライブラリー ユーザーズガイド』を参照してください。 +init function_name 呼び出すイニシャライザ関数を、逆順に指定します。コマンド行では、呼び出される 順に右から左へ指定します。イニシャライザ関数は「深さ優先順」に呼び出されま す。たとえば、共有ライブラリがロードされる際、依存ライブラリすべてのイニシャ ライザ関数が最初に呼び出されます。 このオプションは、共有ライブラリ、不完全な実行可能プログラム、または完全バイ ンド実行可能プログラムを構築する際に使用します。このオプションに指定する関数 は、引き数を取らず、何も返さない関数 (void 関数) である必要があります。ターミ ネータは、main() が exit() を呼び出した場合にのみ呼び出されます。main() が return() を呼び出した場合は呼び出されません。 +init は、-r オプションとともに使用しないでください (リンカーは +init オプ ションを無視します)。 コマンド行で、オプションとシンボルのペアを複数使用して、イニシャライザ関数を 複数指定することができます。この場合、指定する各関数の前に、+init オプショ 738 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 ンを付加しなければなりません。 イニシャライザ関数についての詳細は、+help オプションを使うか、または 『HPUX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +[no]inputmmap +inputmap は、リンク中に共有ライブラリの内容を読み取るために、mmap を使用 する機能を有効にします。これはデフォルトの動作です。通常、入力共有ライブラリ を mmap する方法では、ディスクから読み取ってバッファーリングする方法に比べ て、リンクが高速に行われます。 +noinputmmap は mmap 機能を無効にし、入力共有ライブラリのテキストセグメ ントを mmap しないようリンカーに通知します。リンカーはバッファーリングされ るディスク入出力 (fread) を使用して、入力共有ライブラリのテキストセグメントの 情報にアクセスします。 注記: +noinputmmap は、メモリー不足で mmap が失敗し、リンクが失敗した場 合にのみ使用してください。このオプションを指定すると、ディスクの入出力でリン ク時間が大幅に長くなるためです。 +interp file dld のパスを変更して、引き数で指定したプログラムを dld.sl の代わりに「イン タプリタ」として使用するようにします。 +k リンク中にエラーがまったく発生しなかったときだけ実行可能ファイルを作成するよ う、リンカーに指示します。 ( システムエラーや参照未解決 ) エラーが発生した場 合、出力ファイルは削除されます。 +mergeseg 共有ライブラリのセグメントマージ機能を有効にします。『HP-UX リンカー & ライ ブラリー ユーザーズガイド』で、共有ライブラリのセグメントマージについての説明 を参照してください。このオプションを指定すると、プログラムの起動時にロードさ れる共有ライブラリのデータセグメントがすべてマージされるようになります。カー ネルで大きなページテーブルエントリーを使うことが可能になるため、実行時の性能 が向上します。 +mmap 出力データを書き込むために、mmap を使用する機能を有効にします。これはデフォ ルトの動作です。mmap を有効にすると、リンカーは高速になります。 +n アーカイブライブラリや共有ライブラリを検索する前に、リンカーにオブジェクトモ ジュールをすべてロードさせます。それから、コマンド行で指定したアーカイブライ ブラリと共有ライブラリを左から右の順序で検索します。コマンド行のライブラリの 左から右への検索は、該当しないシンボルがなくなるか、新しい定義の追加がない最 後の検索になるまで繰り返されます。このオプションは、2つのライブラリに互いに 依存するシンボルが指定された場合に有効です。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 739 ld_pa(1) ld_pa(1) PA-RISC システム専用 +nocopyobjdebug objdebug スペースをコピーしません。このオプションをリンク行で -r オブジェク トファイルとともに使用すると、LINKMAP スペースを実行可能ファイルにコピーす るデフォルトの動作を抑制できます。 +noobjdebug +objdebug コンパイラオプションを無効にし、すべてのデバッグ情報を実行可能 ファイルにコピーします。 -g とともに使用すると、+objdebug はリンク時に実行可能ファイルへデバッグ情 報をコピーせず、オブジェクトファイル内にデバッグ情報を残します。これにより、 リンク時間が短縮され、実行可能ファイルが小さくなります。コンパイル時のデフォ ルトである +noobjdebug では、デバッグ情報が実行可能ファイルにコピーされま す。 コンパイル時に -g を指定すると、コンパイラはシンボリックデバッグ情報をオブ ジェクトファイルに置きます。デフォルトでは、リンカーは pxdb を呼び出して、こ の デ バッ グ 情 報 を 圧 縮 し 実 行 可 能 ファ イ ル に コ ピー し ま す。 コ ン パ イ ル 時 に +objdebug を使用すると、リンカーはデバッグ情報をオブジェクトファイル内に残 します。実行可能ファイルをデバッグするには、HP WDB デバッガがオブジェクト ファイルへのアクセス権を持っていなければなりません。オブジェクトファイルを移 動した場合は、HP WDB の objdir コマンドを使用して、オブジェクトファイルの 位置を知らせる必要があります。+objdebug オプションは、デバッグ情報のコピー を行わないことにより、リンク時間を短縮し、実行可能ファイルのサイズを小さくし ます。 コンパイル時のデフォルトは、+noobjdebug です。リンカーは +objdebug でコ ンパイルされたオブジェクトを検出すると、デバッグ情報をそれらのファイル内に残 します。+objdebug でコンパイルされていないオブジェクトファイルについては、 デバッグ情報が実行可能ファイルにコピーされます。デバッグ情報を一部のオブジェ クトファイルでは残し、他のファイルでは残さないようにできます。 アーカイブメンバーが +objdebug ではコンパイルされておらず、デバッグ情報があ る (-g でコンパイルされている) 場合、アーカイブメンバーのデバッグ情報は、デ フォルトで a.out にコピーされます。+objdebug と +noobjdebug のどちらで コンパイルされているかに関係なく、リンカーは共有ライブラリのデバッグ情報を a.out にはコピーしません。 +objdebug でコンパイルされたファイルからもデバッグ情報を実行可能ファイルに コピーするようにリンカーに明示的に指示するには、+noobjdebug オプションをリ ンク時に使用します。 +nomergeseg 共有ライブラリのセグメントマージ機能を無効にします。これはデフォルトです。 740 Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 +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 リンカー & ライブラリー ユーザーズガイド』を参照してください。 +pd size データ用に使用する仮想メモリーのページサイズを指定します。サポートされている サイズは 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, D, L です。サイズを D にす ると、使用するページのサイズをカーネルが選択します。サイズを L にすると、で きるかぎり大きなページサイズが使用されます。要求したサイズが実現できない場 合、実際のページサイズは変わることがあります。 +pgm name -P オプションと併用すると、このオプションは、プロファイルデータベースファイ ルにおけるルックアップ名として、name を使用するように指定します。デフォルト は出力ファイルのベース名です (-o オプションによって指定されます)。 このオプションは、+ild オプションと一緒に使用することはできません。 +pi size 命令用に使用する仮想メモリーのページサイズを指定します。詳細は +pd オプショ ンを参照してください。 HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 741 ld_pa(1) ld_pa(1) PA-RISC システム専用 +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 です。詳細については、後述の 「警告」の項を参照してください。 +v[no]shlibunsats 共有ライブラリが使用する未解決シンボルのリストのプリントが [disable] になって いた場合、プリントを可能にします。デフォルトの動作は、共有ライブラリのビルド が +vnoshlibunsats で、実行可能形式のビルドが +vshlibunsats です。リン カーから報告される未解決シンボルの中には、シンボルを参照するモジュールが使用 されていないために実行時に不要なものもあります。 +FP flags プログラム起動時に浮動小数点演算の環境をどのように初期化するかを指定します。 デフォルトでは、モードは IEEE 浮動小数点標準として指定されます。すなわち、ト ラップはすべて無効、段階的なアンダーフロー、最も近い値への丸めです。 +FP オプションでは、以下のモードがサポートされます (大文字のフラグは有効、小 文字のフラグは無効を表します)。 742 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 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 と同じ意味になります。 実行時にこれらの設定値を動的に変更する方法については、 fesettrapenable(3M)、 fesetflushtozero(3M)、および fesetround(3M) を参照してください。 +I symbol 共有ライブラリを構築する際、初期設定関数の名前を指定します。共有ライブラリに は、複数の初期設定操作を指定することもできます。初期設定操作は、指定した順に 実行されます。複数の初期設定操作を指定できますが、それぞれの前に +I を付けな くてはなりません。初期設定関数についての詳細は、+help オプションまたは 『 HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してください。 +O[no]fastaccess グローバルデータへの高速アクセスを可能 [ 不可] にします。リンカーは、実行可能 ファイル内の ADDIL 命令の数がさらに少なくなるように、データを配置し直しま す。 HP-UX 11i Version 2: December 2007 − 18 − Hewlett-Packard Company 743 ld_pa(1) ld_pa(1) PA-RISC システム専用 この最適化によって、データの配置に関する想定に関連した、いくつかの分かりにく いプログラミングエラーが明らかになります。また、この最適化は、最適化レベル 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 また はプロファイルベースの最適化を使用した場合に、中間オブジェクトコードをオブ ジェクトコードに再コンパイルしないので、リンク時間が短縮されます。 +Oselectivepercent n インライン処理のような手続き間最適化を、オブジェクトファイルの最初の n パーセ ントに対して高水準で行うよう、手続き間最適化ドライバに指示します。 +Oselectivesize size 手続き間最適化を、オブジェクトファイルの最初の k 個のルーチンに対して高水準で 行うよう、手続き間最適化ドライバに指示します。k には、対象ルーチンの合計サイ ズが size より小さくて一番近くなる値が選ばれます。 744 Hewlett-Packard Company − 19 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 +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 との互換性はありません。このオプションにより、データはテ キストの直後に入れられ、テキストは書き込み可能になります。このタイプのファイ ルは共有できません。 -S 出力ファイルに対してデフォルトの HP-UX 補助ヘッダーではなく、初期プログラム ローダー (IPL) の補助ヘッダーを生成します。 HP-UX 11i Version 2: December 2007 − 20 − Hewlett-Packard Company 745 ld_pa(1) ld_pa(1) PA-RISC システム専用 +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 +plabel_cache enable a.out 746 Hewlett-Packard Company − 21 − フ ラ グ を 設 定 す る と 有 効 に な り ま す (ld ま た は chatr +plabel_cache enable HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 a.out で有効になります)。 PA-RISC 64ビットオプション -emit_relocs コンパイラの生成した再配置可能セクションを出力ファイルに保存します。 -k filename 出力ファイルのメモリーマップを記述したマップファイルを指定します。 +ild オプションと一緒に、ユーザー指定のマップファイル指定を使用できます。た だし、初期インクリメンタルリンク後はマップファイルを変更しないでください。初 期リンク後にマップファイルを変更すると、初期インクリメンタルリンクが自動的に 行われます。 詳細は、『HP-UX リンカー & ライブラリー ユーザーズガイド』を参照してくださ い。また、+nodefaultmap も参照してください。 -nbucket bucketsizetype ハッシュテーブルのサイズ (ハッシュバケットの数) を最適化するために、bucketsizetype を指定します。bucketsizetype の値として指定できる値は次のとおりで す。 pow2 ハッシュバケットの数として、ライブラリにあるダイナミックシンボル の数より小さい範囲で最大の2のべき乗を設定します。 prime ハッシュバケットの数として、ライブラリにあるダイナミックシンボル の数より小さい範囲で最大の素数を設定します。 default ハッシュバケットの数として、デフォルトのサイズを設定します (現在 のデフォルトサイズは、ライブラリにあるダイナミックシンボル数の半 分になっています)。 -symbolic symbol 共有ライブラリを構築するときに、指定したシンボルへのすべての参照を、リンカー がライブラリ内に定義されているシンボルで解決するように指示します。このオプ ションは -B symbolic と似ていますが、シンボルごとに指示することができま す。 複数のオプションシンボルペアをコマンド行で使って、symbol を複数指定すること ができます。つまり、指定する各 symbol の前に、-symbolic オプションを付加し なければなりません。 symbol は、複数のシンボル名に一致する正規表現にすることもできます。正規表現 については regexp(5) で説明しています。 -w すべての警告を抑止します。 HP-UX 11i Version 2: December 2007 − 22 − Hewlett-Packard Company 747 ld_pa(1) ld_pa(1) PA-RISC システム専用 +alloc_hidden_commons 非表示「共通」シンボルの記憶領域を -r 出力に強制的に割り当てます。これは、す べての非表示「共通」シンボルを記憶領域に割り当てる -d オプションと同じです。 +alloc_hidden_commons と -d オプションの両方を指定した場合は、-d が優先 します。 +allowrorelocs (カーネル仮想環境サポートのみ) .text および .rodata のような読み取り専用の セクションに動的リロケーションの生成を許可します。通常は、読み取り専用のセク ションに動的リロケーションが必要になると、リンカーはエラーメッセージを出力し ます。詳細は 「カーネル仮想環境サポート」の項を参照してください。 +[no]allowunsats +allowunsats は、出力ファイルに未解決シンボルがある場合でもエラーのフラグ をつけません。これは再配置可能リンクおよび共有ライブラリ生成に対するデフォル トです。+noallowunsats は、出力ファイルに未解決シンボルがある場合はエラー のフラグをつけます。これはプログラムファイルに対するデフォルトです。 +[no]concatrpath +b path_list を使って指定した検索パスの連結を [無効] 有効にします。 +[no]defaultrpath デフォルトは、+defaultrpath です。+b オプションを指定しない限り、-L で指 定したパスが埋め込みパスに含まれます。+b を使うと、+b で指定したパスリスト だけが埋め込みパスに含まれます。 +nodefaultrpath オプションを使うと、-L オプションで指定したすべてのライ ブラリパスが、埋め込みパスから削除されます。リンカーは、-L オプションで指定 されたライブラリパスを、リンク時に検索します。実行時に検索されるライブラリパ スは、LD_LIBRARY_PATH 環境変数および SHLIB_PATH 環境変数で指定されてい るライブラリパス、+b リンカーオプションで指定されているライブラリパス、デ フォルトのライブラリパスだけです。 +[no]forceload +forceload は、アーカイブライブラリからすべてのオブジェクトファイルをロー ドします。デフォルトは +noforceload で、アーカイブライブラリから必要なオブ ジェクトファイルだけをロードします。モードは明示的に、あるいはデフォルトで選 択でき、変更されるまでそのモードのままです。 +hideallsymbols +e で明示的にエクスポートしない限り、すべてのシンボルのエクスポートを禁止し ます。 748 Hewlett-Packard Company − 23 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 +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 データセグメントおよびテキストセグメントのオリジンを設定します。初期インク リメンタルリンクの後にオフセットを変更すると、リンカーは初期インクリメンタ ルリンクを自動的に実行します。 • -k mapfile デフォルト以外のマップファイルを指定します。+ild オプションと一緒に、ユー ザー指定のマップファイル仕様を使用できます。ただし、初期インクリメンタルリ ンク後はマップファイルを変更しないでください。初期リンク後にマップファイル を変更すると、初期インクリメンタルリンクが自動的に行われます。 HP-UX 11i Version 2: December 2007 − 24 − Hewlett-Packard Company 749 ld_pa(1) ld_pa(1) PA-RISC システム専用 +ildnowarn インクリメンタルリンクに関する警告を抑制します。デフォルトでは、リンカーはイ ンクリメンタルリンクに関連する警告をすべて出力します。+ild と +ildrelink のどちらも指定していない場合、このオプションは無視されます。 +ildpad percentage インクリメンタルリンカーが割り当てるパディングの量を、パディングされるオブ ジェクトファイル構造のサイズに対する割合 ( percentage) で制御します。デフォルト で は、 リ ン カー は 25 % の パ ディ ン グ ス ペー ス を 割 り 当 て ま す。 +ild と +ildrelink のどちらも指定していない場合、このオプションは無視されます。 +ildrelink 出力ロードモジュールの状態にかかわらず、初期インクリメンタルリンクを実行しま す。 状況によっては (たとえば、内部パディングスペースの不足)、インクリメンタルリン カー は 初 期 イ ン ク リ メ ン タ ル リ ン ク を 強 制 的 に 実 行 す る こ と が あ り ま す。 +ildrelink オプションを使用して定期的に出力ファイルを再構築することによ り、このような予期しない初期インクリメンタルリンクが発生するのを防ぐことがで きます。 +interposer 共有ライブラリの構築時にのみ使用します。インタポジションとして使用可能な共有 ライブラリを作成します。直接バインド情報 (-B direct を参照) を使用したアプ リケーションの参照を解決する場合、ダイナミックローダーはまず仲介ライブラリを 検索します。すべての仲介ライブラリに対してシンボルを解決できなかった場合は、 直接バインディング情報が使用されます。 +[no]lazyload 共有ライブラリの遅延ローディングを有効 [ 無効] にします。+lazyload を指定し た共有ライブラリのロードは、実行中にそのライブラリが参照されるまで遅延されま す。 +lazyload 共有ライブラリの依存ライブラリは、リンク行上に明示的に指定されて いない限り、リンク時には処理されません。 LD_NOLAZYLOAD 環境変数を設定することにより、実行中に遅延ローディングを無 効にすることができます。 +linkersyms (カーネル仮想環境サポートのみ) 共有ライブラリの構築であっても、リンカー生成シ ンボルを作成します。仮想環境をサポートしているカーネルは、-b オプションを指 定して構築されます。これは、デフォルトでは共有ライブラリ内にリンカー生成シン ボルを作成しません。詳細は、「カーネル仮想環境サポート」の項を参照してくださ い。 +nobss データセグメントをゼロでパディングし、実行時に mmap を1回呼び出すだけでデー タセグメントをマッピングできるようにします。通常、データセグメントのマッピン 750 Hewlett-Packard Company − 25 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 グでは、ファイルバック記憶領域に対して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 シンボル解決から除外します。 コマンド行で、オプションとシンボルのペアを複数使用して、symbol を複数指定す ることができます。この場合、指定する各 symbol の前に、+nosymb オプションを 付加しなければなりません。 HP-UX 11i Version 2: December 2007 − 26 − Hewlett-Packard Company 751 ld_pa(1) ld_pa(1) PA-RISC システム専用 また、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 上記の情報をすべてダンプします。−v と同じです。 デフォルト 特に指示されない限り、ld はその出力を a.out と命名します。-o オプションは名前を置き換えます。実 行可能出力ファイルのタイプは SHARE_MAGIC です。-a のデフォルトの状態は、利用できれば共有ライブラ リを、利用できなければアーカイブライブラリを検索することです。デフォルトのバインド動作は deferred 752 Hewlett-Packard Company − 27 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 です。 -Z/-z オプションのデフォルト値は -Z です。 64ビットモードでは、デフォルトで +std がオンになります。 ld でのインクリメンタルリンク (64ビットモードのみ) リンク時間は、編集、コンパイル、リンク、デバッグの開発サイクルで大きなウエートを占めます。インクリ メンタルリンカー (+ild オプションと +ildrelink オプションで利用可能) は、以前のバージョンのプログ ラムの大半は再利用できること、未変更のオブジェクトファイルは処理が不要だということを利用して、リン ク時間を短くします。 インクリメンタルリンカーを使用すると、未変更のオブジェクトファイルを再リンクすることなく、以前に作 成した出力ファイル (実行可能ファイルまたは共有ライブラリ) にオブジェクトコードを挿入できます。初期イ ンクリメンタルリンク後の再リンクに必要な時間は、変更したモジュールの数に従って変化します。 リンカーには、次のリンクモードがあります。 • 通常リンク: リンカーがすべてのモジュールをリンクする、デフォルトの動作モード。 • 初期インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作 成した出力モジュールが存在しないか、存在してもインクリメンタルリンカーがインクリメンタルアップ デートを実行できない場合に開始されるモード。 • インクリメンタルリンク: インクリメンタルリンクを要求したときに、インクリメンタルリンカーが作成し た出力モジュールが存在し、インクリメンタルリンカーが初期インクリメンタルリンクを必要としない場合 に開始されるモード。 一般的に、インクリメンタルリンクは通常リンクよりもかなり高速です。初回のリンクの場合、インクリメン タルリンクは通常のリンク処理と同じ時間を必要としますが、以後のインクリメンタルリンクは通常リンクよ りもかなり高速になります。中規模のリンク (ファイル数十個、合計数メガバイト) でオブジェクト1つの変更 では、通常の ld リンクよりも一般的に 10 倍程度速くなります。インクリメンタルリンカーは、割り当てら れているパディングスペースや他の制約が許す限り、インクリメンタルリンクを実行します。リンク時間が短 くなる代りに、実行可能ファイルまたは共有ライブラリのサイズが大きくなります。 インクリメンタルリンカーは、出力ファイルのすべての構成要素に対してパディングスペースを割り当てま す。パディングによりモジュールは、ld でリンクされたモジュールよりも大きくなります。以後のインクリ メンタルリンクでオブジェクトファイルのサイズが大きくなると、インクリメンタルリンカーは利用可能なパ ディングを使い尽くしてしまう可能性があります。このような状態になると、リンカーは警告メッセージを表 示し、モジュールの初期インクリメンタルリンクを完全に行います。 オブジェクトファイルが変更されると、インクリメンタルリンカーはリンクされる実行可能ファイルや共有ラ イブラリ内にあるそのファイルの内容を置き換えるだけではなく、そのオブジェクトファイル内で定義され、 他のオブジェクトから参照されているすべてのシンボルへの参照も調整します。この処理は、インクリメンタ ルリンクされた実行可能ファイルまたは共有ライブラリに保存されている再配置レコードを参照することに HP-UX 11i Version 2: December 2007 − 28 − Hewlett-Packard Company 753 ld_pa(1) ld_pa(1) PA-RISC システム専用 よって実行されます。 初期インクリメンタルリンクでは、リンカーは入力のオブジェクトファイルおよびライブラリを、通常リンク と同じ方法で処理します。通常リンクの処理の他に、インクリメンタルリンカーはオブジェクトファイル、グ ローバルシンボル、および再配置についての情報を保存し、出力ファイル内に拡張用のセクションをパディン グします。以後のインクリメンタルリンクでは、リンカーはタイムスタンプとファイルサイズを使用してどの オブジェクトファイルが変更されたかを調べ、そのモジュールをアップデートします。 状況によっては、インクリメンタルリンカーはインクリメンタルリンクを実行できません。このような状態に なると、インクリメンタルリンカーは自動的に初期インクリメンタルリンクを実行し、インクリメンタルリン クが可能な状態にします。次の状況で、リンカーは自動的に出力ファイルの初期インクリメンタルリンクを実 行します。 • リンカーのコマンド行が変更された場合。つまり、リンカーのコマンド行が出力ファイルに格納されている コマンド行と異なる場合 (冗長オプションとトレースオプションを除く)。 • いずれかのパディングスペースを使い尽くした場合。 • モジュールが、ld -s オプションまたは ld -x オプションで、またはツール (strip(1) など) で変更され た場合。インクリメンタルリンクは、これらのオプションで削除された出力ロードモジュールの一部を必要 とします。 • インクリメンタルリンカーのバージョンに互換性がない場合。つまり、古いバージョンのリンカーで作成さ れた実行可能ファイルに対して新しいバージョンのインクリメンタルリンカーを実行した場合。 • 作業ディレクトリが新しい場合。現在のディレクトリを変更すると、インクリメンタルリンカーは初期イン クリメンタルリンクを実行します。 • アーカイブまたは共有ライブラリがリンカーコマンド行に追加されたり、リンカーコマンド行から削除され た場合。 • オブジェクトがリンカーコマンド行に追加されたり、リンカーコマンド行から削除された場合。 詳細については、『HP-UX リンカー & ライブラリー オンライン ユーザーズガイド』 (ld +help) を参照し てください。 アーカイブライブラリの処理 未解決のシンボルがある場合、インクリメンタルリンカーはアーカイブライブラリを検索します。リンカーは 未解決のシンボルに対応するすべてのアーカイブメンバーを抽出し、それらのメンバーを新しいオブジェクト ファイルとして処理します。アーカイブライブラリが変更された場合、リンカーは修正後のアーカイブライブ ラリに置き換えます。 以前のリンクでアーカイブライブラリから抽出されたオブジェクトファイルは、そのオブジェクトファイル内 で定義されているシンボルへの参照がすべて削除されても、出力ロードモジュールに残ります。リンカーは、 次回の初期インクリメンタルリンクの実行時にこれらのオブジェクトファイルを削除します。 754 Hewlett-Packard Company − 29 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 共有ライブラリの処理 初期インクリメンタルリンクでは、リンカーは共有ライブラリのシンボルテーブルを走査し、未解決のシンボ ルを通常のリンクと同様に解決します。インクリメンタルリンクでは、リンカーは共有ライブラリおよびその シンボルテーブルを処理せず、共有ライブラリの未解決は報告しません。この未解決は、ダイナミックロー ダーが実行時に検出します。コマンド行上の共有ライブラリに変更されたものがあれば、リンカーは、初期イ ンクリメンタルリンクを実行し直します。 性能 オブジェクトファイルの大半を変更した場合は、インクリメンタルリンカーによる性能の向上は期待できませ ん。 小規模なプログラムでは、インクリメンタルリンカーでリンクの速度が改善されないことがあり、大規模なプ ログラムに比べ実行可能ファイルのサイズの増加率が大きくなります。 一般的には、インクリメンタルリンク時であっても、未解決のシンボルを判断するために、リンカーはリンク 行上のすべての共有ライブラリを走査する必要があります。この処理を実行すると、インクリメンタルリンク の速度が低下することがあります。インクリメンタルリンカーは共有ライブラリの走査を行わず、共有ライブ ラリの未解決の検出をダイナミックローダーに任せます。 最終の製品モジュールを作成する場合は、インクリメンタルリンカーを使用しないでください。インクリメン タルリンカーはパディングスペースを余分に予約するため、インクリメンタルリンカーで作成したモジュール は通常のリンカーで作成したモジュールよりもかなり大きくなります。 注記: HP WDB シンボリックデバッガは、+objdebug コンパイラオプションを有効にして作成した、インクリメ ンタルリンクされたロードモジュールのデバッグのみをサポートしています。 (HP DDE デバッガは +ild オ プションをサポートしていません。) 実行可能ファイルを変更するプログラム (strip(1) など) を使用すると、ld がインクリメンタルリンクを実行 できなくなることがあります。このような状況が発生した場合、インクリメンタルリンカーはメッセージを出 力し、初期インクリメンタルリンクを実行します。 オブジェクトファイルを処理する他社のツールを使用すると、インクリメンタルリンカーで作成されたモ ジュールに予期しない結果を引き起こすことがあります。 カーネル仮想環境サポート カーネルで仮想環境をサポートするには、 (-noshared オプションの代わりに) 次のリンカーオプションを使 用してカーネルを構築します。 $ ld ... -B symbolic -b +hideallsymbols +allowrorelocs +linkersyms ... これらのオプションを使用すると、カーネルは自己完結型の共有ライブラリとして作成され、エクスポートさ れるシンボルはありません (-B symbolic、-b、および +hideallsymbols オプションで)。カーネルに は、_etext、_end、および _edata のような、リンカーで生成されるシンボルへの参照が含まれるため、 HP-UX 11i Version 2: December 2007 − 30 − Hewlett-Packard Company 755 ld_pa(1) ld_pa(1) PA-RISC システム専用 +linkersyms オプションにより、これらのシンボルを作成するようリンカーに指示します (デフォルトでは 共有ライブラリに対してはこの処理は行われません)。カーネルは、読み取り専用データ空間に対する直接の呼 び出しとリロケーションを含みます。通常、これらはリンク時に適用され、リンク時に仮想アドレスに解決さ れます。 リロケータブルカーネルの場合、リンカーは動的リロケーションを作成して、これらの参照を実行時に解決す る必要があります。+allowrorelocs オプションは、読み取り専用セクションの動的リロケーションを許可 するようにリンカーに指示します (通常、リンカーはエラーメッセージを出力します)。 セキュリティに関する制限 きめ細かい特権をサポートするシステムでは、プロセスがバイナリの拡張属性から何らかの特権を得た場合、 動的パス検索が無効になります。同じように、コンパートメントをサポートするシステムでは、バイナリに拡 張属性が設定されているためにプロセスがコンパートメントを変更した場合、動的パス検索が無効になりま す。 バイナリに拡張属性を設定する方法については、setfilexsec(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 756 Hewlett-Packard Company − 31 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 not 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 ビッ HP-UX 11i Version 2: December 2007 − 32 − Hewlett-Packard Company 757 ld_pa(1) ld_pa(1) PA-RISC システム専用 トアプリケーションでは /usr/lib/pa20_64/libgprof.sl です。 一時ファイル用のディレクトリを指定します。 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 は、共有リンクにおい 758 Hewlett-Packard Company − 33 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 てはもはや必要ないので、指定しないことに注意してください。 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 2: December 2007 − 34 − Hewlett-Packard Company 759 ld_pa(1) ld_pa(1) PA-RISC システム専用 警告 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) のシンボル。 760 Hewlett-Packard Company − 35 − HP-UX 11i Version 2: December 2007 ld_pa(1) ld_pa(1) PA-RISC システム専用 • 未解決のシンボルをリンカーによりチェック。これはときにはアーカイブライブラリ内の特定のオ ブジェクトファイルをスキップすることがあります。この警告は、-v オプションも指定した場合 にのみ表示されます。 • 共有ライブラリ内のオブジェクトのバージョン選択。 これらのメッセージは +vnocompatwarnings オプションを指定して使用不可にすることができます。 オプションセクションに記載したように、64 ビットリンカーには、存在しないオプションがいくつかありま す。次のオプションが 64ビットリンカーには、存在しません。 • -q • -A • -C • -E • -Q • -S • -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ビットの実行時の起動ファイル HP-UX 11i Version 2: December 2007 − 36 − Hewlett-Packard Company 761 ld_pa(1) ld_pa(1) PA-RISC システム専用 /usr/ccs/lib/dyncall.o 32ビットのみ。-A オプションのリンクで使用 /opt/langtools/lib/mcrt0.o 32 ビッ ト の プ ロ ファ イ リ ン グ を 伴 う 実 行 時 の 起 動 ( prof (1) を参照) ld により自動的に検索される 32 ビットのミリコードラ /usr/lib/milli.a イブラリ ld により自動的に検索される 64 ビットのミリコードラ /usr/lib/pa20_64/milli.a イブラリ /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 されます。 PA-RISC コードジェネレータ /opt/langtools/lbin/ucomp 参照 プロファイリングおよびデバッグ用ツール adb(1) アブソリュートデバッガ gprof (1) コールグラフ プロファイルデータを表示 prof (1) プロファイルデータを表示 dde(1) C、C++、FORTRAN、および Pascal のシンボリックデバッガ システムツール 762 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 コンパイラを実行 Hewlett-Packard Company − 37 − HP-UX 11i Version 2: December 2007 ld_pa(1) fastbind(1) ld_pa(1) PA-RISC システム専用 fastbind ツールを実行 nm(1) オブジェクトファイルの名称リストをプリント pc(1) HP-UX Pascal コンパイラを実行 strip(1) オブジェクトファイルから、シンボルおよび行番号情報を削除 その他 setfilexsec(1M) 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 2: December 2007 − 38 − Hewlett-Packard Company 763 ldapentry(1) ldapentry(1) 名称 ldapentry − LDAP ディレクトリ内のエントリーの追加/変更/削除 構文 ldapentry {-a | -d | -m} [-D login] [-b base] [-h host] [-p port] [-s scope] [-f] [-v] {service key | dn} 説明 ldapentry は、管理者が LDAP ディレクトリ内のエントリーの追加/ 変更/ 削除を行うためのスクリプトで す。add および modify 関数は、LDIF (RFC2849) 対応のエディターでエントリーをオープンします。 このマンページでは、コマンド行構文、環境変数、プロファイルのサポート、リソースファイル等を含めた ldapentry の使用法を説明しています。 引き数 ldapentry では以下の引き数が必要です。 {-a | -d | -m} 実行する ldapentry 操作を指定します。いずれかの操作を指定する必要があります。 -a ディレクトリに1つの新しいエントリーを追加します。追加エントリー用の LDIF テンプ レートがエディターに読み込まれます。ディレクトリ内での新しいエントリーの場所は、環 境変数 LDAP_BASEDN (定義されている場合)、テンプレート、あるいは LDAP 設定プロファ イル内のサービス記述のいずれかによって決定されます。 テンプレートについては、後述の「テンプレート」項を参照してください。 -d ディレクトリから1つのエントリーを削除します。 -m ディレクトリから1つの既存のエントリーを変更します。LDIF フォーマットのエントリーが vi エディターでオープンされます。 {service key | dn} ldapentry では、service key または dn のいずれかの引き数が必要です。 service 対象エントリーの種別を決定するサービス名で、service は以下のいずれかです。 { passwd | group | hosts | rpc | services | printers } key エントリーの一般名または UID。 dn エントリーの完全識別名。 オプション ldapentry では、以下のオプションを指定できます。これらのオプションのうちのいくつかはプロファイル または設定ファイルで指定されているデフォルト値、または ldapentry からの入力要求によって決定される ため、必須ではありません。 764 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ldapentry(1) -b base ldapentry(1) ldapentry がエントリーを検索/挿入を開始する場所を決めるための、検索/挿入位置の DN を指 定します。 このオプションは、環境変数 LDAP_BASEDN が設定されている場合は、指定しなくても構いませ ん。このオプションが指定されると、環境変数 LDAP_BASEDN での設定より優先されます。 -D login LDAP ディレクトリでのエントリー追加/変更/削除権限を持つ管理者の DN を指定します。 このオプションは、環境変数 LDAP_BINDDN が設定されている場合は、指定しなくても構いませ ん。このオプションが指定されると、環境変数 LDAP_BINDDN での設定より優先されます。 -f 警告を出して、コマンドの実行を強制します。 -h host LDAP ディレクトリのホスト名を指定します。指定されていない場合、ldapentry はローカルホ ストを使用します。 -p port LDAP ディレクトリが使用する TCP ポート番号を指定します。指定されていない場合、ldapentry デフォルトのポート番号 398 を使用します。 -s scope 検索のスコープを指定します。scope は次のいずれかの値です。 base -b オプションまたは環境変数 LDAP_BASEDN で指定されているエントリーだけを検索し ます。 one -b オプションで指定されているエントリーの直下の子エントリーだけを検索します。 Only the children is searched, the actual entry specified in 検索されるのは子エントリー だけで、-b オプションで指定されているエントリー自体は検索されません。 sub -b オプションで指定されているエントリーとその子孫エントリーをすべて検索します。 -b オプションで指定された位置から、サブツリー検索が実行されます。 これがデフォルトです。 -v 詳細情報を表示します。 テンプレート ldapentry の add 関数は、/etc/opt/ldapux/ldapentry.templates にあるテンプレートファイル からエントリーをオープンして、追加するエントリーを編集できるようにします。テンプレートはカスタマイ ズ可能で、変数は ldapentry の実行時に定義されます。 セキュリティ上の制限事項 LDAP 管理者のパスワードは必須パラメータですが、セキュリティ上の理由からコマンド行で指定しなくても 構いません。入力要求に応じて入力することも、後述の「構成変数」項で説明されている環境変数で指定する こともできます。 エントリーを追加する場合、機密情報 (userpassword:など) は、エディター終了後に入力が要求されます。 ただし、modify 関数では、すべての情報をエディター内 ( セキュリティ保護されていないテキストとして) で入力する必要があります。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 765 ldapentry(1) ldapentry(1) 外部からの影響 ldapentry コマンドでは、環境変数、設定ファイル、LDAP 構成プロファイルでの設定を受け付けます。 構成変数 ldapentry では、構成変数を以下の場所で指定できます。(優先順で記載) 1. ローカルの環境変数。 2. ローカルのユーザー rc 構成ファイル (˜/.ux_ldap_admin_rc)。 3. グローバル構成ファイル (/etc/opt/ldapux/client_admin.conf)。 ldapentry は、LDAP-UX の setup プログラム /opt/ldapux/config/setup で作成されたディレクト リ構成プロファイルから構成パラメータのデフォルト値を取得します。 環境変数での設定は、ユーザー rc ファイルで設定された構成パラメータより優先されます。rc ファイルで の設定は、グローバル構成ファイルでの設定より優先されます。グローバル構成ファイルでの設定は、ディレ クトリ構成プロファイルでの設定より優先されます。 例: 各構成ファイルで次のように設定されている場合、 ˜/.ux_ldap_admin_rc LDAP_HOST=my.host.com /etc/opt/ldapux/client_admin.conf LDAP_HOST=your.host.com ldapentry では LDAP_HOST=my.host.com だけが使用されます。 環境変数 以下の変数を、シェルの環境変数または上述の2つの構成ファイルのいずれかで指定できます。 EDITOR エントリーの追加変更時に使用するエディター名 (デフォルトは vi エディター)。 INSERT_BASE ldapentry が新しいエントリーを挿入する場所の DN。環境変数 LDAP_BASEDN ま たは構成プロファイルで定義されているデフォルト値が使用されます。INSERT_BASE はエントリーの追加時にのみ使用されます。 LDAP_BASEDN ldapentry がエントリーの検索を開始する位置の DN を指定します。この変数が設定 されていて、LDAP_SCOPE が設定されていない場合には、LDAP_SCOPE はデフォルト の sub に設定されます。 LDAP_BINDCRED LDAP 管理者のパスワード。 *** 構成ファイルに保存してはいけません。 *** LDAP_BINDDN エントリーを追加削除変更可能な LDAP 管理者の DN。 LDAP_HOST LDAP ディレクトリサーバーのホスト名。LDAP_HOST は hostname: port 形式で指定 します。 port が指定されていない場合、ldapentry は、自動的にデフォルトの 389 766 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ldapentry(1) ldapentry(1) (RFC2251 標準で推奨) を使用します。 LDAP_SCOPE LDAP_BASEDN に 対 す る LDAP 検 索 の 種 別 (sub 、 one 、 base) を 指 定 し ま す。 LDAP_SCOPE を指定している場合は、LDAP_BASEDN も指定する必要があります。 構成ファイル ˜/.ux_ldap_admin_rc ファイルは、ユーザーごとの変数定義に使用し、 /etc/opt/ldapux/client_admin.conf ファイルは、システム上のすべてのユーザーに対してグローバル な変数定義に使用します。 構成ファイルは、PARAM=value の形式で記述します。 例: LDAP_HOST=myhost LDAP_BINDDN="cn=Directory Manager" LDAP-UX プロファイル LDAP 管理ツールは、/etc/opt/ldapux/ldapux_client.conf ディレクトリにある構成プロファイルで 指定されているディレクトリから構成情報を取得します。 LDAP プロファイル情報は NIS クライアントでは利用できません。 例 ldapentry -m passwd jamesf ldapentry -va group Management ldapentry -df group Management ファイル /opt/ldapux/bin/ldapentry /opt/ldapux/bin/ldap_del_entry /opt/ldapux/bin/ldap_mod_entry /opt/ldapux/bin/ldap_new_entry /opt/ldapux/bin/ldifdiff /etc/opt/ldapux/ldapentry.intl /etc/opt/ldapux/ldapentry.templates ˜/.ux_ldap_admin_rc /etc/opt/ldapux/ldapux_client.conf 参照 ldapclientd(1M), ldapclientd.conf(4), ldapux(5), pam_authz(5), pam_ldap(5) LDIF RFC2849 LDAPv3 RFC2251 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 767 ldapschema(1) ldapschema(1) 名称 ldapschema − LDAP ディレクトリサーバー上の LDAP スキーマのステータスの調査。新しい属性タイプとオ ブジェクトクラスによる LDAP ディレクトリサーバーのスキーマの拡張 構文 ldapschema −q schema −T ds_type −V ds_version [options] ldapschema −e schema −T ds_type −V ds_version [options] 説明 ldapschema ユーティリティを使うと、スキーマの開発者は身近な XML 構文を使って LDAP スキーマを定 義できるため、ディレクトリサーバーのカスタマイズ版をサポートする作業を大幅に簡略化できます。この ユーティリティを使って、LDAP ディレクトリサーバー上の LDAP スキーマの現在のステータスを照会する ことや、LDAP ディレクトリサーバーのスキーマを新しい属性タイプとオブジェクトクラスで拡張することが できます。ldapschema ユーティリティは複数のベンダーのディレクトリサーバーをサポートするように設 計されており、現在は Netscape Directory Server、Red Hat Directory Server、および Microsoft Windows Active Directory Server をサポートしています。 ldapschema は、次の2つの操作モードをサポートしています。 1. 照会モード。 LDAP ディレクトリサーバー上の LDAP スキーマの、現在のステータスを調べます。 ldapschema は、LDAP スキーマの属性タイプやオブジェクトクラスが、すでに LDAP サーバー上にイ ンストールされているかチェックします。また、LDAP サーバーにインストールされている定義が、照会 対象のスキーマ定義ファイル中で指定されている定義と一致するかどうかを調べます。 2. 拡張モード。 LDAP サーバー上にまだインストールされていない属性タイプやオブジェクトクラスの定義 を、LDAP サーバーのスキーマに追加します。LDAP サーバーのスキーマに追加できるのは、新規の正し い属性タイプとオブジェクトクラスだけです。ldapschema ユーティリティを 拡張モードで実行するため には、多くの LDAP ディレクトリサーバーでは、サーバー上のスキーマを変更する権限を持つ管理者の識 別名とパスワードを指定する必要があります。 ldapschema は、以下の XML ファイルを使います。 • LDAP スキーマ定義ファイル (下記の 「スキーマ定義ファイル」を参照)。 • LDAP サーバーでサポートされている照合規則と構文を含むファイル (LDAP サーバーが直接用意していな い場合。下記の 「LDAP ディレクトリサーバー定義ファイル」を参照)。 • サポートされていない照合規則と構文に対するマッピング規則のファイル (下記の 「サポートされていない 照合規則と LDAP 構文のマッピング」を参照)。 このマンページでは、コマンド行、環境変数、および XML ファイルの形式など、ldapschema の使用方法 について説明します。 768 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) 必須オプション ldapschema には、以下のオプションが必要です。 −q schema LDAP ディレクトリサーバーへの変更を行うことなく、LDAP ディレクトリサーバー上のスキー マのステータスを照会します。スキーマの定義は、指定した schema ファイルから取得されま す。詳細は、「スキーマ定義ファイル」を参照してください。 −e schema 指定した schema 内に定義されている属性タイプとオブジェクトクラスで、LDAP ディレクトリ サーバーのスキーマを拡張します。スキーマの定義は、schema ファイルから取得されます。詳 細は、「スキーマ定義ファイル」を参照してください。多くの LDAP ディレクトリサーバーで は、このオプションを指定すると、−D binddn オプションを指定する必要があり、またディレ クトリサーバーのスキーマを変更する権限を持つ管理者であることを証明するために、 −j filename オプションまたは −w − オプションを指定する必要があります。 −T ds_type LDAP ディレクトリサーバーのタイプを指定します。ldapschema は、以下のタイプの LDAP ディレクトリサーバーを完全にサポートしています。 ディレクトリサーバーのタイプ ds_type Active Directory Server ads Red Hat Directory Server rhds ldapschema ユーティリティは、他のタイプの LDAPv3 ディレクトリサーバーでも使用できま すが、その動作は検証されていません。 以下の LDAPv3 ディレクトリサーバーの名前は、将来のサポートのために予約されています。 ディレクトリサーバーのタイプ ds_type Oracle Internet Directory oracle Novell e-Directory eDirectory IBM Tivoli Directory Server ibm MAC OS X Directory Server mac Computer Associates DS ca Sun ONE Directory Server sun iPlanet Directory Server iPlanet −V ds_version LDAP ディレクトリサーバーのバージョンを指定します。この −V オプションで指定したバー ジョンと ldapschema ユーティリティが処理する XML ファイルに定義されているバージョン は、strcasecmp() 関数で比較されます。 たとえば、スキーマ定義ファイルに以下のオブジェクトクラス定義が含まれているとします。 <objectClassDefinition> <oid>1.2.345.6.789</oid> <name>sampleObject</name> HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 769 ldapschema(1) ldapschema(1) <must>sampleAttributeA</must> <must only="rhds" versionGreaterOrEqual="6.2">sampleAttributeB</must> </objectClassDefinition> ds_version に 6.2.1 を指定して ldapschema ユーティリティを呼び出すと、sampleAttributeA と sampleAttributeB の2つの属性が、 sampleObject 定義で必須となります。 strcasecmp ("6.2.1", "6.2") は正の整数を返すため、sampleAttributeB が、オブジェクトクラス sampleObject の定義に含まれます。 一方、 ds_version に 6.02.1 を指定して ldapschema ユーティリティを呼び出すと、 sampleObject 定義で必須となる属性は、sampleAttributeA だけです。strcasecmp ("6.02.1", "6.2") は負の整数を返すため、sampleAttributeB は、オブジェクトクラス sampleObject の 定義には含まれません。 LDAP ディレクトリサーバーのバージョン限定属性 versionGreaterOrEqual と versionLessThan が処理対象の XML ファイル (スキーマ定義ファイル、LDAP ディレクトリサーバー 定義ファイル、およびマッピング規則ファイルなど) で使われていなければ、ldapschema ユー ティリティは ds_version を無視します。versionGreaterOrEqual 属性が設定された定義が XML ファイルに記述されている場合、ディレクトリ固有の情報が LDAP スキーマ定義に含まれ るためには、 strcasecmp() がゼロまたは正の整数を返さなければなりません。 versionLessThan 属性が設定された定義が XML ファイルに記述されている場合、ディレクトリ固有の 情報が LDAP スキーマ定義に含まれるためには、strcasecmp() が負の整数を返さなければな りません。また、 LDAP ディレクトリサーバーのバージョンの範囲を定義するために、 versionGreaterOrEqual と versionLessThan を同時に使うこともできます。詳細は、「ディ レクトリ固有情報の指定」を参照してください。 追加オプション ldapschema は、以下の追加オプションをサポートしています。 −h hostname LDAP ディレクトリサーバーのホスト名または IP アドレスを指定します。 デフォルト値: localhost −p port LDAP ディレクトリサーバーの TCP ポート番号を指定します。 デフォルト値: 通常の接続の場合は 389、SSL 接続の場合は 636。 −D binddn LDAP ディレクトリサーバーのスキーマの、読み取りおよび変更の権限を持つ管理者の識別名を 指定します。 −j filename 指定されたファイルから、管理者のパスワードを読み取ります (簡易認証用)。 770 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) −w − プロンプトから、管理者のパスワードを読み取ります (簡易認証用)。 −Z SSL 暗号化接続を確立します。 −ZZ TLS 要求を開始します。 −ZZZ TLS 要求の開始を強制します (サーバーの応答が成功している必要があります)。 −P path cert8.db ファイルと key3.db ファイルを含む SSL 証明書データベースへのパスを指定します。 デフォルト値: /etc/opt/ldapux −3 −s − SSL 証明書中のホスト名を検証します。 属性タイプ内の構文置換を無効にします。通常は、LDAP ディレクトリサーバーがサポートして いない LDAP 構文を属性タイプで使うと、その構文は、サーバーがサポートしている、より高い レベルの (より包括的な) 構文を使うようにマッピングされます。このオプションを指定すると、 サポートされていない LDAP 構文を使っている属性タイプは、LDAP ディレクトリサーバーの スキーマには追加されません。詳細は、「サポートされていない照合規則と LDAP 構文のマッピ ング」を参照してください。 −m − 属性タイプ内の照合規則置換を無効にします。通常は、LDAP ディレクトリサーバーがサポート していない照合規則を属性タイプで使うと、その規則は、サーバーがサポートしている、より高 いレベルの (限定度が低い) 照合規則を使うようにマッピングされます。このオプションを指定す ると、サポートされていない照合規則を使っている属性タイプは、LDAP ディレクトリサーバー のスキーマには追加されません。詳細は、「サポートされていない照合規則と LDAP 構文のマッ ピング」を参照してください。 −f filename 指定したファイルに、スキーマ拡張命令を格納します。 ファイルの形式は、ベンダーや、LDAP ディレクトリサーバーのバージョンにより異なります ( 通常は、LDIF)。このオプションを指定したときには ldapschema は LDAP ディレクトリサー バーやそのスキーマに変更を適用しません。 このオションを指定すると、−e オプションも指定する必要があります。filename にダッシュを 指定すると (−f −)、出力は標準出力にリダイレクトされます。ダッシュを指定しなかった場合 は、filename で指定したファイルに出力が格納されます。 −F スキーマに無効な属性タイプやオブジェクトクラスの定義が含まれていたり、LDAP ディレクト リサーバーに一部のコンポーネントがすでにインストールされていて、その定義がスキーマファ イルで指定されている定義と異なっていても、強制的にスキーマをインストールします。 −v 詳細情報を標準出力に表示します。 LDAP サーバー上のスキーマを拡張するには、以下の手順を実行してください。 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 771 ldapschema(1) ldapschema(1) 1. まず ldapschema を照会モードで実行 (−q オプションを使用) して、スキーマの全般的なステータスを 調べます。 2. 無効な属性タイプまたはオブジェクトクラスの定義があれば、訂正します。 3. ldapschema を拡張モードで実行 (−e オプションを使用) して、LDAP サーバー上に新しいスキーマエ レメントをインストールします。 無効または互換性のない属性タイプやオブジェクトクラスを含むスキーマを拡張することはお勧めできませ ん。無効または互換性のない定義を含むスキーマファイル内に定義されているエレメントをインストールする ためには、強制オプション (-F) を指定する必要があります。 セキュリティ セキュリティ上の理由で、LDAP 管理者のパスワードは、コマンド行上には指定できません。パスワードはプ ロンプトに対して入力するか (−w − を使用)、ファイル内に指定するか (−j filename を使用)、下記の 「構 成変数」で説明する LDAP_BINDCRED 環境変数を使います。 構成変数 ldapschema ユーティリティは、以下のシェル環境変数を認識します。 LDAP_BINDDN LDAP ディレクトリサーバーのスキーマの読み取りおよび変更の権限を持つ管理者の識別名 です。 LDAP_BINDCRED 上記の特権 LDAP ユーザーのパスワードです。 LDAP_HOST LDAP ディレクトリサーバーのホスト名です。 LDAP_HOST は、 hostname: port という形式で指定します。 port を指定しないと、デフォルトのポート番号が使われ、通常接続の場合は 389、SSL 接続 の場合は 636 になります。 コ マ ン ド 行 で オ プ ショ ン を 指 定 す る と、 環 境 変 数 よ り 優 先 さ れ ま す。 た と え ば、 コ マ ン ド 行 で −j /tmp/secret.txt を指定し、LDAP_BINDCRED 環境変数が設定されている場合、LDAP ディレクトリサー バーの管理者のパスワードは、/tmp/secret.txt というファイルから取得されます。 スキーマ定義ファイル ldapschema ユーティリティは、 XML スキーマ定義ファイルをベースとして、 LDAP ディレクトリサー バーの照会と拡張を行います。−q オプションや −e オプションで指定する schema 引き数は、適切なスキー マ定義を含む XML ファイルでなければなりません。 各スキーマ定義ファイルは、/etc/opt/ldapux/schema/schema.dtd ファイルに指定されている Document Type Definition (DTD) テンプレートに従わなければなりません。そのため、ldapschema で使用する 各 XML ファイルでは、その DTD として /etc/opt/ldapux/schema/schema.dtd をインクルードしな ければなりません。下記の例の Line 2 を参照してください。 772 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) 警告: ldapschema ユーティリティで使用する各 XML ファイルでは、その DTD テンプレートとし て /etc/opt/ldapux/schema/schema.dtd ファイルをインクルードしなければなりません。この ファイルは変更しないようにしてください。変更する場合は、独自の DTD テンプレートファイルを作 成してください。/etc/opt/ldapux/schema/schema.dtd ファイルは、属性タイプとオブジェク トクラスの定義を LDAP ディレクトリサーバースキーマに追加する前に、それらを検証するために用 意されています。このファイルを変更すると、ldapschema が失敗する原因になります。 <schemaDefinition> タグで囲まれたスキーマ定義では、スキーマ名、スキーマの説明、およびスキーマ ソースを指定し、その後に任意の個数の属性タイプおよびオブジェクトクラスの定義を指定します。 スキーマ名、説明、およびソース XML タグに対する制限はありません。下記の例の Line 6-8 を参照してくだ さい。これらのタグは省略可能です。スキーマソースは、拡張属性タイプとオブジェクトクラスの X-ORIGIN フィールドを指定するために使われます。 一般的なスキーマ情報を指定した後、属性タイプがあれば、属性タイプを指定して、その後にオブジェクトク ラス定義を指定します。下記の例では、RFC 3712 で規定されているように、2つの属性タイプ printer-name (Line 10-19) と printer-aliases (Line 21-29) を定義し、その後に1つのオブジェクトクラス printerLPR (Line 31-38) を定義しています。 Line 1: <?xml version="1.0" encoding="UTF-8"?> Line 2: <!DOCTYPE schemaDefinition SYSTEM "/etc/opt/ldapux/schema/schema.dtd"> Line 3: Line 4: <schemaDefinition> Line 5: Line 6: <schemaName>rfc3712</schemaName> Line 7: <schemaDescription>Printer Services Schema</schemaDescription> Line 8: <schemaSource>RFC 3712</schemaSource> Line 9: Line 10: <attributeTypeDefinition> Line 11: <oid>1.3.18.0.2.4.1135</oid> Line 12: <name>printer-name</name> Line 13: <desc>A site-specific administrative name of this printer</desc> Line 14: <equality>caseIgnoreMatch</equality> Line 15: <substr>caseIgnoreSubstringsMatch</substr> Line 16: <syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax> Line 17: <length>127</length> Line 18: <singleValued/> Line 19: </attributeTypeDefinition> Line 20: Line 21: <attributeTypeDefinition> Line 22: <oid>1.3.18.0.2.4.1108</oid> HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 773 ldapschema(1) ldapschema(1) Line 23: <name>printer-aliases</name> Line 24: <desc>Names in addition to the printer-name value</desc> Line 25: <equality>caseIgnoreMatch</equality> Line 26: <substr>caseIgnoreSubstringsMatch</substr> Line 27: <syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax> Line 28: <length>127</length> Line 29: </attributeTypeDefinition> Line 30: Line 31: <objectClassDefinition> Line 32: <oid>1.3.18.0.2.6.253</oid> Line 33: <name>printerLPR</name> Line 34: <desc>LPR information</desc> Line 35: <type>AUXILIARY</type> Line 36: <must>printer-name</must> Line 37: <may>printer-aliases</may> Line 38: </objectClassDefinition> Line 39: Line 40: </schemaDefinition> Line 1-2 は、すべてのスキーマ定義ファイルに必要です。属性タイプとオブジェクトクラスの定義は、RFC 2252 で規定されている形式に厳密に従います。<dsSpecific> タグのフィールドを除き、すべての XML タ グに指定する値は、引用符で囲んではなりません。スペースを含むことができるのは、説明フィールド (<desc>...</desc> タグで囲まれている) だけです。 属性タイプの定義 各 <attributeTypeDefinition> には、以下のタグ (大文字と小文字の区別あり) を、この順で含めること ができます。 <oid> 必須。数値の ID を1つだけ指定します。<oid> 値は、RFC 2252 で規定されている形式に 従わなければなりません。 <name> 必須。属性タイプの名前を少なくとも1つ指定しなければなりません。名前の値を引用符で囲 まないでください。<name> 値は、RFC 2252 で規定されている形式に従わなければなりま せん。 <displayName> オプション。最大1つのディスプレイ名を指定できます。このタグは、LDAP クライアント と管理ツールが使う属性タイプのディスプレイ名を指定します。現在、<displayName> は Active Directory Server (ADS) にのみ適用され、<name> 値と異なる場合、lDAPDisplayName と adminDisplayName を指定します。 774 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 ldapschema(1) <desc> <obsolete> ldapschema(1) オプション。最大1つの説明を指定できます。説明の値は引用符で囲まないでください。 オプション。該当する場合だけ使います。廃止予定の属性タイプは、他の属性タイプやオブ ジェクトクラスの定義で使うことはできません。最大1つの廃止予定のフラグを指定できま す。 <subTypeOf> オプション。属性タイプにスーパータイプがある場合に使います。最大1つのスーパータイプ を指定できます。指定するスーパータイプは、すでに LDAP ディレクトリサーバー上に存在 しているか、同じスキーマ定義ファイル内でその定義が記述されていなければなりません。 <equality> オプション。最大1つの等値規則を指定できます。 <ordering> オプション。最大1つの順序規則を指定できます。 <substr> オプション。最大1つの部分文字列規則を指定できます。 <syntax> 属性タイプにスーパータイプがない場合に必要です。最大1つの LDAP 構文を指定できま す。 <length> オプション。属性の値の最大長を示します。RFC 2252 では、属性タイプの構文の後に大かっ こで囲んでこの値を指定します。たとえば、SYNTAX 1.3.6.4.1.1466.0{64} は、次のタ グを使って表現できます。 <syntax>1.3.6.4.1.1466.0</syntax> <length>64</length> 最大1つの属性の長さを指定できます。<length> には、正の整数値を指定しなければなり ません。 <singleValued> オプション。SINGLE-VALUE フラグが設定されている場合に使います。最大1つの singleValued フラグを指定できます。 <collective> オプション。 COLLECTIVE-VALUE フラグが設定されている場合に使います。最大1つの collective フラグを指定できます。 <noUserModification> オプション。NO-USER-MODIFICATION フラグが設定されている場合に使います。最大1つ の noUserModification フラグを指定できます。 <usage> オプション。userApplications、directoryOperation、distributedOperation、 または dSAOperation のいずれかの値でなければなりません。最大1つの usage 値を指 定できます。 <indexed> オプション。属性タイプにインデックスが必要な場合に使います。最大1つの indexed フ ラグを設定できます。 HP-UX 11i Version 2: December 2007 −8− Hewlett-Packard Company 775 ldapschema(1) ldapschema(1) <dsSpecific> オプション。属性タイプについてのディレクトリ固有情報を指定するために使います。詳細 は、「ディレクトリ固有情報の指定」を参照してください。 属性タイプを LDAP ディレクトリサーバーのスキーマに追加するためには、各属性タイプ定義は、以下の条件 を満たしていなければなりません。 • 属性タイプには、RFC 2252 で規定されている形式に従う、数値の OID がある。 • 属性タイプには、名前が少なくとも1つある。各名前は、RFC 2252 で規定されている形式に従っていなけ ればなりません。 • スキーマ定義ファイル内または LDAP ディレクトリサーバー上に、OID や、名前の値が同じである、他の 属性タイプがない。 • この属性タイプで使うスーパータイプが定義されている。 • 属性タイプには、LDAP 構文値、またはスーパータイプが指定されている。一部のディレクトリサーバー ( たとえば ADS) では、属性タイプの継承はサポートしていません。このようなディレクトリサーバーで は、サブタイプ属性の LDAP 構文は、スーパータイプ定義から取得され、スーパータイプとサブタイプの 関係は無視されます。 • 属性タイプで使う照合規則と構文を、LDAP ディレクトリサーバーがサポートしている。詳細は、「サ ポートされていない照合規則と LDAP 構文のマッピング」を参照してください。 • 継承の階層が循環していない (スーパークラスとサブクラスの依存関係が環状になっていない)。 • 属性タイプにスーパータイプがある場合、どちらも同じ USAGE 値を持つ。 オブジェクトクラスの定義 各 <objectClassDefinition> には、以下のタグ (大文字小文字の区別あり) を、この順で含めることがで きます。 <oid> 必須。数値の ID を1つだけ指定します。<oid> 値は、RFC 2252 で規定されている形式に 従わなければなりません。 <name> 必須。オブジェクトクラス名を少なくとも1つ指定しなければなりません。名前の値を引用符 で囲まないでください。<name> 値は、RFC 2252 で規定されている形式に従わなければな りません。 <displayName> オプション。最大1つのディスプレイ名を指定できます。このタグは、LDAP クライアント と管理ツールが使うオブジェクトクラスのディスプレイ名を指定します。現在、<displayName> は Active Directory Server (ADS) にのみ適用され、 <name> 値と異なる場合、 lDAPDisplayName と adminDisplayName を指定します。 776 Hewlett-Packard Company −9− HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) <desc> オプション。最大1つの説明を指定できます。説明の値は引用符で囲まないでください。 <obsolete> オプション。該当する場合だけ使います。廃止予定のオブジェクトクラスは、他のオブジェク トクラスの定義で使うことはできません。最大1つの廃止予定のフラグを指定できます。 <subClassOf> オプション。オブジェクトクラスにスーパークラスがある場合に使います。指定するスーパー クラスは、すでに LDAP ディレクトリサーバー上に存在しているか、同じスキーマ定義ファ イル内でその定義が記述されていなければなりません。 <type> オプション。値は STRUCTURAL、AUXILIARY、または ABSTRACT のいずれかでなければな りません。最大1つのタイプ値を指定できます。 <must> オプション。オブジェクトクラスに必須の属性がある場合に使います。指定する属性は、すで に LDAP ディレクトリサーバー上に存在しているか、同じスキーマ定義ファイル内でその定 義が記述されていなければなりません。 <may> オプション。オブジェクトクラスにオプションの属性がある場合に使います。指定する属性 は、すでに LDAP ディレクトリサーバー上に存在しているか、同じスキーマ定義ファイル内 でその定義が記述されていなければなりません。 <rdn> オプション。このオブジェクトクラスで作成される新しいエントリーの Relative Distinguished Name (RDN) で使う、推奨する属性を定義します。現在 <rdn> が適用されるの は、Active Directory Server (ADS) だけです。最大1つの RDN を指定できます。 <extendAuxiliaryClass> オプション。 AUXILIARY オブジェクトクラスだけに適用されます。このタグは、 LDAP サーバースキーマ内にすでに定義されているオブジェクトを、新しい AUXILIARY オブジェ クトクラスで拡張するために使われます。現在、 <extendAuxiliaryClass> は Active Directory Server (ADS) だけに適用され、新しい AUXILIARY クラスを、LDAP サーバーの スキーマですでに定義されている別のオブジェクトクラスの定義内の auxiliaryClass と して含めます。 <dsSpecific> オプション。属性タイプについてのディレクトリ固有の情報を指定するために使います。詳細 は、「ディレクトリ固有情報の指定」を参照してください。 オブジェクトクラスを LDAP ディレクトリサーバーのスキーマに追加するためには、各オブジェクトクラス定 義は、次の条件を満たしていなければなりません。 • オブジェクトクラスには、RFC 2252 で規定されている形式に従う、数値の OID がある。 • オブジェクトクラスには、名前が少なくとも1つある。各名前は、RFC 2252 で規定されている形式に従っ ていなければならない。 HP-UX 11i Version 2: December 2007 − 10 − Hewlett-Packard Company 777 ldapschema(1) ldapschema(1) • スキーマ定義ファイル内または LDAP ディレクトリサーバー上に、OID や、名前の値が同じである、他の オブジェクトクラスがない。 • このオブジェクトクラスで使うスーパークラスが定義されている。 • このオブジェクトクラスで使う属性が定義されている。 • 継承の階層が循環していない (スーパークラスとサブクラスの依存関係が環状になっていない)。 • ABSTRACT オブジェクトクラスがそのスーパークラスとして指定できるのは、ABSTRACT オブジェクトク ラスだけである。 • AUXILIARY オブジェクトクラスはそのスーパークラスとして、ABSTRACT オブジェクトクラスまたは AUXILIATY オブジェクトクラスを指定できる。 • STRUCTURAL オブジェクトクラスはそのスーパークラスとして、ABSTRACT オブジェクトクラスまたは STRUCTURAL オブジェクトクラスを指定できる。 定義済みのスキーマ定義ファイル 以下の LDAP スキーマ定義ファイルは、LDAP-UX 製品と共に配布されます。 • /etc/opt/ldapux/schema/rfc2256.xml • /etc/opt/ldapux/schema/rfc2307.xml • /etc/opt/ldapux/schema/rfc2307-bis.xml • /etc/opt/ldapux/schema/rfc2926.xml • /etc/opt/ldapux/schema/rfc3712.xml これらのファイルは、ldapschema ユーティリティで使う新しい LDAP スキーマ定義ファイルを定義する方 法を示す例として提供されています。これらのファイルは、多くの LDAP ディレクトリサーバーでプレインス トールされている属性タイプやオブジェクトクラスを定義しているため、LDAP ディレクトリサーバーのス キーマの拡張を目的とはしていません。これらのファイルは、新しい属性タイプやオブジェクトクラス定義で LDAP ディレクトリサーバーのスキーマの照会や拡張を行うための新しいスキーマ定義ファイルを作成すると きのリファレンスとして提供されています。 ディレクトリ固有情報の指定 <dsSpecific> タグを使って、ディレクトリ固有情報付きで属性タイプやオブジェクトクラス定義を拡張で きます。この方法は、タイプやバージョンの異なる複数の LDAP ディレクトリサーバーに対して、単一のス キーマ定義ファイルを維持するのに役立ちます。次の例は、単一の属性タイプ定義を変更して、 Red Hat Directory Server と Active Directory Server の、ディレクトリサーバー固有の定義を同時にサポートする方 法を示しています。 Line 1: 778 <attributeTypeDefinition> Line 2: <oid>1.23.456.7.89101112.1.314.1.51.6</oid> Line 3: <name>sampleAttribute</name> Hewlett-Packard Company − 11 − HP-UX 11i Version 2: December 2007 ldapschema(1) Line 4: Line 5: ldapschema(1) <displayName only="ads" versionGreaterOrEqual="2003">my-sample-attribute</displayName> Line 6: <equality>caseIgnoreMatch</equality> Line 7: <syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax> Line 8: <dsSpecific vendor="rhds" versionGreaterOrEqual="6.2" Line 9: Line 10: versionLessThan="7.1"> <field attr="X-ORIGIN">’Custom Schema’</field> Line 11: </dsSpecific> Line 12: <dsSpecific vendor="ads" versionLessThan="2003"> Line 13: <field attr="systemOnly">TRUE</field> Line 14: <field attr="rangeLower">256</field> Line 15: </dsSpecific> Line 16: <dsSpecific vendor="ads" versionGreaterOrEqual="2003"> Line 17: Line 18: <field attr="rangeLower">512</field> </dsSpecific> Line 19: </attributeTypeDefinition> Red Hat Directory Server 6.2 ∼ 7.0 で は、 sampleAttribute の X-ORIGIN フ ラ グ に は、 dsSpecific フィールドに指定されているように、’Custom Schema’ が設定されます。Red Hat Directory Server 6.1 およびそれ以前、または 7.1 以降では、sampleAttribute の X-ORIGIN フラグには、<schemaSource> タ グで指定されている値が設定されます。 Active Directory Server 2000 では、sampleAttribute は、<name> 値で指定されたとおりのディスプレイ名 を使って、rangeLower 属性に 256 が設定され、systemOnly 属性に TRUE が設定された状態で追加さ れます。 Active Directory Server 2003 では、 sampleAttribute は、 my-sample-attribute ディスプレイ名を使って、 rangeLower 属性に 512 が設定され、systemOnly 属性に FALSE が設定された状態で追加されます。 また、1.3.6.1.4.1.1466.115.121.1.15 構文は ADS ではサポートされていないため、ADS でサポート されている、対応する Directory String 構文、attributeSyntax=2.5.5.12 oMSyntax=64 にマッピン グされます。詳細は、「サポートされていない照合規則と LDAP 構文のマッピング」を参照してください。 ディレクトリ固有の情報は、オブジェクトクラス定義でも指定できます。 Line 1: <objectClassDefinition> Line 2: <oid>1.23.456.7.89101112.1.314.1.51.7</oid> Line 3: <name>sampleObject</name> Line 4: <must only="ads">serverRole</must> Line 5: <must not="ads">userPassword</must> Line 6: <may>sampleAttribute</may> Line 7: <dsSpecific vendor="ads"> Line 8: <field attr="systemOnly">TRUE</field> HP-UX 11i Version 2: December 2007 − 12 − Hewlett-Packard Company 779 ldapschema(1) Line 9: ldapschema(1) </dsSpecific> Line 10: </objectClassDefinition> Active Directory Server では、このオブジェクトクラスには必須の属性タイプ serverRole と、オプションの 属性 sampleAttribute があります。他のすべてのタイプのディレクトリサーバーでは、このオブジェクトクラ スには必須の属性タイプ userPassword と、オプションの属性 sampleAttribute があります。また、Active Directory Server の場合、このオブジェクトクラスでは、systemOnly 属性に TRUE が設定されています。 警告: <dsSpecific> のフィールドを使って指定された、ディレクトリ固有の属性と値は、検証されませ ん。これらのフィールドに指定した値が正当であり、LDAP ディレクトリサーバーの規則に従っていることを 確認してください。このフィールドの値は、必要であれば単一引用符や二重引用符を使って、属性タイプやオ ブジェクトクラスの定義で指定されている とおりに指定されていなければなりません。<dsSpecific> の属 性と値は、デフォルトの属性タイプとオブジェクトクラスの構成より優先されます。たとえば、Active Directory Server では、isDefunct には、デフォルトで FALSE が設定されます。しかし、次の指定を行うと、 デフォルトの設定より優先されます。 <dsSpecific vendor="ads"> <field attr="isDefunct">TRUE</field> </dsSpecific> そして、この要素は Defunct (つまり、廃止予定) になります。 LDAP ディレクトリサーバー定義ファイル 新しい属性タイプを LDAP ディレクトリサーバーのスキーマに正しくインストールするためには、 ldapschema ユーティリティは、新しい属性タイプ定義で使われる照合規則と LDAP 構文を LDAP サーバーがサ ポートしているかどうかを調べる必要があります。ldapschema ユーティリティは、LDAP サーバー上でサ ポートされている照合規則と構文の LDAP 検索を行います。ただし、一部のディレクトリサーバーでは、検索 の一環としてこの情報を提供していません。ディレクトリサーバーが、サポートしている照合規則と LDAP 構 文についての情報を返すかどうかを調べるには、次のコマンドを実行します。 まず、<schemaDN> を調べます。 /opt/ldapux/bin/ldapsearch -b "" -s base ¥ "(objectclass=*)" subschemasubentry 次に、サポートされている照合規則と LDAP 構文のリストを取得します。 /opt/ldapux/bin/ldapsearch -b "<schemaDN>" -s base ¥ "(objectclass=*)" matchingRules ldapSyntaxes 後者の検索で、サポートされている照合規則と LDAP 構文の完全なリストが返されなかった場合は、 /etc/opt/ldapux/schema/schema-ds_type.xml ファイル内でそれらを指定する必要があります。ここで ds_type は、ldapschema ユーティリティを実行したときのコマンド行の −T オプションで指定した値と同 じ値です。 <dsSchemaDefinition> タグで囲まれた LDAP ディレクトリサーバー定義では、スキーマの説明を指定し 780 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) た後に、サポートされている任意の数の照合規則と LDAP 構文の定義を指定できます。 たとえば、Active Directory Server の場合、 −T ads オプションを指定して ldapschema を実行すると、こ のユーティリティと共に提供される /etc/opt/ldapux/schema/schema-ads.xml ファイルから、対応す るディレクトリサーバー定義が取得されます。 一般的なスキーマ情報を指定した後に、サポートされている照合規則があれば指定し、サポートされている LDAP 構文定義をその後に指定しなければなりません。下記の例は、ADS でサポートされている2つの構文 (Line 8-12 と Line 14-18) を定義しています。 Line 1: <?xml version="1.0" encoding="UTF-8"?> Line 2: <!DOCTYPE dsSchemaDefinition SYSTEM "/etc/opt/ldapux/schema/schema.dtd"> Line 3: Line 4: <dsSchemaDefinition> Line 5: Line 6: <schemaDescription>ADS Syntaxes</schemaDescription> Line 7: Line 8: <syntaxDefinition> Line 9: <oid>2.5.5.1</oid> Line 10: <desc>Distinguished Name</desc> Line 11: <oMSyntax>127</oMSyntax> Line 12: </syntaxDefinition> Line 13: Line 14: <syntaxDefinition> Line 15: <oid>2.5.5.2</oid> Line 16: <desc>Object Identifier</desc> Line 17: <oMSyntax>6</oMSyntax> Line 18: </syntaxDefinition> Line 19: Line 20: </dsSchemaDefinition> Line 1-2 は、すべての LDAP ディレクトリサーバー定義ファイルに必要です。LDAP 構文および照合規則の 定義は、RFC 2252 で規定されている形式に従って記述します。XML タグに指定する値は、いずれも引用符 で囲んではなりません。スペースを含むことができるのは、説明フィールド (<desc>...</desc> タグで囲ま れている) だけです。 LDAP 構文の定義 各 <syntaxDefinition> には、以下のタグ (大文字と小文字の区別あり) を、この順で記述することができ ます。 <oid> 必須。数値の ID を1つだけ指定します。 HP-UX 11i Version 2: December 2007 − 14 − Hewlett-Packard Company 781 ldapschema(1) ldapschema(1) <desc> オプション。最大1つの説明を指定できます。 <oMSyntax> ADS でのみ必須。他のタイプの LDAP ディレクトリサーバーでは無視されます。 照合規則の定義 各 <matchingRuleDefinition> には、以下のタグ (大文字と小文字の区別あり) を、この順で記述するこ とができます。 <oid> 必須。数値の ID を1つだけ指定します。 <name> 必須。照合規則の名前を少なくとも1つ指定しなければなりません。名前の値を引用符で囲ま ないでください。 <desc> オプション。最大1つの説明を指定できます。 <obsolete> オプション。該当する場合だけ使います。廃止予定の照合規則は、他の属性タイプの定義で使 うことはできません。最大1つの廃止予定のフラグを指定できます。 <syntax> 必須。指定する LDAP 構文は、LDAP ディレクトリサーバーでもサポートされていなければ なりません。照合規則定義ごとに最大1つの LDAP 構文を指定できます。 このファイルには、LDAP ディレクトリサーバーで完全にサポートされている構文および照合規則だけを指定 できます。属性 vendor、versionGreaterOrEqual、および versionLessThan を使って、ディレクト リ固有情報を指定することができます。 LDAP ディレクトリサーバー定義ファイルの例については、/etc/opt/ldapux/schema/schema-ads.xml を参照してください。 サポートされていない照合規則と LDAP 構文のマッピング スキーマ定義ファイル内の属性タイプ定義で使われている照合規則や LDAP 構文が LDAP ディレクトリサー バーでサポートされていない場合、LDAP サーバーがサポートしている代替の照合規則や構文を使うように マッピングしなければなりません。 照合規則は、属性タイプ定義内の <equality> 、 <ordering> 、または <substr> タグで指定されます。 LDAP 構文は、<syntax> タグで指定されます。照合規則と構文の置換方法を決定するマッピング規則は、 /etc/opt/ldapux/schema/map-rules.xml ファイル内に指定されます。ldapschema が属性の照合規 則と構文を正しくマッピングできなかった場合、ldapschema はその属性タイプを LDAP ディレクトリサー バーのスキーマに追加できません。 マッピング規則ファイルの目的は、スキーマの定義で使われている一部の照合規則や LDAP 構文がディレクト リサーバーでサポートされていなくても、LDAP ディレクトリに LDAP スキーマをインストールできるよう にすることです。/etc/opt/ldapux/schema/map-rules.xml ファイルは、以下のマッピング規則ガイド ラインに従っています。 • 制限の強い構文を、制限の弱い構文にマッピングする。 782 Hewlett-Packard Company − 15 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) • 限定度の高い照合規則を、限定度の低い照合規則にマッピングする。 たとえば、Integer 構文は、IA5 文字列構文の文字のサブセットを含んでいます。このため、IA5 文字列構文 は Integer 構文のスーパーセットなので、Integer 構文の IA5 文字列構文へのマッピングは許容できます。 次の例は、/etc/opt/ldapux/schema/map-rules.xml ファイルのサンプルです。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mappingPolicies SYSTEM "schema.dtd"> <mappingPolicies> <defaultMatchingRulesReplacements> <defaultMatchingRule> <matchingRule>caseIgnoreMatch</matchingRule> </defaultMatchingRule> </defaultMatchingRulesReplacements> <defaultSyntaxesReplacements> <defaultSyntax only="ads"> <syntax>2.5.5.12</syntax> <desc>Active Directory String syntax.</desc> <oMSyntax>64</oMSyntax> </defaultSyntax> <defaultSyntax not="ads"> <syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax> <desc>Directory String syntax.</desc> </defaultSyntax> </defaultSyntaxesReplacements> <matchingRulesReplacements> <matchingRules> <matchingRule>integerMatch</matchingRule> <subRule> <matchingRule>numericStringMatch</matchingRule> </subRule> </matchingRules> </matchingRulesReplacements> <syntaxesReplacements> HP-UX 11i Version 2: December 2007 − 16 − Hewlett-Packard Company 783 ldapschema(1) ldapschema(1) <syntaxes> <syntax>1.3.6.1.4.1.1466.115.121.1.26</syntax> <desc>IA5 String syntax.</desc> <equivSyntax> <syntax>2.5.5.5</syntax> <desc>Active Directory IA5 String LDAP Syntax.</desc> <oMSyntax>22</oMSyntax> </equivSyntax> <subSyntax> <syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax> <desc>Directory String syntax.</desc> </subSyntax> </syntaxes> </syntaxesReplacements> </mappingPolicies> 属性タイプで使われるマッピング規則や構文が LDAP サーバーでサポートされていなければ、ldapschema ユーティリティは、適切な置換規則が /etc/opt/ldapux/schema/map-rules.xml ファイルに指定され ているかチェックします。置換規則が指定されていれば、ldapschema は、LDAP サーバーでサポートされ ている最初に利用可能な照合規則または構文を見つけ、それを代替として属性タイプ定義で使います。置換規 則が指定されていないか、置換後の照合規則や構文が LDAP サーバーでサポートされていない場合は、 ldapschema は、デフォルトの置換を使うことができるかチェックします。 属 性 vendor 、 versionGreaterOrEqual 、 お よ び versionLessThan は、 <defaultSubMatchin- gRule> タグと <defaultSubSyntax> タグ内に記述するディレクトリ固有の情報を指定するために使われ ます。デフォルトの置換が LDAP サーバー上でサポートされていれば、属性タイプの定義で代わりに使われま す。デフォルトの置換が LDAP サーバー上でサポートされていない場合、LDAP ディレクトリサーバーのス キーマにその属性タイプを追加することはできません。 たとえば、IA5 String 構文 (1.3.6.1.4.1.1466.115.121.1.26) の属性タイプを、この構文の OID をサ ポー ト し て い な い ADS 上 に イ ン ス トー ル す る と し ま す。 ldapschema は、 /etc/opt/lda- pux/schema/map-rules.xml ファイルで指定されているとおりに、ターゲットの LDAP サーバーがサ ポートしている、最初の同等の構文または置換構文を使おうとします。oMSyntax 値が 22 の、指定された 同等の構文 2.5.5.5 は、ADS 上でサポートされているため、この属性タイプの定義を ADS 上にインストー ルするときにオリジナルの構文値の代わりに使われます。 他の例として、たとえば、Boolean 等値照合規則を持つ属性タイプを、この照合規則をサポートしていない LDAP サーバー上にインストールするとします。上記の例の照合規則には置換ポリシーが指定されていないた め、LDAP サーバーがサポートしていれば、デフォルトの置換照合ルール caseIgnoreMatch が代わりに使 われます。LDAP サーバーが caseIgnoreMatch をサポートしていない場合、サポートされている別の等値 784 Hewlett-Packard Company − 17 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) 照合規則を使うようにその定義が変更されなければ、属性タイプは LDAP サーバー上にインストールできませ ん。 −s オプションを指定すると、属性タイプの構文置換は無効になります。サポートされていない LDAP 構文の 属性タイプは、LDAP ディレクトリサーバーのスキーマに追加されません。−m オプションは、照合規則置換 を無効にします。サポートされていない照合規則の属性タイプは、LDAP ディレクトリサーバーのスキーマに 追加されません。 例 Red Hat Directory Server 7.1 上の RFC 3712 スキーマのステータスを照会するには、次のコマンドを実行し ます。 ldapschema -q /etc/opt/ldapux/schema/rfc3712.xml -T rhds -V 7.1 LDAP ディレクトリサーバーのバージョン番号は、処理対象の XML ファイルにも指定されていなければ、効 果 は あ り ま せ ん。 バー ジョ ン 指 定 は、 /etc/opt/ldapux/schema/rfc3712.xml ファ イ ル と /etc/opt/ldapux/schema/map-rules.xml ファイルで使われているバージョン指定と同じ形式でなけれ ばなりません。 Windows 2000 Active Directory Server をカスタムの SampleA スキーマで拡張するには、以下の手順に従い ます。 1. SampleA ス キー マ 用 の 属 性 タ イ プ と オ ブ ジェ ク ト ク ラ ス の 定 義 を 含 む ス キー マ 定 義 ファ イ ル (/etc/opt/ldapux/schema/sampleA.xml) を作成します。 2. サーバー上の SampleA スキーマの現在のステータスを照会することをお勧めします。 ldapschema -q /etc/opt/ldapux/schema/sampleA.xml -T ads -V 2000 -D "<binddn>" -j /tmp/secret.txt 3. 手順 2 で出力された結果に基づいて、無効な定義があれば訂正します。 4. 次のコマンドを実行して、Active Directory Server のスキーマを、新しい SampleA スキーマエレメント で拡張します。 ldapschema -e /etc/opt/ldapux/schema/sampleA.xml -T ads -V 2000 -D "<binddn>" -j /tmp/secret.txt LDAP ディレクトリサーバーのバージョン番号は、処理対象の XML ファイルにも指定されていなければ、効 果 は あ り ま せ ん。 バー ジョ ン 指 定 は、 /etc/opt/ldapux/schema/sampleA.xml /etc/opt/ldapux/schema/schema-ads.xml ファ イ ル、 ファ イ ル、 お よ び /etc/opt/ldapux/schema/map- rules.xml ファイルで使われているバージョン指定と同じ形式でなければなりません。 戻り値 ldapschema ユーティリティは、次の値を返します。 HP-UX 11i Version 2: December 2007 − 18 − Hewlett-Packard Company 785 ldapschema(1) ldapschema(1) 0 成功。 1 失敗。 ldapschema はさらに、照会対象または拡張対象のスキーマの全般的なステータスを標準出力に出力しま す。スキーマのステータスに基づいて、以下のメッセージの組み合わせが表示されます。メッセージ本体のテ キストに続く大かっこ内に、各メッセージの詳細説明を示します。 スキーマのステータスメッセージ SCHEMA_NEW: file "<schema>" contains attribute types and object classes that are not defined in the LDAP server schema. SCHEMA_NEW メッセージは、<schema> ファイル内で定義されているすべての属性タイプとオブジェクトク ラスが、この LDAP ディレクトリサーバーでは新規であることを示しています。SCHEMA_NEW メッセージ は、指定されたどの定義も、現在は LDAP サーバーのスキーマにインストールされていないことを示していま す。 ---------------------------------------------------------------------SCHEMA_EXISTS: All attribute types and object classes defined in file "<schema>" are already part of the LDAP server schema. SCHEMA_EXISTS メッセージは、<schema> ファイルで指定されたスキーマが、すでに LDAP ディレクトリ サーバーにインストールされていることを示しています。<schema> ファイルで定義されているすべての属性 タイプとオブジェクトクラスは、すでに LDAP ディレクトリサーバー上のスキーマの一部となっています。 LDAP サーバーのスキーマに追加できるのは、新しい、一意の数値 OID と名前を持つ属性タイプとオブジェ クトクラスだけです。ATTRIB_FOUND や OBJECT_FOUND を含むメッセージ (詳細は後述) をチェックしてく ださい。<schema> ファイルに指定されている定義は LDAP サーバーのスキーマにすでにインストールされて いるため、ldapschema ユーティリティは、LDAP ディレクトリサーバーのスキーマに変更を加えません。 ---------------------------------------------------------------------SCHEMA_FOUND: subset of attribute types and/or object classes defined in file "<schema>" are already part of the LDAP server schema. SCHEMA_FOUND メッセージは、<schema> ファイルに指定されている1つ以上の属性タイプまたはオブジェ クトクラス定義が、LDAP サーバーのスキーマにすでにインストールされていることを示しています。このよ うなエレメントは、LDAP サーバー上での拡張から除外されます。LDAP サーバーのスキーマに追加できるの は、新しい、一意の数値 OID と名前を持つ属性タイプとオブジェクトクラスだけです。ATTRIB_FOUND や OBJECT_FOUND を含むメッセージ (詳細は後述) をチェックしてください。 ldapschema ユーティリティは、次の両方の条件を満たしている場合、LDAP サーバーのスキーマでまだ定 義されていない残りの新しいエレメントをインストールすることができます。 786 Hewlett-Packard Company − 19 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) 1. <schema> ファイルで定義されている LDAP スキーマは、LDAP サーバーのスキーマと互換性がある。こ れらの2つのスキーマは、LDAP サーバーのスキーマでのエレメントの定義と、<schema> ファイル内に 指定されている定義が一致する場合、互換性があります。 SCHEMA_MISMATCH メッセージが表示される場合は、2つのスキーマには互換性がありません。この場 合、LDAP サーバーにインストールされている1つ以上のエレメントの定義が、<schema> ファイル内に 指定されている定義と異なっています。残っている新しいエレメントをインストールすることは、お勧めで きません。下記の SCHEMA_MISMATCH メッセージの定義を参照してください。 SCHEMA_MISMATCH メッセージが表示されない場合、2つのスキーマには互換性があります。<schema> ファイル内に指定されているスキーマは、部分的に LDAP サーバーのスキーマに存在し、残りの正しい新 規の属性タイプとオブジェクトクラスの定義で拡張することができます。 2. <schema> ファイルで定義されている LDAP スキーマが正しい。 SCHEMA_INVALID メッセージが表示される場合は、<schema> ファイル内に指定されている1つ以上の 定義が無効で、LDAP サーバーのスキーマに追加することができません。新しいスキーマエレメントを LDAP サーバー上に拡張する前に、このような定義を修正する必要があります。 SCHEMA_INVALID メッセージが表示されない場合は、<schema> ファイル内のスキーマ定義は正しい定 義です。この定義は、LDAP サーバーのスキーマ上に部分的に存在し、残りの正しい新規の属性タイプと オブジェクトクラスの定義で拡張できます。 ---------------------------------------------------------------------SCHEMA_MISMATCH: file "<schema>" contains one or more attribute types or object classes already installed in the LDAP server schema with incompatible (that is, mismatching) definitions. Review the messages above and verify definitions of any mismatching schema elements. If any remaining valid schema elements defined in the "<schema>" file exist, use the force flag ("-F" option) to add them to the LDAP server schema. SCHEMA_MISMATCH メッセージは、<schema> ファイル内に定義されている1つ以上の属性タイプまたはオ ブジェクトクラスが LDAP ディレクトリサーバー上にすでにインストールされているものの、その定義が一致 していないことを示しています。これは、<schema> ファイル内に指定されている一部の属性タイプまたはオ ブジェクトクラスの定義が、同じ数値 OID または名前を持つエレメントの、LDAP サーバーでのスキーマ定 義と一致していないことを意味します。ATTRIB_MISMATCH や OBJECT_MISMATCH を含むメッセージ ( 後 述) をチェックし、スキーマの不一致の原因となった属性タイプやオブジェクトクラスの正確なインスタンス を調べてください。 不一致は、等値照合規則、単一値の設定、属性構文、オブジェクトクラスタイプ、オブジェクトクラスが含む 属性タイプなどの、エレメント定義の相違によって起こります。たとえば、LDAP ディレクトリサーバーにイ ンストールされている属性タイプ ’sampleAttributeA’ が IA5 String 構文を指定しているが、<schema> ファ イル内の ’sampleAttributeA’ 定義で Unicode String 構文を指定している場合、2つの属性タイプは不一致に HP-UX 11i Version 2: December 2007 − 20 − Hewlett-Packard Company 787 ldapschema(1) ldapschema(1) なります。一致しない定義を含むスキーマをインストールすることはお勧めできません。<schema> ファイル が、LDAP ディレクトリサーバーのスキーマに存在しない正しい新規の属性タイプまたはオブジェクトクラス を定義しており、その定義をインストールしたい場合は、強制フラグ (−F オプション ) を使って、定義を LDAP サーバーのスキーマに追加します。 ---------------------------------------------------------------------SCHEMA_OK: all attribute types and object classes defined in "<schema>" file are valid. SCHEMA_OK メッセージは、<schema> ファイル内に指定されている属性タイプとオブジェクトクラスの定義 が、正しい XML 形式で、DTD テンプレートと、LDAP ディレクトリサーバーのスキーマのポリシーに適合 していることを示しています。このメッセージは、<schema> ファイル内に指定されている不一致の定義や互 換性のない定義が、LDAP サーバー上にインストールされていないことも示しています。 ---------------------------------------------------------------------SCHEMA_INVALID: file "<schema>" contains one or more invalid definitions of attribute types and/or object classes. Review the messages above and correct any errors in the schema definition file. SCHEMA_INVALID メッセージは、<schema> ファイル内に指定されている一部の属性タイプやオブジェクト クラスの定義が、無効であることを示しています。この状態は、定義が LDAP ディレクトリサーバーのスキー マポリシーや DTD テンプレートに適合していない場合に発生します。詳細は、「属性タイプの定義」と、 「オ ブ ジェ ク ト ク ラ ス の 定 義」 を 参 照 し て く だ さ い。 ま た、 詳 細 は、 ATTRIB_INVALID 、 ATTRIB_UNRESOLVED 、 OBJECT_INVALID お よ び OBJECT_UNRESOLVED ( 後 述 ) を 含 む メッ セー ジ を チェックしてください。 無効なエレメントや、そのエレメントに依存するエレメントは、LDAP サーバー上での拡張から除外されま す。たとえば、属性タイプ ’sampleAttributeA’ に無効な <usage> 値が存在し、オブジェクトクラス ’sampleObjectO’ が ’sampleAttributeA’ を必須またはオプションの属性として含んでいる場合は、 ’sampleAttributeA’ と ’sampleObjectO’ のどちらも、<usage> 値を訂正するまで、LDAP サーバーのスキーマに追加で きません。ldapschema ユーティリティを詳細モード (−v オプション) で実行すると、無効な属性タイプや オブジェクトクラスの定義についての追加情報を得ることができます。LDAP ディレクトリサーバーのスキー マを残りの新しく正しい定義で拡張する前に、無効な定義を訂正することをお勧めします。 ---------------------------------------------------------------------SCHEMA_REJECTED: file "<schema>" contains no valid attribute type or object class definitions that can be added to the LDAP server schema. It defines elements already installed in the LDAP server schema, or contains invalid definitions that hence cannot be installed. Review the messages above and correct any errors in the schema definition file. SCHEMA_REJECTED メッセージは、<schema> ファイル内に指定されている、属性タイプやオブジェクトク 788 Hewlett-Packard Company − 21 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) ラスのどの定義も、新しくかつ正しいという要件を満たしていないため、LDAP サーバースキーマに追加でき ないことを示しています。LDAP ディレクトリサーバーのスキーマに追加する前に、無効な定義を訂正する必 要があります。 スキーマのインストールを阻害している属性タイプやオブジェクトクラスの定義がどれであるかを調べるに は、 ATTRIB_INVALID 、 ATTRIB_UNRESOLVED 、 ATTRIB_MISMATCH 、 OBJECT_INVALID 、 OBJECT_UNRESOLVED、OBJECT_MISMATCH、SCHEMA_INVALID、および SCHEMA_MISMATCH を含むメッ セージをチェックしてください。 一致しない定義や無効な定義が <schema> ファイルに含まれている場合は、このスキーマを LDAP サーバー にインストールすることはお勧めできません。 ---------------------------------------------------------------------- 属性タイプのステータスメッセージ ATTRIB_INVALID: attribute type definition is missing a numericoid. Edit the schema definition file to specify one <oid> tag and its value for every <attributeTypeDefinition> definition. このメッセージは、<oid> タグとその値を、<schema> ファイル内の <attributeTypeDefinition> 定 義に指定する必要があることを示しています。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type definition is missing a name. Edit the schema definition file to specify at least one <name> tag and its value for every <attributeTypeDefinition> definition. このメッセージは、<name> タグとその値を、<schema> ファイル内の <attributeTypeDefinition> 定 義に指定する必要があることを示しています。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type "<attribute name>" specifies an unrecognized <usage> value. Supported values are: directoryOperation, distributedOperation, dSAOperation or userApplications. このメッセージは、<schema> ファイル内の <attributeTypeDefinition> 定義で、<usage> タグの値 を訂正する必要があることを示しています。指定できる属性タイプの usage 値は、directoryOperation、 distributedOperation、dSAOperation、または userApplications です。他の usage 値は拒否され ます。 <attributeTypeDefinition> 定義で <usage> タグが指定されていない場合、属性タイプの usage 値のデフォルトは、userApplications です。詳細は、RFC 2252 を参照してください。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type "<attribute name>" has an invalid numericoid. Edit the schema definition file to specify an RFC 2252 compliant <oid> value for this attribute type. Valid numericoid must consist of digits (0-9) that can be separated by a period (.). Leading HP-UX 11i Version 2: December 2007 − 22 − Hewlett-Packard Company 789 ldapschema(1) ldapschema(1) zeroes are not allowed. See RFC 2252 for details. このメッセージは、<schema> ファイル内の <attributeTypeDefinition> 定義で、<oid> タグの値を 訂正する必要があることを示しています。<oid> 値は、RFC 2252 に適合していなければなりません。詳細 は、RFC 2252 を参照してください。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type "<attribute name>" has an invalid name. Edit the schema definition file to specify an RFC 2252 compliant <name> value for this attribute type. Valid name characters include letters (A-z), digits (0-9), semicolons (;) and dashes (-). Valid name must begin with an alphabet letter (A-z). See RFC 2252 for details. このメッセージは、<schema> ファイル内の <attributeTypeDefinition> 定義で、<name> タグの値 を訂正する必要があることを示しています。属性タイプの名前の値は、RFC 2252 に適合していなければなり ません。詳細は、RFC 2252 を参照してください。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type "<attribute name>" must have the same usage (<usage> tag) value as its supertype. Edit the schema definition file to correct the usage value for this attribute or its supertype. 属性タイプがスーパータイプを指定している場合、この属性タイプとそのスーパータイプの <usage> タグ値 は、同じでなければなりません。このメッセージは、指定された属性タイプの <usage> タグ値と、そのスー パータイプの <usage> タグ値が一致していないことを示しています。<schema> ファイルを編集して、この 不一致を訂正してください。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type "<attribute name>" is missing a syntax value. Edit the schema definition file to specify a syntax (<syntax> tag) value, or a valid supertype (<subTypeOf> tag) value. 多くの LDAP ディレクトリサーバーでは、属性タイプの定義で、構文値またはスーパータイプ値を指定する必 要があります。このメッセージは、<schema> ファイル内に指定された属性タイプ定義で、これらの値のどち らも指定していないことを示しています。<schema> ファイルを編集して、<syntax> タグとその値、または <subTypeOf> タグとその値を、指定された属性タイプ定義に指定してください。 ---------------------------------------------------------------------ATTRIB_INVALID: attribute type "<attribute name>" cannot be labeled as obsolete (<obsolete> tag) if any other attribute types or object classes depend on it. Edit the schema definition file to remove the <obsolete> tag from this attribute type definition in order for it to be added to the LDAP server schema. 790 Hewlett-Packard Company − 23 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) 廃止予定の属性タイプは、この属性タイプに依存する他の属性タイプやオブジェクトクラスが存在する場合、 LDAP ディレクトリサーバーのスキーマに追加することはできません。このメッセージは、この属性タイプ が、他の属性タイプのスーパータイプとして使われているか、オブジェクトクラスの必須またはオプションの 属性として使われている場合、その定義の中で <obsolete> タグを指定できないことを示しています。 <schema> ファイルを編集して、この矛盾を訂正してください。 ---------------------------------------------------------------------ATTRIB_UNRESOLVED: super-type used in "<attribute name>" attribute type definition is not defined in any LDAP schema. このメッセージは、この属性タイプ定義の <subTypeOf> タグで指定されているスーパータイプが未定義で あることを示しています。<schema> ファイルを編集して、属性タイプ定義内のスーパータイプの名前を訂正 してください。属性タイプ定義で使われるスーパータイプは、この属性タイプをインストールする前に、 LDAP ディレクトリサーバーのスキーマ、または <schema> ファイル内で定義されていなければなりません。 ---------------------------------------------------------------------ATTRIB_UNRESOLVED: matching rule "<matching rule name>" used in "<attribute name>" attribute type definition cannot be mapped because "-m -" option is specified. This matching rule is not supported on the LDAP server. このメッセージは、この属性タイプ定義の <equality> タグ、<ordering> タグ、または <substr> タグ で指定された照合規則が、LDAP ディレクトリサーバー上でサポートされていないことを示しています。−m − オプションは、属性タイプの照合規則置換を無効にします。<schema> ファイルを編集して、LDAP サー バー上でサポートされている代替の照合ルールを指定するか、−m − オプションを指定せずに ldapschema ユーティリティを実行して、この照合規則を、LDAP サーバー上でサポートされている代替の照合規則に置き 換えてください。 ---------------------------------------------------------------------ATTRIB_UNRESOLVED: matching rule "<matching rule name>" used in "<attribute name>" attribute type definition cannot be mapped. This matching rule is not supported on the LDAP server. このメッセージは、この属性タイプ定義の <equality> タグ、<ordering> タグ、または <substr> タグ で指定されている照合規則が、LDAP ディレクトリサーバー上でサポートされていないことを示しています。 /etc/opt/ldapux/schema/map-rules.xml ファイルで指定されているデフォルトの置換照合規則も、 LDAP ディレクトリサーバー上でサポートされていません。<schema> ファイルを編集して LDAP サーバー 上でサポートされている代替の照合規則を指定するか、/etc/opt/ldapux/schema/map-rules.xml ファ イルを編集して、LDAP サーバー上でサポートされているデフォルトの置換照合規則を指定してください。 HP-UX 11i Version 2: December 2007 − 24 − Hewlett-Packard Company 791 ldapschema(1) ldapschema(1) ---------------------------------------------------------------------ATTRIB_UNRESOLVED: LDAP syntax "<syntax oid>" used in "<attribute name>" attribute type definition cannot be mapped because "-s -" option is specified. This LDAP syntax is not supported on the LDAP server. このメッセージは、この属性タイプ定義の <syntax> タグで指定された LDAP 構文が、LDAP ディレクトリ サーバー上でサポートされていないことを示しています。−s − オプションは、属性タイプの構文置換を無効 にします。<schema> ファイルを編集して、LDAP サーバーでサポートされている代替構文を指定するか、−s − オプションを指定せずに ldapschema ユーティリティを実行して、LDAP サーバー上でサポートされてい る代替の構文でこの構文を置き換えてください。 ---------------------------------------------------------------------ATTRIB_UNRESOLVED: LDAP syntax "<syntax oid>" used in "<attribute name>" attribute type definition cannot be mapped. This LDAP syntax is not supported on the LDAP server. このメッセージは、この属性タイプ定義の <syntax> タグで指定された LDAP 構文が、LDAP ディレクトリ サーバー上でサポートされていないことを示しています。 /etc/opt/ldapux/schema/map-rules.xml ファイルで指定されるデフォルトの置換構文も、LDAP ディレクトリサーバー上でサポートされていません。 <schema> ファ イ ル を 編 集 し て LDAP サー バー 上 で サ ポー ト さ れ て い る 代 替 の 構 文 を 指 定 す る か、 /etc/opt/ldapux/schema/map-rules.xml ファイルを編集して、LDAP サーバー上でサポートされてい るデフォルトの置換構文を指定します。 ---------------------------------------------------------------------ATTRIB_FOUND: attribute type "<attribute name>" is already installed in the LDAP server schema. このメッセージは、LDAP ディレクトリサーバーのスキーマに、同じ数値 OID または同じ名前の属性タイプ 定義がすでに含まれていることを示しています。ldapschema ユーティリティが拡張モードで実行された場 合、この属性タイプは、LDAP ディレクトリサーバーのスキーマには追加されません。このメッセージは、詳 細モードでのみ表示されます。また、次のメッセージも表示されます。 ---------------------------------------------------------------------ATTRIB_REJECTED: attribute type "<attribute name>" will not be added to the LDAP server schema because it is already part of the LDAP schema. このメッセージは、LDAP ディレクトリサーバーのスキーマに、同じ数値 OID または同じ名前の属性タイプ 定義がすでに含まれていることを示しています。 ---------------------------------------------------------------------792 Hewlett-Packard Company − 25 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) ATTRIB_REJECTED: attribute type "<attribute name>" will not be added to the LDAP server schema because its definition is invalid. このメッセージは、指定された属性タイプが無効であることを示しています。ldapschema ユーティリティ が拡張モードで実行された場合、この属性タイプは、LDAP ディレクトリサーバーのスキーマに追加されませ ん。詳細は、ATTRIB_INVALID を含むメッセージをチェックしてください。 ---------------------------------------------------------------------ATTRIB_MISMATCH: definition of attribute type "<attribute name>" is incompatible with the definition already installed in the LDAP server schema. ATTRIB_MISMATCH メッセージは、属性タイプが LDAP ディレクトリサーバー上にすでにインストールされ ているものの、その定義が、LDAP サーバー上の同じ数値 OID または名前の属性タイプのスキーマ定義と一 致していないことを示しています。属性タイプ定義のどのような相違も、不一致の原因となります。たとえ ば、LDAP ディレクトリサーバーにインストールされている属性タイプ ’sampleAttributeB’ に複数の値があ り、<schema> ファイル内の ’sampleAttributeB’ の定義で <singleValued/> タグを指定していた場合、こ の2つの属性タイプは不一致となります。一致しない定義を含むスキーマをインストールすることはお勧めで きません。<schema> ファイル内に、LDAP ディレクトリサーバーのスキーマに存在しない正しい新規の属性 タイプまたはオブジェクトクラスが定義されており、その定義をインストールしたい場合は、強制フラグ (−F オプション) を使って、定義を LDAP サーバーのスキーマに追加します。 ---------------------------------------------------------------------- オブジェクトクラスのステータスメッセージ OBJECT_INVALID: object class definition is missing a numericoid. Edit the schema definition file to specify one <oid> tag and its value for every <objectClassDefinition> definition. このメッセージは、<oid> タグとその値を、<schema> ファイル内の <objectClassDefinition> 定義に 指定する必要があることを示しています。 ---------------------------------------------------------------------OBJECT_INVALID: object class definition is missing a name. Edit the schema definition file to specify at least one <name> tag and its value for every <objectClassDefinition> definition. このメッセージは、<name> タグとその値を、<schema> ファイル内の <objectClassDefinition> 定義 に指定する必要があることを示しています。 ---------------------------------------------------------------------OBJECT_INVALID: object class "<object name>" has an invalid numericoid. Edit the schema definition file to specify an RFC 2252 compliant <oid> value for this object class. Valid HP-UX 11i Version 2: December 2007 − 26 − Hewlett-Packard Company 793 ldapschema(1) ldapschema(1) numericoid must consist of digits (0-9) that can be separated by a period (.). Leading zeroes are not allowed. See RFC 2252 for details. このメッセージは、<schema> ファイル内の <objectClassDefinition> 定義で、<oid> タグの値を訂正 する必要があることを示しています。<oid> 値は、RFC 2252 に適合していなければなりません。詳細は、 RFC 2252 を参照してください。 ---------------------------------------------------------------------OBJECT_INVALID: object class "<object name>" has an invalid name. Edit the schema definition file to specify an RFC 2252 compliant <name> value for this object class. Valid name characters include letters (A-z), digits (0-9), semicolons (;) and dashes (-). Valid name must begin with an alphabet letter (A-z). See RFC 2252 for details. このメッセージは、<schema> ファイル内の <objectClassDefinition> 定義で、<name> タグの値を訂 正する必要があることを示しています。オブジェクトクラス名は、RFC 2252 に適合していなければなりませ ん。詳細は、RFC 2252 を参照してください。 ---------------------------------------------------------------------OBJECT_INVALID: object class "<object name>" specifies an invalid object type value. Edit the schema definition file to modify the value specified with the <type> tag, which can be one of the following: STRUCTURAL, AUXILIARY, ABSTRACT. このメッセージは、<schema> ファイル内の <objectClassDefinition> 定義で、<type> タグの値を訂 正する必要があることを示しています。指定できる、オブジェクトクラスタイプ値は、 STRUCTURAL 、 AUXILIARY、または ABSTRACT です。他のタイプ値は拒否されます。<type> タグが <objectClassDefinition> 定義に指定されていない場合、デフォルトのオブジェクトクラスタイプ値は、STRUCTURAL で す。詳細は、RFC 2252 を参照してください。 ---------------------------------------------------------------------OBJECT_INVALID: object class "<object name>" cannot be labeled as obsolete (<obsolete> tag) if any other object classes depend on it. 廃止予定のオブジェクトクラスは、このオブジェクトクラスに依存する他のオブジェクトクラスが存在する場 合、LDAP ディレクトリサーバーのスキーマに追加することはできません。このメッセージは、このオブジェ クトクラスが、他のオブジェクトクラスのスーパークラスとして使われている場合、その定義の中で <obsolete> タグを指定できないことを示しています。<schema> ファイルを編集して、この矛盾を訂正してくだ さい。 ---------------------------------------------------------------------OBJECT_INVALID: abstract object class "<object name>" cannot have a non-abstract superclass "<superclass object name>". 794 Hewlett-Packard Company − 27 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) 抽象型オブジェクトクラスには、抽象型スーパークラスだけを指定できます。このメッセージは、この抽象型 オブジェクトクラスに、抽象型でないスーパークラスが指定 (<subClassOf> タグを使用) されていることを 示しています。<schema> ファイルを編集して、この矛盾を訂正してください。 ---------------------------------------------------------------------OBJECT_INVALID: structural object class "<object name>" cannot have an auxiliary superclass "<superclass object name>". 構造型オブジェクトクラスには、抽象型スーパークラスまたは構造型スーパークラスだけを指定できます。構 造型オブジェクトクラスに、補助型スーパークラスを指定することはできません。このメッセージは、指定さ れた構造型オブジェクトクラスに、補助型のスーパークラスが指定 (<subClassOf> タグを使用) されている ことを示しています。<schema> ファイルを編集して、この矛盾を訂正してください。 ---------------------------------------------------------------------OBJECT_INVALID: auxiliary object class "<object name>" cannot have a structural superclass "<superclass object name>". 補助型オブジェクトクラスには、抽象型スーパークラスまたは補助型スーパークラスだけを指定できます。補 助型オブジェクトクラスに、構造型スーパークラスを指定することはできません。このメッセージは、指定さ れた補助型オブジェクトクラスに、構造型のスーパークラスが指定 (<subClassOf> タグを使用) されている ことを示しています。<schema> ファイルを編集して、この矛盾を訂正してください。 ---------------------------------------------------------------------OBJECT_UNRESOLVED: super-class used in "<object name>" object class definition is not defined in any LDAP schema. このメッセージは、このオブジェクトクラス定義の <subClassOf> タグで指定されているスーパークラスが 未定義であることを示しています。<schema> ファイルを編集して、オブジェクトクラス定義内のスーパーク ラスの名前を訂正してください。オブジェクトクラス定義で使われるスーパークラスは、このオブジェクトク ラスをインストールする前に、LDAP ディレクトリサーバーのスキーマ、または <schema> ファイル内で定義 されていなければなりません。 ---------------------------------------------------------------------OBJECT_UNRESOLVED: mandatory attribute used in "<object name>" object class definition is not defined in any LDAP schema. このメッセージは、このオブジェクトクラス定義の <must> タグで指定されている必須の属性タイプが、未 定義であることを示しています。<schema> ファイルを編集して、オブジェクトクラス定義内の必須の属性の 名前を訂正してください。オブジェクトクラス定義で使われている必須の属性は、このオブジェクトクラスを HP-UX 11i Version 2: December 2007 − 28 − Hewlett-Packard Company 795 ldapschema(1) ldapschema(1) インストールする前に、LDAP ディレクトリサーバーのスキーマ、または <schema> ファイル内で定義されて いなければなりません。 ---------------------------------------------------------------------OBJECT_UNRESOLVED: optional attribute used in "<object name>" object class definition is not defined in any LDAP schema. このメッセージは、このオブジェクトクラス定義の <may> タグで指定されているオプションの属性タイプ が、未定義であることを示しています。<schema> ファイルを編集して、オブジェクトクラス定義内のオプ ションの属性の名前を訂正してください。オブジェクトクラス定義で使われているオプションの属性は、この オブジェクトクラスをインストールする前に、LDAP ディレクトリサーバーのスキーマ、または <schema> ファイル内で定義されていなければなりません。 ---------------------------------------------------------------------OBJECT_FOUND: object class "<object name>" is already installed in the LDAP server schema. このメッセージは、LDAP ディレクトリサーバーのスキーマに、同じ数値 OID または同じ名前のオブジェク トクラス定義がすでに含まれていることを示しています。ldapschema ユーティリティが拡張モードで実行 された場合、このオブジェクトクラスは、LDAP ディレクトリサーバーのスキーマには追加されません。この メッセージは、詳細モードでのみ表示されます。また、次のメッセージも表示されます。 ---------------------------------------------------------------------OBJECT_REJECTED: object class "<object name>" will not be added to the LDAP server schema because it is already part of the LDAP schema. このメッセージは、LDAP ディレクトリサーバーのスキーマに、同じ数値 OID または同じ名前のオブジェク トクラス定義がすでに含まれていることを示しています。 ---------------------------------------------------------------------OBJECT_REJECTED: object class "<object name>" will not be added to the LDAP server schema because its definition is invalid. このメッセージは、指定されたオブジェクトクラスの定義が無効であることを示しています。ldapschema ユーティリティが拡張モードで実行された場合、このオブジェクトクラスは、LDAP ディレクトリサーバーの スキーマに追加されません。詳細は、OBJECT_INVALID を含むメッセージをチェックしてください。 ---------------------------------------------------------------------- 796 Hewlett-Packard Company − 29 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) OBJECT_MISMATCH: definition of object class "<object name>" is incompatible with the definition already installed in the LDAP server schema. OBJECT_MISMATCH メッセージは、オブジェクトクラスが LDAP ディレクトリサーバー上にすでにインス トールされているものの、その定義が、LDAP サーバー上の同じ数値 OID または名前のオブジェクトクラス のスキーマ定義と一致していないことを示しています。オブジェクトクラス定義のどのような相違も、不一致 の原因となります。たとえば、LDAP ディレクトリサーバー上にインストールされているオブジェクトクラス ’sampleObjectB’ にオプションの属性が2つ (’sampleAttributeA’ と ’sampleAttributeB’) あるが、 <schema> ファ イ ル 内 の ’sampleObjectB’ の 定 義 で オ プ ショ ン の 属 性 を 3 つ (’sampleAttributeA’ 、’sampleAttributeB’ 、’sampleAttributeC’) 指定している場合、この2つの属性タイプは 不一致です。一致しない定義を含むスキーマをインストールすることはお勧めできません。<schema> ファイ ル内に、LDAP ディレクトリサーバーのスキーマに存在しない正しい新規の属性タイプまたはオブジェクトク ラスが定義されており、その定義をインストールしたい場合は、強制フラグ (−F オプション) を使って、定義 を LDAP サーバーのスキーマに追加します。 ---------------------------------------------------------------------- 照合規則のステータスメッセージ RULE_INVALID: matching rule is missing a numericoid. Edit the schema definition file to specify one <oid> tag and its value for every <matchingRuleDefinition> definition. このメッセージは、<oid> タグとその値を、 /etc/opt/ldapux/schema/schema-ds_type.xml ファイ ル内の <matchingRuleDefinition> 定義で指定する必要があることを示しています。ここで ds_type は、 ldapschema ユーティリティを実行するときのコマンド行の −T オプションで指定する値と同じ値に対応し ています。 ---------------------------------------------------------------------RULE_INVALID: matching rule is missing a name. Edit the schema definition file to specify at least one <name> tag and its value for every <matchingRuleDefinition> definition. このメッセージは、<name> タグとその値を、 /etc/opt/ldapux/schema/schema-ds_type.xml ファイ ル内の <matchingRuleDefinition> 定義に指定する必要があることを示しています。ここで ds_type は、 ldapschema ユーティリティを実行するときのコマンド行の −T オプションで指定する値と同じ値に対応し ています。 ---------------------------------------------------------------------RULE_INVALID: matching rule is missing an LDAP syntax. Edit the schema definition file to specify one <syntax> tag and its value for every <matchingRuleDefinition> definition. このメッセージは、<syntax> タグとその値を、 /etc/opt/ldapux/schema/schema-ds_type.xml ファ イル内の <matchingRuleDefinition> 定義に指定する必要があることを示しています。ここで ds_type HP-UX 11i Version 2: December 2007 − 30 − Hewlett-Packard Company 797 ldapschema(1) ldapschema(1) は、ldapschema ユーティリティを実行するときのコマンド行の −T オプションで指定する値と同じ値に対 応しています。 ---------------------------------------------------------------------RULE_UNRESOLVED: matching rule "<matching rule name>" used in "<attribute name>" attribute type definition is not supported on the LDAP server. Matching rule "<substitute matching rule name>" will be used instead. このメッセージは、指定した照合規則 <matching rule name> が、LDAP ディレクトリサーバー上でサポート さ れ て い な い こ と を 示 し て い ま す。 た だ し、 こ の 照 合 規 則 は、 /etc/opt/ldapux/schema/maprules.xml ファイルで指定されているように、サーバーがサポートしている高レベルの (限定度の低い) 照合 規則 <substitute matching rule name> に正常にマッピングされています。この照合規則を <equality>、 <ordering>、または <substr> タグと共に使う属性タイプは、<substitute matching rule name> を使って LDAP ディレクトリサーバー上で照会または拡張されます。 ---------------------------------------------------------------------- LDAP 構文のステータスメッセージ SYNTAX_INVALID: LDAP syntax is missing a numericoid. Edit the schema definition file to specify one <oid> tag and its value for every <syntaxDefinition> definition. このメッセージは、<oid> タグとその値を、 /etc/opt/ldapux/schema/schema-ds_type.xml ファイ ル内の <syntaxDefinition> 定義で指定する必要があることを示しています。ここで ds_type は、ldapschema ユーティリティを実行するときのコマンド行の −T オプションで指定する値と同じ値に対応していま す。 ---------------------------------------------------------------------SYNTAX_INVALID: LDAP syntax is missing an oMSyntax value. Edit the schema definition file to specify one <oMSyntax> tag and its value for every <syntaxDefinition> definition. このメッセージは、 <oMSyntax> タグとその値を、 /etc/opt/ldapux/schema/schema-ds_type.xml ファイル内の <syntaxDefinition> 定義に指定する必要があることを示しています。ここで ds_type は、 ldapschema ユーティリティを実行するときのコマンド行の −T オプションで指定する値と同じ値に対応し ています。<oMSyntax> タグは、Active Directory Server がサポートしている LDAP 構文定義で必須です。 ---------------------------------------------------------------------SYNTAX_UNRESOLVED: LDAP syntax "<syntax oid>" used in "<attribute name>" attribute type definition is not supported on the LDAP server. LDAP syntax "<substitute syntax oid>" will be used instead. 798 Hewlett-Packard Company − 31 − HP-UX 11i Version 2: December 2007 ldapschema(1) ldapschema(1) このメッセージは、指定した構文 <syntax oid> が、LDAP ディレクトリサーバー上でサポートされていな いことを示しています。ただし、この構文は、/etc/opt/ldapux/schema/map-rules.xml ファイルで指 定されているように、サーバーがサポートしている高いレベルの ( より包括的な) 構文 <substitute syntax oid> に正常にマッピングされています。この構文を <syntax> タグと共に使う属性タイプは、<substitute syntax oid> を使って LDAP ディレクトリサーバー上で照会または拡張されます。 ---------------------------------------------------------------------無効な、または互換性のない属性タイプやオブジェクトクラスを含むスキーマの拡張はお勧めできません。無 効な定義や互換性のない定義を含むスキーマファイルに定義されているエレメントをインストールするために は、強制オプション (−F) を指定する必要があります。 ファイル /opt/ldapux/bin/ldapschema /etc/opt/ldapux/schema/schema.dtd /etc/opt/ldapux/schema/map-rules.xml /etc/opt/ldapux/schema/schema-ads.xml /etc/opt/ldapux/schema/rfc2256.xml /etc/opt/ldapux/schema/rfc2307.xml /etc/opt/ldapux/schema/rfc2307-bis.xml /etc/opt/ldapux/schema/rfc2926.xml /etc/opt/ldapux/schema/rfc3712.xml 参照 ldapux(5) LDAPv3 RFC 2251 LDAPv3 Attribute Syntax Definitions RFC 2252 LDIF RFC 2849 HP-UX 11i Version 2: December 2007 − 32 − Hewlett-Packard Company 799 ldd(1) ldd(1) 名称 ldd − 実行可能ファイルや共有ライブラリの動的依存関係を出力 構文 特記事項 Itanium® ベース システムでは ldd_ia(1) を、PA-RISC システムでは ldd_pa(1) をそれぞれ参照してくださ い。 ご使用のシステムがどちらのアーキテクチャなのかを判別するには uname コマンドを使用します。 uname -m の出力が ia64 であれば Itaniumベース システムで、それ以外の値であれば PA-RISC システムです。 参照 ldd_ia(1), ldd_pa(1), uname(1) 800 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ldd_ia(1) ldd_ia(1) Integrity システム専用 名称 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 2: December 2007 −1− Hewlett-Packard Company 801 ldd_ia(1) ldd_ia(1) Integrity システム専用 字列が設定されている場合には、 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 802 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 ldd_ia(1) ldd_ia(1) Integrity システム専用 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 2: December 2007 −3− Hewlett-Packard Company 803 ldd_pa(1) ldd_pa(1) PA-RISC システム専用 名称 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 ビット動的パスリスト」、「PA-RISC 64 ビット動的パスリスト」および 「LD_PRELOAD 環境変数」を 参照してください。 オプション ldd では、以下のオプションを指定できます。 -b PA-RISC 32ビットのみ。 -d や -r と一緒に使用すると、dld.sl は、依存するライブラリを すべてバインドし、unsats ( 未解決シンボル) を報告します。デフォルトでは、dld.sl のス マートバインド機構によって、シンボルが明示的に参照されているライブラリだけがバインドさ れます。 -d データシンボルの参照をチェックします。 -r データおよびコードシンボルの参照をチェックします。 -s 共有ライブラリを探すために使用される検索パスを表示します。 -v すべての依存関係を表示します。 外部からの影響 環境変数 ldd は次の環境変数を使用して、共有ライブラリを見つけます。 LD_LIBRARY_PATH 64ビットモードで使用されます。共有ライブラリの実行時の検索パスを定義する、パス名をコロンで 区切ったリストです。詳細については、dld.sl(5) の「PA-RISC 64ビット動的パスリスト」を参照して ください。 804 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ldd_pa(1) ldd_pa(1) PA-RISC システム専用 LD_PRELOAD 実行時に、ダイナミックローダーが暗黙的に最初にロードするライブラリを、コロン(:)あるいは空白 で区切ったリストです。詳細については、dld.sl(5) の 「LD_PRELOAD 環境変数」を参照してくださ い。 SHLIB_PATH 共有ライブラリの実行時の検索パスを定義する、パス名をコロンで区切ったリストです。詳細につい ては、dld.sl(5) の 「PA-RISC 32ビット動的パスリスト」および 「PA-RISC 64ビット動的パスリス ト」を参照してください。 次の国際化変数は、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 は、操作が正常に終了すればゼロを返します。ゼロ以外の戻り値は、エラーが発生したことを示します。 例 デフォルトでは、ldd は、簡単な動的パス情報を出力します。実行可能ファイル (または共有ライブラリ) 中 に記録されている依存関係の後に、ライブラリが見つかった物理的な位置が出力されます HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 805 ldd_pa(1) ldd_pa(1) PA-RISC システム専用 $ 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 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: 806 Hewlett-Packard Company −3− (RPATH) HP-UX 11i Version 2: December 2007 ldd_pa(1) ldd_pa(1) PA-RISC システム専用 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 共有ライブラリの依存関係をチェックするためにロードされ /usr/ccs/lib/pa20_64/lddstub 共有ライブラリの依存関係をチェックするためにロードされ /usr/lib/nls/$LANG/ldd.cat メッセージカタログ る、ダミーの 32ビット実行可能ファイル る、ダミーの 64ビット実行可能ファイル 参照 システムツール ld(1) リンクエディターの起動 その他 a.out(4) アセンブラ、コンパイラおよびリンカの出力 dld.sl(5) ダイナミックローダー テキストおよびチュートリアル 『HP-UX リンカー & ライブラリー ユーザーズガイド』 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 807 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 808 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 leave(1) leave(1) 参照 calendar(1) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 809 lifcp(1) lifcp(1) 名称 lifcp − LIF ファイル間のコピー 構文 lifcp [−T xxx] [−L xxx] [−v xxx] [−a] [−b] [−i xxx] [−r] [−t] file1 file2 lifcp [−T xxx] [−L xxx] [−v xxx] [−a] [−b] [−i xxx] [−r] [−t] [ file1 file2 ...] directory 説明 lifcp は、LIF ファイルを HP−UX ファイルに、HP−UX ファイルを LIF ファイルに、または LIF ファイル を別の LIF ファイルにコピーします。また、 (HP−UX/LIF) ファイルのリストを (LIF/HP−UX) ディレクトリ にコピーします。引き数リストの最後の名前は、宛先ファイルまたはディレクトリです。 オプション オプションと引き数の間の空白は省略可能です。 −T xxx ファイルを LIF ボリュームにコピーする場合にのみ使用します。このオプションは、LIF ディレクトリエントリーのファイルタイプを、指定した引き数で強制的に設定します。引 き数は、標準の "C" 表記法を使い、10進、8進、または 16進とすることができます。 −L xxx ファイルを LIF ボリュームにコピーする場合にのみ使用します。このオプションは、「最 後のボリュームフラグ」を xxx に設定します(0または1)。デフォルトの「最後のボリュー ムフラグ」は 1 です。 −v xxx ファイルを 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 にコピーする場合には何も影響を及ぼしません。 −i xxx ファイルを LIF ボリュームにコピーする場合のみ使用します。このオプションは、 LIF ディレクトリエントリーの「インプリメンテーション」フィールドを与えられた引き数に 設定します。引き数値は標準の "C" 表記法を使い、10進、8進、または 16進とすることが で き ま す。 「イ ン プ リ メ ン テー ショ ン」 フィー ル ド は、 ファ イ ル タ イ プ −2001 か ら −100000 (8進) に対してのみ設定できます。「インプリメンテーション」フィールドは、す べての交換ファイルタイプおよびファイルタイプ −2 から −200 (8進) に対しては 0 に設定 されます。「インプリメンテーション」値が保護およびレコードサイズに関する LIF ファ イルの属性を制御することに注意してください。lifls −l または lifls −i は、ファ 810 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 lifcp(1) lifcp(1) イルの「インプリメンテーション」値を決定するのに使用できます。 −r ファイルタイプとは関係なく RAW モードで強制的にコピーします。 RAW モードで HP−UX から LIF にコピーする場合、デフォルトのファイルタイプは BIN (−23951) で す。−T オプションは、デフォルトのファイルタイプを置き換えます (コピーの各種モード については lif (4) で説明)。−r オプションは、LIF から LIF へのコピー操作においては 何も影響しません。 −t HP−UX ファイル名を LIF ユーティリティにより受入れ可能な名前に変換します。つま り、小文字の英字はすべて大文字に変換され、数値を除くその他の文字はすべてアンダー スコア (_) に変更されます。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 を使用している間はスペシャルファイルをマウントしないでください。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 811 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 にコピーします。 812 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 を標準出力 (STDOUT) にコピーします。 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) HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 813 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バイト、デバイスファイルの場合には 814 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 815 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) 816 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 817 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) 818 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 を推奨します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 819 line(1) line(1) 標準準拠 line: SVID2, SVID3, XPG2, XPG3 820 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 listusers(1) listusers(1) 名称 listusers − ユーザーログインデータの表示 構文 listusers [-g groups] [-l logins] 説明 listusers コマンドは、ユーザーログインに関するデータを表示します。出力は、ユーザーログインと、 /etc/passwd コメントフィールド値(ユーザー名など)を示すものです。デフォルトでは、すべてのユーザー ログインに関するデータが表示されます。 オプション listusers コマンドは次のオプションをサポートします。 -g groups groups に属する全ユーザーを、ログインでソートして表示します。コンマで区切っ たリストで、複数のグループを指定することができます。 -l logins 要求された logins を表示します。コンマで区切ったリストで、複数のログインを指 定することができます。 ユーザーログインには、100以上の UID がついています。 -l オプションと -g オプションを組み合わせると、指定されている複数のグループにそのログインが属して いても、ユーザーログインは1回だけしか表示されません。 例 すべてのユーザーログインをリストします。 listusers グループ cmds およびユーザー bob, john, otto のすべてのユーザーログインを、重複を避けてリストしま す。 listusers -g cmds -l bob,john,otto ファイル /etc/passwd /etc/group 参照 passwd(1), logins(1M), passwd(1M), group(4), passwd(4) 標準準拠 listusers: SVID3 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 821 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行を読み出しま す。もし応答が肯定的で許可されたものであれば、処理が行われます。そうでない場合、コマンドは、もしあ れば次のソースファイルに進みます。 ハードリンクは、リンク先のファイルまたはディレクトリファイルと同じ所有権、およびパーミッションで作 成されます。所有権またはパーミッションがリンク、ファイル、またはディレクトリに対して変更されると、 822 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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) を参照)。 多言語化対応 環境変数 LC_CTYPE により、テキストをシングルバイトおよびマルチバイト、またはそのいずれかの文字で解釈するか を決定します。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 823 ln(1) ln(1) LANG および LC_CTYPE は y (yes/no問合わせでの)と等価なローカル言語を決定します。 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 で開発されました。 参照 cp(1), cpio(1), mv(1), rm(1), link(1M), readlink(2), stat(2), symlink(2), symlink(4), acl(5). 標準準拠 ln: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 824 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 として表示されま す。 locale コマンドには複数の引き数を指定することができ、引き数にはロケールカテゴリ名、ロケールキー ワー ド、 ま た は 特 殊 ワー ド charmap が あ り ま す ( ロ ケー ル キー ワー ド お よ び charmap に つ い て は、 localedef (1M) を参照してください)。引き数がキーワードの場合、現在の環境でそのキーワードに対応する値 と、選択されたオプションに応じてその他の情報が表示されます。引き数がカテゴリ名 ( つまり LC_*) なら ば、そのカテゴリで定義されているすべてのキーワードの値が表示されます。引き数が特殊ワード charmap ならば、現在のロケールの定義で使用されたcharmapファイル (ある場合) が表示されます。 プリント不能文字は、16進数値として形式 ¥xhh でプリントされます。ただし、別のエスケープ文字がそのロケールで定義されていれば、"¥"の代わりにその HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 825 locale(1) locale(1) 文字が表示されます。 オプション 以下のオプションを指定することができます。 -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 ビットオフ セットの場合) を引き数として指定します。 PA-RISC システムおよび Itaniumベース システムで 32 ビットのロケールを表 -a 示します。 PA-RISC システムおよび Itaniumベース システムで 32 ビットのロケールを表 -a 32 示します。 64 ビットシステムで 64 ビットのロケールのみを表示します。 32 ビットシス -a 64 テムで実行すると、エラーメッセージが返されます。 -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ベース システ ムでだけ利用可能です。) -pa64 64 ビット PA-RISC ロケールを表示します。 (このオプションは、Itaniumベース システ ムでだけ利用可能です。) 826 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 locale(1) locale(1) 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" LC_NUMERIC="fr_FR.iso88591" LC_TIME="fr_FR.iso88591" HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 827 locale(1) locale(1) 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), localeconv(3C), nl_langinfo(3C), setlocale(3C), charmap(4), localedef(4), environ(5), lang(5) 標準準拠 locale: XPG4, POSIX.2 828 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 lock(1) lock(1) 名称 lock − ターミナルの予約 構文 lock 説明 lock はユーザーにパスワードを要求します。それから LOCKED をターミナルにプリントし、パスワードが 繰り返されるまで、ターミナルの使用撤回を拒否します。ユーザーがパスワードを忘れた場合は、他の場所で ログインし、ロックプロセスを終了させることによってのみ復帰できます。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 829 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) を参照して下さい。 サポートされる国際的コードセット シングルバイトおよびマルチバイトの文字コードセットがサポートされます。 830 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 831 login(1) login(1) 名称 login − サインオン、ターミナルセッションの開始 構文 login [name [env-var] ...] 説明 login コマンドは、各ターミナルセッションの先頭で使用され、ログインしようとしているユーザーを正し く識別します。 login は、ユーザーコマンドとして、またはログイン接続が確立されるときにシステムに よって呼び出されます。前のユーザーシェルが終了したときに、ターミナルの接続が切断されないときにも、 システムによって呼び出されます。 login をコマンドとして呼び出す場合には、初期コマンドインタプリタ ( ユーザーのログインシェル) を login に置き換えなければなりません。これは、ユーザーシェルから以下のように入力すると行われます。 exec login 次の入力要求によって、ユーザーのログイン名が要求され (コマンド行に指定されていない場合)、対応するパ スワードが取得されます (必要な場合)。 login: Password: ターミナルエコーは、パスワードの記録を書き出さないようにするためにパスワード入力中はオフになります (可能であれば)。アカウントにパスワードがなく、そのアカウントの認証プロファイルがパスワードを必要と する場合には、 login は pam_chauthtok() を実行してそのアカウントのパスワードを作成します。高信 頼性システム上では、 login は最終的に成功したログイン時間と失敗したログイン時間、およびターミナル デバイスを表示します。 機密保護上の予防措置として、インスタレーションによっては、第 2 の「ダイヤルアップ」パスワードが必要 です。これは、ダイヤルアップ接続の場合のみで、メッセージ dialup password: によって要求されます。正常にログインするには、両方のパスワードが正しくなければなりません。ダイヤル アップ機密保護の詳細は、 dialups(4) を参照してください。 パスワードエージングがアクティブな場合には、ユーザーのパスワードが期限切れの可能性があります。この ような場合には、パスワードを変更するために pam_chauthtok() を呼び出すことになります。 高信頼性シ ステムでない場合は、ユーザーは、パスワードの変更に成功した後、再度ログインするように要求されます ( passwd(1) を参照してください)。 ログインに3回失敗すると HANGUP シグナルが発行されます。ログインが一定時間 (たとえば、1 分) 以内に 正常終了しなければ、ターミナルの接続は無表示で切断されます。 ログインが正常終了した後、アカウンティングファイルが更新され、ユーザー ID とグループ ID、グループア クセスリスト、およびワークディレクトリが初期化され、ユーザーのコマンドインタプリタ ( シェル ) が 832 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 login(1) login(1) /etc/passwd および /etc/logingroup ファイル中の対応するユーザーエントリーから決定されます ( passwd(4) および group(4) を参照)。 /etc/passwd に当該ユーザー名に対するシェルの指定がなければ、 /usr/bin/sh がデフォルトとして使用されます。次に、 login はシェルパス名の最後の構成要素の前に を付けて (たとえば、 -sh または -ksh) 適切なシェルを fork します。コマンドインタプリタがこのように名 前の前に - 符号を付けて呼び出されると、シェルは、プロファイル、ログイン、またはその他の初期化スク リプトの実行を含めて、独自の初期化を行います。 たとえば、ユーザーログインシェルが K シェル、または POSIX シェルであれば ( それぞれ ksh(1)、または sh-posix(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 番目の形式の引き数 (等号のある形) は、修正せずに環境に入れられます。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 833 login(1) login(1) 変数名 (Ln または varname) がすでに環境中にある場合は、新しい値が古い値と置き換わります。 ただし、2つの例外があります。変数 PATH および SHELL は変更することができません。これは、制限付き のシェル環境でログインしたユーザーが制限のない二次シェルを生成することがないようにするためです。 login と getty は両方とも単純な 1 文字のエスケープ規約を認識します。文字の前にバックスラッシュを タイプするとその文字が指定されたとみなされるので、スペースやタブなどを入れることができます。 /var/adm/btmp が存在する場合、成功しなかったログインはすべてこのファイルにログ取得されます。この ファイルがなければ、この機能は使用不能になります。 lastb コマンド (last(1) を参照) は、 btmp の読み 取りアクセス権を持つユーザーに対し、成功しなかったログインの要約を表示します。 /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 がユーザーのログインを禁止します。 • アカウントのパスワードが期限切れで、ユーザーがパスワードの変更を正しくできなかった場合。 834 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 多言語化対応 環境変数 HOME ユーザーのホームディレクトリ MAIL メールを探す場所 PATH コマンドを検索するパス SHELL 使用中のコマンドインタプリタ TERM ユーザーのターミナルの種類 varname ユーザーが指定した名前付きの変数 Ln ユーザーが指定した名前なしの変数 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 835 login(1) login(1) 診断 状況によって、以下の診断が表示される可能性があります。 .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() を実行できませ んでした。 No shell ユーザーシェル (/etc/passwd 中でシェル名がでヌルならば /usr/bin/sh) が exec コマンドで実 行できません。システム管理者に問い合わせてください。 836 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 login(1) login(1) 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 はサーバーが応答するまで待ちます。 制約 組み込み可能認証モジュール (PAM) PAM は、ユーザー認証、パスワード変更、およびアカウントの有効性チェックに対する Open Group の標準 です。特に、 login に関連するすべての関数を実行するために pam_authenticate() が呼び出されま す。この中には、パスワードの取り出し、アカウントの有効性チェック、およびエラーメッセージの表示が含 まれます。 pam_chauthtok() は、パスワードの満了中または作成中に呼び出されます。 HP プロセスリソースマネージャ オプションの HP プロセスリソースマネージャ (PRM) ソフトウェアのインストールと構成が行われている場 合、ログインシェルはユーザーの初期プロセスリソースグループで開始されます。ユーザーの初期グループが 定義されていなければ、シェルはユーザーのデフォルトグループ (PRMID=1) で実行されます。 HP PRM の構 成方法については prmconfig(1) 、ユーザーの初期プロセスリソースグループの決定方法については prmconf (4) を参照してください。 著者 login は、AT&T および HP で開発されました。 ファイル $HOME/.profile パーソナルプロファイル (個人ユーザーの初期化) $HOME/.rhosts リモートログインサーバーのパーソナル等価ファイル HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 837 login(1) login(1) /etc/d_passwd ダイヤルアップ機密保護の暗号化パスワード /etc/dialups ダイヤルアップ機密保護を必要とする回線 /etc/hosts.equiv パスワードなしでログインできる等価ホストのシステムリスト /etc/logingroup グループファイル — グループアクセスリストの定義 /etc/motd その日のメッセージ /etc/passwd パスワードファイル — ユーザー、パスワード、および一次グループの定義 /etc/profile システムプロファイル (すべてのユーザーの初期化) /etc/securetty ルートログインのできる tty のリスト /etc/shadow シャドウパスワードファイル /etc/utmp 現在ログイン中のユーザー /tcb/files/auth/*/* 高信頼性システムのパスワードデータベース /var/adm/btmp 成功しなかったログインのヒストリ /var/adm/wtmp ログイン、ログアウト、および日付変更のヒストリ /var/mail/login_name ユーザー login_name のメールボックス /etc/default/security セキュリティデフォルト構成ファイル 参照 csh(1), groups(1), ksh(1), last(1), mail(1), newgrp(1), passwd(1), sh(1), sh-bourne(1), sh-posix(1), su(1), getty(1M), initgroups(3C), dialups(4), group(4), passwd(4), profile(4), security(4), shadow(4), utmp(4), environ(5) HP プロセスリソースマネージャ : 『 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) 838 Hewlett-Packard Company −7− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 839 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環境カテゴリを決定します。 840 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 841 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 に読み取りアクセスが可能 842 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 は ..." などの標準出力メッセージが出されないようにします。た だし、エラーメッセージは標準エラーに表示されます。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 843 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) を参照) が実行中でない場合には、代わりにメールが送信され ます。 844 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 lp(1) lp(1) cancelコマンド cancel コマンドは、lp コマンドによって出された要求を、現在プリント中であっても取り消します。 現在プリント中の要求を取り消すと、そのプリンターは次に使用できる要求をプリントできるようになりま す。 cancelのオプションと引き数 cancel は以下のオプションと引き数を認識します。これらは、任意の順序で指定することができます。キー レターとその引き数の間に、空白を入れてはなりません。異なるオプションと引き数が混在して指定された場 合は、コマンド行で指定された順序い関係なく、 id ...、 dest ...、 -a、-e、-u の順序で処理されます。 id ... 取消す要求を1つ以上指定します。 id は、lp または lpalt によって戻された要求 ID で す。 printer ... 1つ以上のプリンターまたはクラスを指定します。 -a、-e、-u のいずれも指定されていな い場合は、それぞれの dest でプリント中の要求が取消されます。この場合は、dest は、クラ スではなくプリンターである必要があります。 -a、-e、-u のいずれかが指定されている場 合は、取消し操作を行う宛先を指定します。この場合、dest はプリンターまたはクラスであ す。 -a 各 dest から、ユーザー自身が所有している要求をすべて削除します。 dest の指定がなく -f が指定されている場合は、システム内のすべての宛先から、ユーザー自身が所有している要求 をすべて削除します。所有者は、ユーザーのログイン名と、lp コマンドが呼び出されたマシ ンのホスト名によって判別されます。 -e 各 dest のスプール待ち行列から、すべての要求を削除して空にします。 dest の指定がなく -f が指定されている場合は、システム内のすべてのスプール待ち行列を空にします。このオ プションを使用できるのは、適切な特権をもつユーザーだけです。 -i ローカル要求だけを取り消します。 -uuser -uuser 各宛先 dest に対して、ユーザー user が所有している要求をすべて削除します。 dest の指定がなく -f が指定されている場合は、システム内のすべての宛先から、user が所有し ている要求をすべて削除します。 -u オプションを繰り返すことによって、複数のユーザー を指定することができます。このオプションを使用できるのは、適切な特権をもつユーザーだ けです。 -f -a/-e/-u がシステム内のすべての宛先に対して取消し操作を行うように指示します。 プリントの概要 プリンターは、1つまたは2つの宛先の待ち行列からの要求をプリントすることができます。そのプリンター 自身の待ち行列と、1台以上のプリンターで利用できるオプションのクラス待ち行列です。宛先待ち行列は lpadmin コマンドによって設定されます。 lp コマンドはユーザーの指示に従って、プリンターまたはクラ スの宛先待ち行列にプリント要求を入れます。 lpsched スケジューラーは、宛先待ち行列の要求に従ってプ リンターに指示を出します。 accept および reject コマンドは、lp が宛先待ち行列に要求を入れること HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 845 lp(1) lp(1) ができるかどうかを制御します。 enable および disable コマンドは、lpsched が待ち行列に入ってい る要求をプリンターに送れるかどうかを制御します。プリンターに2つの待ち行列があって、一方の待ち行列 が要求を拒絶している場合、ユーザーはもう一方の宛先待ち行列に要求を出して、その要求をプリントするこ とができます。 lpstat は、宛先待ち行列とスケジューラーの現在のステータスを報告します。 enable(1)、 lpstat(1)、accept(1M)、lpadmin(1M) を参照してください。 多言語化対応 環境変数 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 をパイプラインの最後に使用して、前のコマンドの結果をプリントすることができます。これは、フォー 846 Hewlett-Packard Company −5− HP-UX 11i Version 2: December 2007 lp(1) lp(1) マットした出力をプリントする pr コマンド (pr(1) を参照) でよく使用されます。デフォルトのプリンター で、ファイル .profile をページ形式にフォーマットし、それを3部プリントするには、次のコマンドを使 用します。 pr .profile | lp -n3 警告 リモートプリント要求を取消しできるのは、それを要求した 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 HP-UX 11i Version 2: December 2007 −6− Hewlett-Packard Company 847 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 を使用して、プリントメッ セージを発したユーザーの位置を判断します。 filename は、 要 求 の 発 信 元 の シ ス テ ム の hostname を 決 定 す る た め に 使 用 さ れ、 そ の 形 式 は [dirname]/d?A nnnhostname ま た は [dirname]/dA nnnnhostname で な け れ ば な り ま せ ん。 た だ し、 dirname はパス名ではなくてベース名の親ディレクトリ名にすぎません。 filename は、プリンターのインタ フェーススクリプトで $6 に設定されるときにこの要件に適合します。 divpage 1シートあたり複数のページをプリントし、組込みフォントを選択する機能が備わっています。 オプション -p モードをポートレイトに設定します(デフォルト)。 -l モードをランドスケープに設定します。 -h 半ページをプリントします(デフォルト)。 -q 1/4ページをプリントします。 -nFontID フォント番号 FontID を使用します。デフォルトは0です。文字列 EC(FontIDX がプ リンターに送られます。 848 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 lpfilter(1) lpfilter(1) fontdl fontdl は filename にあるフォントを、標準出力に接続されたプリンターにダウンロードします。 オプション -nFontID フォントが参照されるID番号を指定します。デフォルトは0です。 -l ランドスケープモードを指定します。デフォルトはポートレイトです。 -p プロポーショナルスペーシングを指定します。デフォルトは固定です。 lprpp これは、バックスペース重ね打ちを水平プリント位置決めで行オーバプリントに変換して、ボールド体プリン トの質を高めるフィルターです。この機能は、重ね打ちをすることによりボールド体プリントを作成できない LaserJetなどのプリンターで必要とされます。 オプション -i <ANYCHAR> を <ANYCHAR><BACKSPACE>_ に変換して ANYCHAR をイタ リック体にします。また、重ね打ちされた(ボールド体)文字を適切にイタリック体に します。次のような「ハッシュ重ね打ち」に対しては正しく機能しません。 <ANYCHAR><BACKSPACE><DIFFERENTCHAR><BACKSPACE>_ -o 奇数番号のページのみをプリントします。両面プリントの場合は -e と併用します。 -e 偶数番号のページのみをプリントします。両面プリントの場合は -o と併用します。 -l nn ページ長を行単位で指定します。 -n または -p を選択しない限り、デフォルトは60で す。上記の場合は66です。 -n nroff コマンドの出力をプリントするためにnroffモードを指定します。最初の行をプ リンターの論理行4に入れて、 1ページあたり66行をプリントします。 -p pr コマンドから出力をプリントするためにprモードを指定します。最初の行をプリ ンターの論理行3に入れて、 1ページあたり66行をプリントします。 plotdvr HP-GLプロッタフィルター。このフィルターは "PG" コマンド(ペーパーフィード)のデータを走査します。こ のデータを見つけると、フィルターはそれをデータストリームから取り除き、要求するユーザーにプロッタの 用紙を変更する必要があることを通知します。 オプション -l request_id プリンター要求 ID を指定します。これはプロット要求に関する各種メッセージで使 用されます。 -u username 要求に関してユーザーと通信するのに使用される要求するユーザーのログイン名 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 849 lpfilter(1) lpfilter(1) -e HP-GL コマンドではなくエスケープシーケンスを使用してプロッタステータスを決 定するように指定します。 -f 用紙変更のために停止せずにプロットします。 "PG" コマンドは、データストリーム から取り除かれず、ユーザーはそれらについて通知されません。このオプションは、 自動ページフィードが可能なプロッタで使用されます。 -i プロッタの初期化を防止します。 printstat ステータスに関して RS232 プリンターに問い合わせ、プリンターの準備が整うまで戻りません。プリンター が off-line、 out of paper または disconnected ならば、プリント要求のサブミッタには、この条件が訂正され るまで定期的に通知されます。プリンターがプリントする準備が整うと、このコマンドは終了します。 標準入力と標準出力は両方ともシリアルプリンター装置に接続しなければなりません。 このプログラムは、 send-status コマンド EC?D1? を使用してステータスを決定します。すべてのシリアルプ リンターがこのコマンドに応答するとは限りません。以下の設定でのみ、このコマンドはサポートされます。 プリンターに関するコメント LaserJet サポートされません LaserJetII サポートされます LaserJetIID HP26013Aモジュールが必要です LaserJetIIP サポートされません LaserJetIII HP26013モジュールが必要です LaserJet2000 サポートされません オプション -l request-id ユーザーとの各種通信で使用する要求 ID をプリントします。 -u username 要求に関してユーザーと通信するのに使用する要求するユーザーのログイン名 reverse 標準入力に表示されているデータを逆のページ順序で標準出力にプリントします。このコマンドは最大2000 ページまでを処理することができます。 オプション -l page_length ページ長を行数で指定します。デフォルトは66です。 診断 エラーメッセージおよび診断メッセージは状況に応じて、プリント出力、ユーザーのターミナルに表示される か、またはユーザーにメール転送されます。 850 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 lpfilter(1) lpfilter(1) 警告 これらのフィルターのインタフェースにはほとんど整合性がありません。 参照 lp(1), lpadmin(1M) 『システム/ワークグループの管理』 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 851 lpstat(1) lpstat(1) 名称 lpstat − LP サブシステムのステータス情報のレポート 構文 lpstat [-drst] [-a[list]] [-c[list]] [-o[list]] [-p[list]] [-u[list]] [-v[list]] [ID...] 説明 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 は、デフォルトキューのデフォルト宛先を書き出します。 -o[ list ] 出力要求のステータスを書き出します。 list 引き数は、プリンター名、クラス名、およ び要求IDのリスト(混在可能)です。 -p[ list ] プリンターのステータスを書き出します。 list 引き数は、プリンター名のリストです。 -r LPスケジューラのステータスを書き出します。 -s ステータスの概要を書き出します。プリンタースケジューラのステータス、システムの デフォルト宛先、クラス名とそのメンバーのリスト、各プリンターとそのデバイスのリ ストが含まれます。 852 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 lpstat(1) lpstat(1) -t -u[ list ] すべてのステータス情報を書き出します。 ユーザーの要求のステータスを書き出します。 list 引き数は、ログイン名のリストで す。 list には、最大50ユーザーまで指定できます。 -v[ list ] プリンター名とそのデバイスのパス名を書き出します。 list 引き数は、プリンター名の リストです。 オペランド 次のオペランドがサポートされます。 ID ID で指定された出力要求のステータスを書き出します。 ID は、 lp が返す要求IDで す。 dest dest で指定された宛先のステータスを書き出します。 dest は、プリンター名あるい はクラス名です。 標準入力 使用されません。 入力ファイル なし。 環境変数 次の環境変数は lpstat の実行に影響します。 LANG 国際化変数が設定されていないかヌルである場合のデフォルト値になります。 LANG が設定されていないかヌルの場合、デフォルトのロケール( 実装依存) が 使われます。国際化変数のいずれかに無効な値が設定されている場合は、どの 国際化変数も定義されていない時と同じ動作をします。 LC_ALL 非空白文字列値に設定すると、他のすべての国際化変数の設定を上書きしま す。 LC_CTYPE テキストデータのバイトシーケンスを文字として解釈するためのロケールを決 定します。 (例えば 引き数のマルチバイト文字とシングルバイト文字の識別) LC_MESSAGES 標準エラーに出力される診断メッセージおよび標準出力への情報メッセージの フォーマットと内容に影響するロケールを決定します。 LC_TIME -a, -o, -p, -t, または -u オプションを使ってプリンターのステータス情報を 表示する際の、日付および時間の表示フォーマットを決定します。 NLSPATH LC_MESSAGES 処理のためにメッセージカタログの場所を決定します。 TZ 日付および時間の表示で使われるタイムゾーンを決定します。 LPDEST 出力デバイスや宛先を決定します。環境変数 LPDEST が設定されていない場合 は、 PRINTER 変数が使用されます。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 853 lpstat(1) lpstat(1) PRINTER 出力デバイスや宛先を決定します。環境変数 PRINTER が設定されていない場 合 は、 デ フォ ル ト の キュー が 使 用 さ れ ま す。 環 境 変 数 LPDEST の 設 定 が PRINTER の設定より優先されます。 非同期イベント デフォルト。 標準出力 標準出力は、 「オプション」の項で説明されている情報を含むテキストファイルです。フォーマットは特定さ れていません。 標準エラー 診断メッセージにのみ使われます。 出力ファイル なし。 拡張説明 なし。 終了ステータス 次の終了ステータスを返します。 0 正常終了。 >0 エラーが発生しました。 エラーの結果 デフォルト。 アプリケーション使用法 lpstat は、考えられるすべての状況で信頼できるプリント要求ステータスを決定することはできません。プ リンターが別のオペレーティングシステムの制御下にある場合や、ネットワークで接続されたリモートシステ ム上にある場合は、プリントジョブがローカルシステムのオペレーティングシステムの制御を離れた後で、そ のステータスを決定することがきでません。ローカルプリンターであっても、最終ページが印刷されるずっと 以前に、プリンター内のスプーリングハードウェアはプリントジョブが完了したように報告することがありま す。 例 1. 2つのプリンターのステータス、2つのプリンターデバイスのパス名、および HiPri-33 という クラスの要求ステータスを取得します。 lpstat -plaser1,laser4 -v"laser2 laser3" -cHiPri-33 2. 旧式の、空白とコンマが混在した形式で、ユーザーのプリントジョブのステータスを取得しま す。 854 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 lpstat(1) lpstat(1) lpstat -u"ddg,gmv, maw" 将来の方向性 XBD 仕様、Section 10.2、Utility Syntax Guidelines を完全にサポートする lpstat が将来導入される予定 です。 参照 cancel(1), lp(1) 過去の変更 第2版 が最初にリリースされました。 第3版 8ビット トランスペアレント方式での動作が記述されました。 国際化環境での動作が記述されました。 第4版 フォーマットが再編成されました。 Utility Syntax Guidelines 準拠に対する例外が記述されました。 国際化環境変数のサポートが義務づけられました。 標準準拠 lpstat: SVID2, SVID3, XPG2, XPG3, XPG4 HP-UX 11i Version 2: December 2007 −4− Hewlett-Packard Company 855 lpstat(1) lpstat(1) HP−UX での機能拡張 説明 options 以外の引き数は、出力要求ID (lp から返された) あるいは宛先とみなされます。 lpstat は、それ らの出力要求IDあるいはその宛先に属する出力要求のステータスを表示します。 options は、任意の順序で指 定することができ、また他の引き数といっしょに繰り返して指定することができます。 -i リモートプリンターのステータス報告を抑制します。 -o[ list ] -i オプションを参照してください。 -t すべてのステータス情報を表示します。 -r, -s, -a, -p, -o をすべて指定した場合と同 じです。 -i オプションを参照してください。 セキュリティ上の制約 すべてのキューを参照することができるのは、 lp サブシステム許可または printqueue 二次サブシステム 許可を持つユーザーのみです。許可されていないユーザーは、ユーザーの現在の機密レベル以下の機密レベル を持つ自分のジョブのみを参照することができます。 allowmacaccess 特権は、機密レベルのより高いジョブの参照を可能にします。 例 ジョブが待ち行列に入っているかどうかを確認するには次を実行します。 lpstat ジョブが待ち行列中で何番目にあるかを確認するには次を実行します。 lpstat -t ジョブスケジューラが実行中かどうかを確認するには次のように指定します。 lpstat -r ファイル /var/spool/lp/* /var/adm/lp/* /etc/lp/* /usr/lib/lp/* 参照 enable(1), lp(1), rlpstat(1M) 標準準拠 lpstat: SVID2, SVID3, XPG2, XPG3, XPG4 856 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 ls(1) ls(1) 名称 ls, lc, l, ll, lsf, lsr, lsx − ディレクトリの内容のリスト 構文 ls [−abcdefgilmnopqrstuxACFLR1] [names] lc [−abcdefgilmnopqrstuxACFLR1] [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 と同じ機能を持ちますが、デフォルトでは (リダイレクトした場合も) カラム形式でファ イルの内容が出力されます。 オプション ls は、次のオプションを認識します。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 857 ls(1) ls(1) −a すべてのエントリーをリストします。通常は、名称がピリオド (.) で始まるファイルはリスト されません。 −b 表示できない文字を ¥ddd の形式の8進数で表示します。 −c ソート (−t) または表示 (−l (英字 L の小文字)) の出力について、iノードを最後に変更 (ファ イルの作成、ノードの変更など) した時刻を使用します。 −d 引き数がディレクトリであれば、ディレクトリ名だけをリストします (その内容はリストされ ません)。 −l (英字 L の小文字) オプションと併用して、ディレクトリの状態を確認すること ができます。 −e ファイルのエクステント属性を表示します。エクステント属性を持つファイルに対して、エク ステントサイズ、リザーブされたスペース、および割り当てフラグが表示されます。 −l (英 字 L の小文字)オプションと併用しなければなりません。 −f 引き数をすべてディレクトリとみなし、各引き数の下にある名称をリストします。このオプ ションは、 −l ( 英字 L の小文字), −r, −s, および −t の各オプションを使用不能にし、 −a オプションを使用可能にします。各エントリーは、ディレクトリ内での順序で出力されます。 −g グループ名だけが表示される点を除き、 −l (英字 L の小文字) と同じです (所有者は省略され ます)。 −l (英字 L の小文字) と −g の両方を指定すると、所有者は表示されません。 −i 各ファイルについて、最初のカラムに iノード番号を表示します。また、マルチカラム出力に ついてこのオプションを使用すると、各カラムでファイル名の前に iノード番号が付きます。 −l ( 英字 L の小文字 ) 各ファイルのモード、リンク数、所有者、グループ名、サイズ ( バイト 数)、および最終変更時刻を長い形式でリストします (以降の「説明」および「アクセス制御リ スト」を参照)。ファイルの最終変更時刻から6か月が経過した場合、または未来 (現在点より 先) の時刻になっている場合は、変更の時刻と分の表示に代わって、年数が示されます。ファ イルがスペシャルファイルの場合、サイズのフィールドには、ファイルのバイト数ではなくメ ジャーデバイス番号とマイナーデバイス番号が表示されます。ファイルがシンボリックリンク されている場合、ファイル名とともに、 -> の後にパス名と参照されたファイルが表示されま す。 −m ストリーム形式の出力を指定します。 −n 所有者名とグループ名の代わりに、所有者の UID とグループの GID を表示する点を除き、 −l (英字 L の小文字) と同じです。 −o 所有者だけを表示する点を除き、 −l (英字 L の小文字) と同じです (グループは省略されま す)。 −l (英字 L の小文字) と −o の両方を指定すると、グループは表示されません。 858 −p ファイルがディレクトリであれば、各ファイルの後にスラッシュ (/) を付けます。 −q ファイル名の中にある表示できない文字を強制的に (?) に置き換えて表示します。 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 ls(1) ls(1) −r 必要に応じてソート順を反転させ、名前によって降順、あるいはファイルの古い順から出力し ます。 −s 各エントリーについて、サイズをブロック単位 (間接ブロックも含む) で出力します。最初の エントリーとして、そのディレクトリの総ブロック数が表示されます。このオプションをマル チカラム出力について使用すると、各カラムで、ファイル名の前にブロック数が表示されま す。ファイル内の間接ブロック数はファイルシステムに依存します。 −t ファイル名のアルファベット順によるソートの前に、ファイルの変更時刻順 ( 新しい順) で ソートします。 −u ソート (−t オプション)、または表示 (−l (英字 L の小文字) オプション) の出力について、 ファイルの最終変更時刻ではなく、最終アクセス時刻を使用します。 −x −A ソート済みの各エントリーを横方向にリストしたマルチカラム形式で出力します。 現在のディレクトリ . と1つ上のディレクトリ .. をリストしない点を除き、 −a と同じで す。適切な特権を持っているユーザーの場合、このフラグはデフォルトで ON になっており、 −A によって OFF になります。 −C ソート済みの各エントリーを縦方向にリストしたマルチカラム形式で出力します。 −F 各ファイル名の後に以下の記号を付けます。 • ファイルがディレクトリの場合、またはディレクトリへのシンボリックリンクの場合に は、スラッシュ (/) を付けます。 • 実行可能なファイルであれば、アスタリスク (*) を付けます。 • ファイルが、ファイルに対するシンボリックリンクであれば、単価記号 (@) を付けます。 • ファイルが fifoの場合には、縦線 (|) を付けます。 −L すべてのシンボリックリンク (コマンドライン上で名付けられたものまたは、ファイル階層構 造中に検出されたもの) に対するファイル情報とファイルタイプをファイル自体ではなく、リ ンクの参照先のファイルとして評価します。しかし、ls はリンクの参照先ファイルではな く、リンク自体の名前を書き出します。 -L と -l が一緒に使用される場合、長いフォー マットでシンボリックリンクの内容を書き出します。 −R −1 サブディレクトリを再帰的にリストします。 (数字の1) 出力デバイスにかかわらず、ファイル名をシングルカラム形式でリストします。こ のオプションは、強制的に単一カラム形式でファイル名をリストします。 次のような相互に排他的な複数のオプションのペアを同時に指定してもエラーにはなりません。 −C と −l ( 英字 L の小文字)、 −m と −l (英字 L の小文字)、 −x と −l (英字 L の小文字)、 −C と −1 (数字の1)、 −c と −u。 ls には、次のような指定形式に対応する省略形式のコマンド名も用意されています。 HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 859 ls(1) ls(1) 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 の文字が相互に排他的である場合を除きます。意味は次のとおりです。 860 −r-------- 所有者による読み取り −-w------- 所有者による書き込み −--x------ 所有者による実行(ディレクトリ検索)。ユーザーIDを実行時に設定しません。 −--s------ 所有者による実行/検索。ユーザーIDを実行時に設定します。 −--S------ 所有者による非実行/非検索。ユーザーIDを実行時に設定します。 −---r----- グループによる読み取り −----w---- グループによる書き込み −-----x--- グループによる実行/検索。グループIDを実行時に設定しません。 −-----s--- グループによる実行/検索。グループIDを実行時に設定します。 −-----S--- グループによる非実行/非検索。グループIDを実行時に設定します。 −------r-- その他のユーザーによる読み取り −-------w- その他のユーザーによる書き込み −--------x その他のユーザーによる実行/検索。スティッキービットを実行時に設定しません。 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 ls(1) ls(1) −--------t その他のユーザーによる実行/検索。スティッキービットを実行時に設定します。 −--------T その他のユーザーによる非実行/非検索。スティッキービットを実行時に設定します。 文字モードの意味は次のとおりです。 − 対応するパーミッションが与えられていません。 r 対応するユーザークラスに読み取りパーミッションが与えられています。 w 対応するユーザークラスに書き込みパーミッションが与えられています。 x 対応するユーザークラスに実行 (またはディレクトリ検索) パーミッションが与えられていま す。 s 対応するユーザークラスに実行 (検索) パーミッションが与えられています。設定されている 所有者 ( セットユーザーID (SUID))、またはグループ ( セットグループID (SGID)) によって ファイルが実行されます。 S 対応するユーザークラスに実行 (検索) パーミッションが与えられていません。設定されてい る所有者 (セットユーザーID (SUID))、またはグループ (セットグループID (SGID)) によって ファイルが実行されます。 t その他のユーザーに実行 (検索) パーミッションが与えられています。「スティッキー」(テキ ストイメージを保存) ビットが設定されています。(chmod(2)) の S_ISVTX の説明を参照して ください。) T その他のユーザーに実行 (検索) パーミッションが与えられていません。「スティッキー」(テ キストイメージを保存) ビットが設定されています。 ディレクトリやファイルのサイズをバイトやブロック単位で表示するオプション (−s または −l (英字 L の小 文字)) を指定した場合、リストの先頭にブロック全体の値 (間接ブロックも含む) が表示されます。 アクセス制御リスト (ACL) ファイルにオプションの ACL エントリーがある場合には、 −l (英字 L の小文字) オプションの指定によっ て、ファイルのパーミッションの後に正符号 (+) が表示されます。表示されるパーミッションは、 stat() が st_mode フィールドに返すファイルのアクセス制御リストを要約したものです (stat(2) 参照)。アクセス制御 リストの内容をリストするには、 lsacl コマンドを使用してください (lsacl(1) および acl(5) 参照)。 多言語化対応 環境変数 COLUMNS 変数が設定されていれば、 ls は、指定された幅に基づいてカラム出力の位置を決定します。 LC_ALL および対応する環境変数(先頭が LC_ で始まる)がロケール変数を指定しない場合、 LANG がロケー ルカテゴリで使われるロケール変数を決定します。 LANG が設定されていないかヌルに設定されている場合、 C がデフォルトとして使われます(lang(5) を参照)。 LC_COLLATE は出力のソート順序を決定します。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 861 ls(1) ls(1) LC_CTYPE は、 −b および −q オプションに対して、どの文字を表示できないとみなすかを決定します。ま た、ファイル名をシングルバイトまたはマルチバイトのいずれの文字として解釈するかを決定します。 LC_TIME は、 −g, −l (英字 L の小文字), −n, および −o オプションが出力する日付および時刻文字列を決定 します。 LC_MESSAGES は、日付および時刻文字列以外のメッセージの表示に使用する言語を決定します。 インターナショナル変数のいずれかの設定が不適当な場合には、 ls はすべてのインターナショナル変数が C に設定されているものとして動作します (environ(5) 参照)。 サポートされるコードセット シングル/マルチバイトの文字コードがサポートされています。 戻り値 ls は、次のいずれかの値で終了します。 0 >0 入力ファイルがすべて正しくリストされました。 ファイルへのアクセス時にエラーが生じたので、 ls の実行が中止されました。エラーの原因 は、次のとおりです。 • 指定したファイルが存在しない。 • ユーザーがディレクトリの読み取りパーミッションを持っていない。 • プロセスが十分なメモリーを確保できない。 • 不適当なオプションが指定された。 例 現在のワークディレクトリにあるすべてのファイルについて、ファイルサイズも含む長い形式でリストを出力 します。最後に変更した最新のファイルから新しい順に各ファイルをリストします。 . で始まる名称のファ イルも表示します。 ls −alst 警告 ログイン (tty) デバイスの出力結果に基づいてオプションを決定すると、思わぬ結果をまねくことがありま す。これは、 ls −s と、 ls −s | lp によって示されます。一方、これまで ls を使用していた古いシェ ルスクリプトについて、この設定を使用せずに実行すると、必ず異常終了します。 ファイル名の中に表示できない文字があると、カラム出力に混乱が生ずることがあります。 (−b と −q オプ ションを除く) 制約 NFS ネットワークファイルについては、 −l (英字 L の小文字) オプションを指定しても、アクセス パーミッショ ンビットの後に、オプションのアクセス制御リストの存在を示す正符号 (+) は表示されません。 862 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 ls(1) ls(1) 著者 ls は、AT&T、カリフォルニア大学バークレイ校、および HP によって開発されました。 ファイル /etc/group −l (Lの小文字) および −g のグループID 用 /etc/passwd −l (Lの小文字) および −o のユーザーID 用 /usr/share/lib/terminfo/?/* ターミナル情報用 参照 chmod(1), find(1), getacl(1), lsacl(1), stat(2), acl(5), aclv(5) 標準準拠 ls: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2 HP-UX 11i Version 2: December 2007 −7− Hewlett-Packard Company 863 lsacl(1) lsacl(1) 名称 lsacl − ファイルのアクセス制御リスト(ACL)の表示 構文 /usr/bin/lsacl [-l] file ... 説明 lsacl は、単一または複数のファイルのアクセス制御リスト(ACL)をシンボリックな「短縮」形式で、出力行 1行につき 1ファイルの ACL とファイル名で示します。 ACL 構文については acl(5) を参照してください。 オプション lsacl が認識するオプションは以下のとおりです。 -l ACL を詳細形式でプリントします。各ファイルの ACL は1行を超えてもよく、ファイル名、コ ロン、改行が常に前に付いています。次のファイル名との間は空白行で区切られます。 ハイフン (-) をファイル名引き数として与えると、 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 リストを示します。 864 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 lsacl(1) lsacl(1) lsacl dir/file1 カレントディレクトリにある全ファイルの ACL を詳細形式で示します。 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 2: December 2007 −2− Hewlett-Packard Company 865 m4(1) m4(1) 名称 m4 − マクロプロセッサ 構文 m4 [options] [ file ...] 説明 m4 は、Ratfor、C、および他の言語のフロントエンドとして意図されたマクロプロセッサです。引き数ファ イルはそれぞれ順番に処理されます。ファイルがない場合、またはファイル名が - である場合、標準入力か ら読み込まれます。処理されたテキストは、標準出力に書き出されます。 オプション m4 は以下のオプションを認識します。 -e 対話的に動作します。割り込みは無視され、出力はバッファーリングされません。この モードは上級者向きと言えます。 -s -Bint Cプリプロセッサ (#line ...) に対して行sync出力を許可します。 プッシュバックおよび引き数収集バッファーのサイズをデフォルトの4,096 から変更しま す。 -Hint シンボルテーブル ハッシュ配列のサイズをデフォルトの199から変更します。サイズは素 数となるようにしてください。 -Sint 呼び出しスタックのサイズをデフォルトの100スロットから変更します。マクロは3つのス ロットをとり、非マクロの引き数は1つのスロットをとります。 -Tint トークンバッファーのサイズをデフォルトの512バイトから変更します。 有効にするには、任意のファイル名の前、および任意の -D または -U オプションの前に、上記のオ プションがなければなりません。 -Dname[=val] val がない場合、 name を val またはヌルに定義します。 -Uname name を定義しません。 マクロ呼び出し マクロ呼び出しの形式は以下の通りです。 name(arg1, arg2, ... ,argn) ( はマクロの名前のすぐ後に続かなければなりません。定義したマクロの名前に ( が続いていない場合、そ のマクロを引き数なしで呼び出したと解釈されます。潜在的なマクロ名は、アルファベットの英字、数字、お よびアンダースコア (_) で構成されます。ただし、最初の文字は数字ではありません。 先行する引用符のない空白、タブ、および改行は引き数を取得する際に無視されます。左および右一重引用符 (‘ と ’) は、文字列を引用符で囲むのに使用します。引用符で囲まれた文字列の値は、引用符を外した文字列 866 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 指定した項目、または引き数を与えなければすべての項目に関して、現在の名前および定 義をプリントします。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 867 m4(1) m4(1) errprint eval 診断出力ファイルにその引き数をプリントします。 32ビット演算を使って、算術式としてその引き数を評価します。演算子は +, -, *, /, %, ** (指数), ビットごとの&, |, ˆ, ˜, 関係演算子、およびかっこを含みます。8進数および16進 数が、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 と同一 です。 868 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 m4(1) m4(1) substr その最初の引き数の部分文字列を戻します。第2引き数は、最初の文字を選択する0原点の 数です。第3引き数は、部分文字列の長さを示します。第3の引き数がない場合、最初の文 字列の終端に達するぐらい十分大きいと解釈されます。 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 2: December 2007 −4− Hewlett-Packard Company 869 machid(1) machid(1) 名称 hp9000s200, hp9000s300, hp9000s500, hp9000s800, pdp11, u3b, u3b2, u3b5, u3b10, u370, 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 コンピュータ hp9000s400 シリーズ 400 u3b2 3B2 コンピュータ hp9000s500 シリーズ 500 u3b5 3B5 コンピュータ hp9000s700 シリーズ 700 u3b10 3B10 コンピュータ hp9000s800 シリーズ 800/700 hp-mc680x0 シリーズ 200/300/400 u370 PDP-11/45、 PDP-11/70 IBM System/370 コンピュータ vax VAX-11/750 VAX-11/780 hp-pa 870 Hewlett-Packard Company シリーズ 700/800 −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 871 machinfo(1) machinfo(1) Itanium(R)ベース プロセッサファミリ専用 名称 machinfo − マシン情報の出力 構文 machinfo 説明 machinfo は、そのマシンに関する、有益なデバッグ情報を出力します。この情報には、チップのステッピン グ、ファームウェアのリビジョン、CPUの数、メモリーの量が含まれます。 CPU 情報は、 machinfo コマンドを実行しているプロセッサのみに適用されます。別の CPU で machinfo コマンドを実行すると異なった CPU 情報が表示されます。他のプロセッサに対して machinfo コマンドを 実行するには、 mpsched(1) コマンドを使用します。 参照 getconf(1), mpsched(1), uname(1) 872 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −1− Hewlett-Packard Company 873 mail(1) mail(1) q 削除されていないメールを mailfile に戻し、コマンドの実行を停止します。 EOT (Ctrl-D) q と同じです。 x コマンドの実行を打ち切ります。元の mailfile は変更せずに、コマンドの実行を 停止します。 !command コマンドインタプリタへ抜け出し、 command を実行します。 ? コマンドの要約を表示します。 * ? と同じです。 コマンド行オプション コマンド行で以下に示すオプションを指定すると、メールの表示方法を変更することができます。 + 到着順にメッセージを表示します。 -e メールを表示しないで、次の終了値を戻します。 0 = メールが存在する場合 1 = メールが存在しない場合 2 = 他のエラーが起こった場合 -p 処理方法の入力を促すプロンプトは表示せずに、すべてのメールを表示します。 -q mail の実行を終了します。通常の場合、割り込みは現在のメッセージの表示を終了 するだけです。 -r + と同じです。 -f file mail は、デフォルトの メールファイルの代わりに、 file ( 例えば mbox) で指定され たファイルを用います。 -t 送信されるメッセージの前に、そのメールの宛先である各 person の名前を付けま す。 person は、通常は、 login により認識されるユーザー名です (login(1) 参 照)。メールが送られる person が認識できない場合、あるいは mail が入力中に割 り込まれた場合は、編集および再送信を可能にするため dead.letter というファ イルにセーブされます。 dead.letter は、必要なときはいつでも以前の内容が消 去され再作成されるテンポラリファイルですので注意してください。 -d このオプションは mail コマンドが直接メールを送るようにします。このオプション により、 mail がルーティング決定処理から分離され、ローカル配信のかわりとして 用いることが可能となります。一般に、このオプションは、メールをローカルに配信 する際に自動ルーティング機構により使用されます。 person により名前が指定される場合は、 mail は、標準入力からファイルの終り (または . のみの行) まで を取り込み、それを各 person の mailfile に付け加えます。メッセージの前に、そのメッセージの送信者名と 消印が付けられます。 874 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 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 11i Version 2: December 2007 −3− Hewlett-Packard Company 875 mail(1) mail(1) サポートされるコードセット HP-UX システム間では、メールテキストとして1バイト文字コードおよびマルチバイト文字コードをサポート しています。ヘッダーは7ビットの USASCII コードセット文字のみです ascii(5) 参照)。 警告 条件によっては、ロックファイルの削除が失敗する場合があります。 割り込み後、次のメッセージが表示されない場合があります。その場合、表示させるためには、 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 ファイル 876 /var/mail/*.lock メールディレクトリのロック dead.letter メール不可能なテキスト /tmp/ma* 一時ファイル Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 mail(1) mail(1) $MAIL mailfile のパス名を指定した変数 $HOME/mbox セーブされたメール /etc/passwd メールの発信者の識別およびユーザーの検索用 /var/mail メール受信用ディレクトリ (モードは 775、グループ ID は mail) /var/mail/user 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 2: December 2007 −5− Hewlett-Packard Company 877 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 の場合、その行は省略されます。 878 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 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 2: December 2007 −2− Hewlett-Packard Company 879 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). 880 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 mailq(1) mailq(1) 名称 mailq − メール待ち行列を表示 構文 mailq [-v] 説明 mailq は、後で配信する待ち行列に入っているメールメッセージの要約を出力します。 各メッセージについて出力される先頭行は、このホストでメッセージを識別するために使用する内部識別子、 バイト単位のメッセージのサイズ、メッセージを待ち行列に受け付けた日付と時刻、およびメッセージのエン ベロープ送信者を示します。 2 番目の行は、このメッセージが待ち行列で保持される原因を示すエラーメッ セージです。メッセージが初めて処理される場合には、この行は存在しません。次のステータス文字がありま す。 * ジョブが処理中であることを示します。 X ジョブを処理するには、負荷が高すぎることを示します。 - ジョブを処理するには、若すぎることを示します。 2 行目以降の行は、メッセージ受信者を 1 行に 1 人ずつ示します。 mailq は、 sendmail -bp と同じです。 サポートされているオプションは次のとおりです。 オプション -v 冗長な情報を出力します。これにより、メッセージの優先順位と、メッセージの先頭行で警告メッ セージを送信したかどうかを示す単一文字インジケータ (‘‘+’’ または空白) を出力します。さらに、 「制御ユーザー」情報を示す追加行が受信者と混在することもあります。この情報は、このメッセー ジによって実行されるプログラムの所有者、およびこのコマンドが展開される元の別名 (エイリアス) が存在する場合にはその名称を示します。 戻り値 mailq ユーティリティは正常終了すると 0 を返し、エラーが発生すると >0 で終了します。 著者 mailq はカリフォルニア大学バークレイ校で開発され、4.0BSDで最初に提供されました。 ファイル /var/spool/mqueue/* メール待ち行列ファイル 参照 sendmail(1M) HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 881 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 を読み取ります。 882 Hewlett-Packard Company −1− HP-UX 11i Version 2: December 2007 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 msgsfr bytes_from msgsto bytes_to 0 0 0K 3 4K msgsrej msgsdis 0 0 prog Mailer 3 3 4K 0 0K 0 0 local 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 は、カリフォルニア大学バークレイ校で開発されました。 HP-UX 11i Version 2: December 2007 −2− Hewlett-Packard Company 883 mailstats(1) mailstats(1) ファイル /etc/mail/sendmail.st デフォルトのメールトラフィック統計ファイル /etc/mail/sendmail.cf sendmail構成ファイル 参照 sendmail(1M) 884 Hewlett-Packard Company −3− HP-UX 11i Version 2: December 2007 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 で別名またはグループを宣言して もらい、その別名を使用してください。 HP-UX 11i Version 2: December 2007 −1− Hewlett-Packard Company 885 mailx(1) mailx(1) オプション mailx は以下のコマンド行オプションを認識します。 −e メールが存在するかどうか検査します。読み出すメールがある場合、mailx は何も 表示しないで正常なリターンコードで終了します。ログイン時のメールがあるかどう かチェックするために $HOME/.profile などのログインスクリプトで使用すること もあります。 −f ユーザーのシステムメールボックスの代わりに filename からメッセージを読み出し ます。filename を指定しなければ2次 mbox が使用されます。 −F 最初の受け側の名称を付けたファイルにメッセージを記録します。設定されると 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 の メールボックスを読み出します。のメールボックスへの読み出しアクセスが 読み出し保護されていない場合に限って使用できます。 −U UUCP スタイルのアドレスをインターネット標準に変換します。conv 環境変数を 置き換えます。 −d デバッギング出力をオンにします。特に興味深いものでもなく、お勧めもしません。 メールを読み出す際、mailx は コマンドモードで動作します。最初のいくつかのメッセージのヘッダー要約 が表示され、その後に mailx が正規のコマンドを受け付けることができることを示すプロンプトが表示され ます (以下の「コマンド」を参照)。メールを送信する際、mailx は 入力モードで動作します。コマンド行で 表題を指定しなければ、表題を求めるプロンプトが表示されます。メッセージが入力されると、mailx は メッセージを読み込んでテンポラリファイルに記憶します。コマンドは、単一のコマンド英字、およびオプ ションの引き数が後に続いているティルド (˜) エスケープ文字で行を始めることによって入力できます。これ 886 Hewlett-Packard Company −2− HP-UX 11i Version 2: December 2007 mailx(1) mailx(1) らのコマンドの要約については、「ティルドエスケープ」を参照してください。 mailx の動作は、1組の 環境変数つまり、set および unset コマンドを使って設定、クリアされるフラグお よび値付きパラメータによっていつでも管理されています。これらのパラメータの要約については、以下の 「環境変数」を参照してください。 コマンド行でリストされる受け側は、ログイン名、シェルコマンド、または別名グループの3種類が可能で す。ログイン名は、混在ネットワークアドレッシングを含む任意のネットワークアドレスとすることができま す。受け側名がパイプ記号 (|) から始まる場合、名前の残りは、メッセージを引き渡すシェルコマンドである ものと仮定されます。これにより、発信メールを紙に記録するために、lp (lp(1) を参照) など標準入力を読み 込む任意のプログラムとの自動的なインタフェースが得られます。別名グループは、alias コマンド ( 以下の 「コマンド」を参照) によって設定され、任意のタイプの受け側のリストです。 正規のコマンドの形式は、次のとおりです。 [command] [msglist ] [ arguments ] コマンドモードでコマンドを指定しなければ、print が仮定されます。入力モードでは、コマンドはエスケー プ文字 (escape 環境変数によって再定義されない限り、ティルド) で認識され、コマンドとして処理されな い行はメッセージの入力として処理されます。 各メッセージは一連の番号を割り当てられ、つねにヘッダー要約で > でマークされた 現在のメッセージの表 記があります。多くのコマンドは、動作対象のメッセージ (msglist) のオプションリストをとります。このリ ストのデフォルトは現在のメッセージです。msglist は、スペースで区切ったメッセージ指定のリストです。 メッセージリストには、以下の項目を含めることができます。 n メッセージ番号 n . 現在のメッセージ ˆ 削除されていない最初のメッセージ $ 最後のメッセージ * すべてのメッセージ n−m n は m 以下として、n ∼ m の範囲のメッセージ番号 user user からのすべてのメッセージ /string 表題行に string があるすべてのメッセージ (大文字/小文字の相違は無視) :c タイプ c のすべてのメッセージ。ただし、c は以下のいずれかです。 d 削除したメッセージ n 新しいメッセージ o 以前のメッセージ r 既読のメッセージ HP-UX 11i Version 2: December 2007 −3− Hewlett-Packard Company 887 mailx(1) mailx(1) 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 ファイルで有効です。 = 現在のメッセージ番号を表示します。 ? コマンドの要約を表示します。 newline 次のメッセージおよび print に進みます。これが最初に入力したコマンドならば、最初 の未読メッセージが表示されます (現在のメッセージを読み出すには、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 コマンドと等価です。 888 Hewlett-Packard Company −4− HP-UX 11i Version 2: December 2007 mailx(1) Copy [msglist] mailx(1) 指定されたメッセージをファイルにセーブします。このファイル名はメッセージの著者 によりセーブするよう示されたものです。また、この時メッセージがセーブされたと マークされません。それ以外は 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 変数から取得します (「環境変数」を参照)。デフォルトエ ディターは ed です (ed(1) を参照)。 exit xit メールボックスを変更せずに mailx を終了します。メッセージは、mbox にセーブさ れません (quit を参照)。 file [filename] folder [filename] メッセージのカレントファイルを終了し、指定したファイルに読み込みます。いくつか の特殊文字は、ファイル名として使用するときに認識され、以下のように置換えが行わ れます。 % 現在のメールボックス %user user のメールボックス # 以前のファイル & 現在の mbox デフォルトファイルは現在のメールボックスです。 folders folder 変数 (「環境変数」を参照) によって設定したディレクトリにファイルの名前 を表示します。 HP-UX 11i Version 2: December 2007 −5− Hewlett-Packard Company 889 mailx(1) mailx(1) 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 に保持します。 if s r mail-commands else mail-commands endif 条件付き実行、ただし、s は付随する mail-commands を else まで、プログラムが送 信モードにある場合には endif まで実行します。また、r により、付随する mail-commands は受信モードでのみ実行されます。.mailrc ファイルで使用することを目的と しています。 ignore header-field ... discard header-field ... 画面にメッセージを表示する際、指定したヘッダーフィールドを表示しないようにしま す。無視するヘッダーフィールドには、status および cc などがあります。メッセー ジがセーブされると、すべてのフィールドが含まれます。Print および Type コマンド はこのコマンドに置き換えます。 890 list 利用可能なコマンドをすべて表示します。説明は示されません。 mail name ... メッセージを指定したユーザーに送ります。 Hewlett-Packard Company −6− HP-UX 11i Version 2: December 2007 mailx(1) mbox [msglist] mailx(1) 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] 指定したメッセージをメールボックスに保存します。 Print [msglist] Type [msglist]