'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH ln 1 "2004 年 3 月 25 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 ln \- ファイルへのハードリンクまたはシンボリックリンクの作成 .SH 形式 .LP .nf \fB/usr/bin/ln\fR [\fB-fns\fR] \fIsource_file\fR [\fItarget\fR] .fi .LP .nf \fB/usr/bin/ln\fR [\fB-fns\fR] \fIsource_file\fR... \fItarget\fR .fi .LP .nf \fB/usr/xpg4/bin/ln\fR [\fB-fs\fR] \fIsource_file\fR [\fItarget\fR] .fi .LP .nf \fB/usr/xpg4/bin/ln\fR [\fB-fs\fR] \fIsource_file\fR... \fItarget\fR .fi .SH 機能説明 .sp .LP 前述の 2 つの形式のうち、第 1 の形式の \fBln\fR ユーティリティーは、\fIsource_file\fR が示すファイル用に新しいディレクトリエントリ (リンク) を、\fItarget\fR が示す宛先パスに作成します。\fItarget\fR が省略されると、カレントディレクトリ内にリンクを作成します。最終オペランドが既存のディレクトリを指していなければ、この第 1 の形式の ln 呼び出しと見なされます。オペランドの数が 3 つ以上で、最終オペランドが既存のディレクトリではない場合、エラーとなります。 .sp .LP 第 2 の形式の \fBln\fR ユーティリティーは、\fIsource_file\fR オペランドで示された各ファイル用に新しいディレクトリを、\fItarget\fR が示す既存のディレクトリの宛先パスに作成します。 .sp .LP \fBln\fR ユーティリティーは、ハードリンクとシンボリックリンクの両方を作成できます。ハードリンクはファイルへのポインタで、元のディレクトリエントリと区別されません。ファイルに加えられる変更は、そのファイルの参照にどの名前が使用されたかにかかわらず有効です。ハードリンクは、複数のファイルシステムにまたがることはできません。また、ディレクトリも参照することはできません。 .sp .LP デフォルトでは、\fBln\fR はハードリンクを作成します。\fIsource_file\fR は \fItarget\fR にリンクされます。\fItarget\fR がディレクトリの場合は、\fItarget\fR の中に \fIsource_file\fR という名前の別のファイルが作成され、元の \fIsource_file\fR にリンクされます。 .sp .LP \fItarget\fR がファイルで \fB-f\fR オプションが指定されていない場合は、\fBln\fR は標準エラーに診断メッセージを書き込み、現在の \fIsource_file\fR には何も行わず、ほかの残りの \fIsource_file\fR に処理を進めます。 .sp .LP シンボリックリンクはファイルへの間接的なポインタで、そのディレクトリエントリにはリンク先のファイルの名前が書かれています。シンボリックリンクはファイルシステムをまたぐことができ、またディレクトリを参照することもできます。 .sp .LP \fItarget\fR のアクセス権は \fB-l\fR を付けた \fBls\fR(1) コマンドで表示されるアクセス権とは、異なる場合があります。\fItarget\fR のアクセス権を表示する場合は、\fBls\fR \fB-lL\fR を使用してください。詳細については、\fBstat\fR(2) を参照してください。 .SS "/usr/bin/ln" .sp .LP \fB/usr/bin/ln\fR は、\fItarget\fR のモードが書き込み禁止であった場合、そのモード (\fBchmod\fR(1) を参照) を出力し、応答を要求し、標準入力から 1 行を読み取ります。応答が肯定である場合、アクセス権が与えられていればリンクが行われ、それ以外の場合、コマンドは終了します。 .SS "/usr/xpg4/bin/ln" .sp .LP ハードリンクを作成するときや、リンク元のファイル自体がシンボリックリンクであるとき、リンク先は、シンボリックリンクのオブジェクト自体 (\fIsource_file\fR) へのハードリンクではなく、シンボリックリンクによって参照されているファイルへのハードリンクになります。 .SH オプション .sp .LP 次のオプションは、\fB/usr/bin/ln\fR と \fB/usr/xpg4/bin/ln\fR で指定できます。 .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt \fItarget\fR のモードで書き込みが禁止されていても、ユーザーに問い合わせることをしないリンクファイル。標準入力が端末でない場合、デフォルトはこの設定になっています。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 6n .rt シンボリックリンクを作成します。 .sp \fB-s\fR オプションに 2 つの引数を指定する場合、\fItarget\fR に指定できるのは、既存のディレクトリまたは存在しないファイルです。\fItarget\fR がすでに存在し、ディレクトリでもない場合は、エラーが返されます。ファイル名 \fIsource_file\fR には、あらゆるパス名を指定でき、それは既存のものである必要はありません。既存のパス名にする場合は、ファイルとディレクトリのいずれも指定でき、また、\fItarget\fR とは異なるファイルシステムにあるものを 指定することもできます。\fItarget\fR が既存のディレクトリである場合は、ディレクトリ \fItarget\fR の中に \fIsource_file\fR または \fIsource_file\fR の最後のコンポーネントの名前の付いたファイルが作成されます。このファイルは、\fIsource_file\fR を参照するシンボリックリンクです。\fItarget\fR が存在しない場合は、\fItarget\fR という名前のファイルが作成され、\fIsource_file\fR を参照するシンボリックリンクになります。 .sp \fB-s\fR オプションに 3 つ以上の引数を指定する場合は、\fItarget\fR は既存のディレクトリでなければなりません。既存のディレクトリでない場合は、エラーが返されます。\fIsource_file\fR ごとに、\fItarget\fR の中に \fIsource_file\fR の最後のコンポーネントの名前の付いたリンクが作成されます。新しい \fIsource_file\fR は、それぞれ、元の \fIsource_file\fR へのシンボリックリンクです。ファイルと\fIターゲット\fRは、異なるファイルシステムにあってもかまいません。 .RE .SS "/usr/bin/ln" .sp .LP 次のオプションは、\fB/usr/bin/ln\fR でのみ指定できます。 .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 6n .rt \fItarget\fR が既存のファイルである場合、診断メッセージを標準エラーに書き込んで、残りの \fIsource_file\fR に処理を進めます。\fB-f\fR オプションを使用すると、このオプションは無効になります。これは \fB/usr/bin/ln\fR と \fB/usr/xpg4/bin/ln\fR のデフォルトの動作であるため、指定しても無視されます。 .RE .SH オペランド .sp .LP 次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIsource_file\fR\fR .ad .RS 15n .rt リンクされるファイルのパス名。これは、通常ファイル、特殊ファイルのどちらでもかまいません。\fB-s\fR オプションが指定された場合には、\fIsource_file\fR にはディレクトリを指定することもできます。 .RE .sp .ne 2 .mk .na \fB\fItarget\fR \fR .ad .RS 15n .rt 新しいディレクトリエントリのパス名、または新しいディレクトリエントリが作られる既存ディレクトリのパス名。 .RE .SH 使用法 .sp .LP ファイルが 2G バイト (2^31 バイト) 以上ある場合の \fBln\fR の動作については、\fBlargefile\fR(5) を参照してください。 .SH 環境 .sp .LP \fBln\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 指定されたファイルはすべて正常にリンクされました。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt エラーが発生した。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/ln" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ CSI有効 .TE .SS "/usr/xpg4/bin/ln" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/xopen/xcu4 _ CSI有効 _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SH 関連項目 .sp .LP \fBchmod\fR(1), \fBls\fR(1), \fBstat\fR(2), \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP ディレクトリへのシンボリックリンクは、予想とは異なった動作をする場合があります。シンボリックリンクに対して \fBls\fR(1) を実行すると、指定したディレクトリ中のファイルが表示されますが、一方 \fBls\fR \fB-l\fR はリンク自体の情報を表示します。 .sp .in +2 .nf example% \fBln -s dir link\fR example% \fBls link\fR file1 file2 file3 file4 example% \fBls -l link\fR lrwxrwxrwx 1 user 7 Jan 11 23:27 link -> dir .fi .in -2 .sp .sp .LP \fB/usr/bin/sh\fR または \fB/usr/bin/csh\fR を使用して、シンボリックリンクを介したディレクトリに変更すると (\fBcd\fR(1) 参照)、ファイルシステム中の指定位置に移ることになります。つまり新たな作業ディレクトリの親は、シンボリックリンクの親ではなく、指定されたディレクトリの親になります。これは、\fB/usr/bin/ksh\fR または \fB/usr/xpg4/bin/sh\fR から、\fB-P\fR オプションを付けて \fBcd\fR を実行するときにも発生します。次に示す例で、最終的な作業ディレクトリは \fB/home/user/linktest\fR ではなく \fB/usr\fR である点に注意してください。 .sp .in +2 .nf example% \fBpwd\fR /home/user/linktest example% \fBln -s /usr/tmp symlink\fR example% \fBcd symlink\fR example% \fBcd .\|.\fR example% \fBpwd\fR /usr .fi .in -2 .sp .sp .LP C シェルのユーザーは、\fBcd\fR の代わりに C シェルの組み込みコマンドである \fBpushd\fR や \fBpopd\fR を使えば、ディレクトリ移動がこのように複雑になるのを回避できます。