link は既存ファイルへのリンクを作成します。symlink は既存ファイルへのシンボリックリンクを作成します。
関数は、次のように呼び出します。
status = link( name1, name2 ) |
|||
INTEGER*4 symlnk status = symlnk( name1, name2 ) |
|||
name1 |
character*n |
入力 |
既存ファイルのパス名 |
name2 |
character*n |
入力 |
ファイル name1 にリンクさせるパス名。 ファイル name2 は、既存ファイルであってはならない。 |
戻り値 |
INTEGER*4 |
出力 |
status=0: 正常 status>0: システムエラーコード |
例 1: link: ファイル tlink.db.data.1 に対して、data1 という名前のリンクを作成します。
demo% cat tlink.f character*34 name1/'tlink.db.data.1'/, name2/'data1'/ integer*4 link, status status = link( name1, name2 ) if ( status .ne. 0 ) stop 'link: error' end demo% f95 tlink.f demo% ls -l data1 data1 : ファイルもディレクトリもありません demo% a.out demo% ls -l data1 -rw-rw-r-- 2 generic 2 8 月 11 日 08:50 data1 demo% |
例 2: symlnk: ファイル tlink.db.data.1 に対して、data1 という名前のシンボリックリンクを作成します。
demo% cat tsymlnk.f character*34 name1/'tlink.db.data.1'/, name2/'data1'/ INTEGER*4 status, symlnk status = symlnk( name1, name2 ) if ( status .ne. 0 ) stop 'symlnk: error' end demo% f95 tsymlnk.f demo% ls -l data1 data1 : ファイルもディレクトリもありません demo% a.out demo% ls -l data1 lrwxrwxrwx 1 generic 15 8 月 11 日 11:09 data1 -> tlink.db.data.1 demo% |
参照: link(2)、symlink(2)、perror(3F)、および unlink(3F)
注意: パス名は、<sys/param.h> で定義されている MAXPATHLEN より長くすることはできません。