Sun Studio 12: Fortran ライブラリ・リファレンス

1.4.31 linksymlnk: 既存ファイルへのリンクの作成

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.4.31.1 link: 既存ファイルへのリンクの作成

例 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%

1.4.31.2 symlnk: 既存ファイルへのシンボリックリンクの作成

例 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 より長くすることはできません。